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