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