1 #include <private/linesearchimpl.h> /*I "petscsnes.h" I*/ 2 3 EXTERN_C_BEGIN 4 extern PetscErrorCode PetscLineSearchCreate_Basic(PetscLineSearch); 5 extern PetscErrorCode PetscLineSearchCreate_L2(PetscLineSearch); 6 extern PetscErrorCode PetscLineSearchCreate_CP(PetscLineSearch); 7 extern PetscErrorCode PetscLineSearchCreate_BT(PetscLineSearch); 8 extern PetscErrorCode PetscLineSearchCreate_Shell(PetscLineSearch); 9 EXTERN_C_END 10 11 /* 12 extern PetscErrorCode PetscLineSearchCreate_Cubic(PetscLineSearch); 13 extern PetscErrorCode PetscLineSearchCreate_Quadratic(PetscLineSearch); 14 extern PetscErrorCode PetscLineSearchCreate_BasicNoNorms(PetscLineSearch); 15 extern PetscErrorCode PetscLineSearchCreate_QuadraticSecant(PetscLineSearch); 16 extern PetscErrorCode PetscLineSearchCreate_CriticalSecant(PetscLineSearch); 17 */ 18 19 20 #undef __FUNCT__ 21 #define __FUNCT__ "PetscLineSearchRegisterAll" 22 /*@C 23 PetscLineSearchRegisterAll - Registers all of the nonlinear solver methods in the PetscLineSearch package. 24 25 Not Collective 26 27 Level: advanced 28 29 .keywords: PetscLineSearch, register, all 30 31 .seealso: PetscLineSearchRegisterDestroy() 32 @*/ 33 PetscErrorCode PetscLineSearchRegisterAll(const char path[]) 34 { 35 PetscErrorCode ierr; 36 37 PetscFunctionBegin; 38 PetscLineSearchRegisterAllCalled = PETSC_TRUE; 39 /* 40 ierr = PetscLineSearchRegisterDynamic(LINESEARCHCUBIC, path,"PetscLineSearchCreate_Cubic", PetscLineSearchCreate_Cubic);CHKERRQ(ierr); 41 42 ierr = PetscLineSearchRegisterDynamic(LINESEARCHQUADRATIC, path,"PetscLineSearchCreate_Quadratic", PetscLineSearchCreate_Quadratic);CHKERRQ(ierr); 43 ierr = PetscLineSearchRegisterDynamic(LINESEARCHCRITICALSECANT, path,"PetscLineSearchCreate_CriticalSecant", PetscLineSearchCreate_CriticalSecant);CHKERRQ(ierr); 44 45 */ 46 ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHSHELL, path,"PetscLineSearchCreate_Shell", PetscLineSearchCreate_Shell);CHKERRQ(ierr); 47 ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHBASIC, path,"PetscLineSearchCreate_Basic", PetscLineSearchCreate_Basic);CHKERRQ(ierr); 48 ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHL2, path,"PetscLineSearchCreate_L2", PetscLineSearchCreate_L2);CHKERRQ(ierr); 49 ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHBT, path,"PetscLineSearchCreate_BT", PetscLineSearchCreate_BT);CHKERRQ(ierr); 50 ierr = PetscLineSearchRegisterDynamic(PETSCLINESEARCHCP, path,"PetscLineSearchCreate_CP", PetscLineSearchCreate_CP);CHKERRQ(ierr); 51 52 PetscFunctionReturn(0); 53 } 54 55 #undef __FUNCT__ 56 #define __FUNCT__ "PetscLineSearchRegisterDestroy" 57 PetscErrorCode PetscLineSearchRegisterDestroy(void) 58 { 59 PetscErrorCode ierr; 60 61 PetscFunctionBegin; 62 ierr = PetscFListDestroy(&PetscLineSearchList);CHKERRQ(ierr); 63 PetscLineSearchRegisterAllCalled = PETSC_FALSE; 64 PetscFunctionReturn(0); 65 } 66