1*9e764e56SPeter Brune #include <private/linesearchimpl.h> /*I "petscsnes.h" I*/ 2bf7f4e0aSPeter Brune 3bf7f4e0aSPeter Brune EXTERN_C_BEGIN 46188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_Basic(PetscLineSearch); 56188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_L2(PetscLineSearch); 66188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_CP(PetscLineSearch); 76188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_BT(PetscLineSearch); 86188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_Shell(PetscLineSearch); 9bf7f4e0aSPeter Brune EXTERN_C_END 10bf7f4e0aSPeter Brune 11bf7f4e0aSPeter Brune /* 126188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_Cubic(PetscLineSearch); 136188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_Quadratic(PetscLineSearch); 146188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_BasicNoNorms(PetscLineSearch); 156188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_QuadraticSecant(PetscLineSearch); 166188f407SPeter Brune extern PetscErrorCode PetscLineSearchCreate_CriticalSecant(PetscLineSearch); 17bf7f4e0aSPeter Brune */ 18bf7f4e0aSPeter Brune 19bf7f4e0aSPeter Brune 20bf7f4e0aSPeter Brune #undef __FUNCT__ 216188f407SPeter Brune #define __FUNCT__ "PetscLineSearchRegisterAll" 22bf7f4e0aSPeter Brune /*@C 236188f407SPeter Brune PetscLineSearchRegisterAll - Registers all of the nonlinear solver methods in the PetscLineSearch package. 24bf7f4e0aSPeter Brune 25bf7f4e0aSPeter Brune Not Collective 26bf7f4e0aSPeter Brune 27bf7f4e0aSPeter Brune Level: advanced 28bf7f4e0aSPeter Brune 296188f407SPeter Brune .keywords: PetscLineSearch, register, all 30bf7f4e0aSPeter Brune 316188f407SPeter Brune .seealso: PetscLineSearchRegisterDestroy() 32bf7f4e0aSPeter Brune @*/ 336188f407SPeter Brune PetscErrorCode PetscLineSearchRegisterAll(const char path[]) 34bf7f4e0aSPeter Brune { 35bf7f4e0aSPeter Brune PetscErrorCode ierr; 36bf7f4e0aSPeter Brune 37bf7f4e0aSPeter Brune PetscFunctionBegin; 386188f407SPeter Brune PetscLineSearchRegisterAllCalled = PETSC_TRUE; 39bf7f4e0aSPeter Brune /* 406188f407SPeter Brune ierr = PetscLineSearchRegisterDynamic(LINESEARCHCUBIC, path,"PetscLineSearchCreate_Cubic", PetscLineSearchCreate_Cubic);CHKERRQ(ierr); 41bf7f4e0aSPeter Brune 426188f407SPeter Brune ierr = PetscLineSearchRegisterDynamic(LINESEARCHQUADRATIC, path,"PetscLineSearchCreate_Quadratic", PetscLineSearchCreate_Quadratic);CHKERRQ(ierr); 436188f407SPeter Brune ierr = PetscLineSearchRegisterDynamic(LINESEARCHCRITICALSECANT, path,"PetscLineSearchCreate_CriticalSecant", PetscLineSearchCreate_CriticalSecant);CHKERRQ(ierr); 44bf7f4e0aSPeter Brune 45bf7f4e0aSPeter Brune */ 466188f407SPeter Brune ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHSHELL, path,"PetscLineSearchCreate_Shell", PetscLineSearchCreate_Shell);CHKERRQ(ierr); 476188f407SPeter Brune ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHBASIC, path,"PetscLineSearchCreate_Basic", PetscLineSearchCreate_Basic);CHKERRQ(ierr); 486188f407SPeter Brune ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHL2, path,"PetscLineSearchCreate_L2", PetscLineSearchCreate_L2);CHKERRQ(ierr); 496188f407SPeter Brune ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHBT, path,"PetscLineSearchCreate_BT", PetscLineSearchCreate_BT);CHKERRQ(ierr); 506188f407SPeter Brune ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHCP, path,"PetscLineSearchCreate_CP", PetscLineSearchCreate_CP);CHKERRQ(ierr); 51bf7f4e0aSPeter Brune 52bf7f4e0aSPeter Brune PetscFunctionReturn(0); 53bf7f4e0aSPeter Brune } 54bf7f4e0aSPeter Brune 55bf7f4e0aSPeter Brune #undef __FUNCT__ 566188f407SPeter Brune #define __FUNCT__ "PetscLineSearchRegisterDestroy" 576188f407SPeter Brune PetscErrorCode PetscLineSearchRegisterDestroy(void) 58bf7f4e0aSPeter Brune { 59bf7f4e0aSPeter Brune PetscErrorCode ierr; 60bf7f4e0aSPeter Brune 61bf7f4e0aSPeter Brune PetscFunctionBegin; 626188f407SPeter Brune ierr = PetscFListDestroy(&PetscLineSearchList);CHKERRQ(ierr); 636188f407SPeter Brune PetscLineSearchRegisterAllCalled = PETSC_FALSE; 64bf7f4e0aSPeter Brune PetscFunctionReturn(0); 65bf7f4e0aSPeter Brune } 66