1 #include <private/linesearchimpl.h> /*I "petsclinesearch.h" I*/ 2 3 EXTERN_C_BEGIN 4 extern PetscErrorCode LineSearchCreate_Basic(LineSearch); 5 extern PetscErrorCode LineSearchCreate_L2(LineSearch); 6 extern PetscErrorCode LineSearchCreate_CP(LineSearch); 7 extern PetscErrorCode LineSearchCreate_BT(LineSearch); 8 extern PetscErrorCode LineSearchCreate_Shell(LineSearch); 9 EXTERN_C_END 10 11 /* 12 extern PetscErrorCode LineSearchCreate_Cubic(LineSearch); 13 extern PetscErrorCode LineSearchCreate_Quadratic(LineSearch); 14 extern PetscErrorCode LineSearchCreate_BasicNoNorms(LineSearch); 15 extern PetscErrorCode LineSearchCreate_QuadraticSecant(LineSearch); 16 extern PetscErrorCode LineSearchCreate_CriticalSecant(LineSearch); 17 */ 18 19 20 #undef __FUNCT__ 21 #define __FUNCT__ "LineSearchRegisterAll" 22 /*@C 23 LineSearchRegisterAll - Registers all of the nonlinear solver methods in the LineSearch package. 24 25 Not Collective 26 27 Level: advanced 28 29 .keywords: LineSearch, register, all 30 31 .seealso: LineSearchRegisterDestroy() 32 @*/ 33 PetscErrorCode LineSearchRegisterAll(const char path[]) 34 { 35 PetscErrorCode ierr; 36 37 PetscFunctionBegin; 38 LineSearchRegisterAllCalled = PETSC_TRUE; 39 /* 40 ierr = LineSearchRegisterDynamic(LINESEARCHCUBIC, path,"LineSearchCreate_Cubic", LineSearchCreate_Cubic);CHKERRQ(ierr); 41 42 ierr = LineSearchRegisterDynamic(LINESEARCHQUADRATIC, path,"LineSearchCreate_Quadratic", LineSearchCreate_Quadratic);CHKERRQ(ierr); 43 ierr = LineSearchRegisterDynamic(LINESEARCHCRITICALSECANT, path,"LineSearchCreate_CriticalSecant", LineSearchCreate_CriticalSecant);CHKERRQ(ierr); 44 45 */ 46 ierr = LineSearchRegisterDynamic(LINESEARCHSHELL, path,"LineSearchCreate_Shell", LineSearchCreate_Shell);CHKERRQ(ierr); 47 ierr = LineSearchRegisterDynamic(LINESEARCHBASIC, path,"LineSearchCreate_Basic", LineSearchCreate_Basic);CHKERRQ(ierr); 48 ierr = LineSearchRegisterDynamic(LINESEARCHL2, path,"LineSearchCreate_L2", LineSearchCreate_L2);CHKERRQ(ierr); 49 ierr = LineSearchRegisterDynamic(LINESEARCHBT, path,"LineSearchCreate_BT", LineSearchCreate_BT);CHKERRQ(ierr); 50 ierr = LineSearchRegisterDynamic(LINESEARCHCP, path,"LineSearchCreate_CP", LineSearchCreate_CP);CHKERRQ(ierr); 51 52 PetscFunctionReturn(0); 53 } 54 55 #undef __FUNCT__ 56 #define __FUNCT__ "LineSearchRegisterDestroy" 57 PetscErrorCode LineSearchRegisterDestroy(void) 58 { 59 PetscErrorCode ierr; 60 61 PetscFunctionBegin; 62 ierr = PetscFListDestroy(&LineSearchList);CHKERRQ(ierr); 63 LineSearchRegisterAllCalled = PETSC_FALSE; 64 PetscFunctionReturn(0); 65 } 66