1 #include <petsc-private/linesearchimpl.h> /*I "petscsnes.h" I*/ 2 3 EXTERN_C_BEGIN 4 extern PetscErrorCode SNESLineSearchCreate_Basic(SNESLineSearch); 5 extern PetscErrorCode SNESLineSearchCreate_L2(SNESLineSearch); 6 extern PetscErrorCode SNESLineSearchCreate_CP(SNESLineSearch); 7 extern PetscErrorCode SNESLineSearchCreate_BT(SNESLineSearch); 8 extern PetscErrorCode SNESLineSearchCreate_Shell(SNESLineSearch); 9 EXTERN_C_END 10 11 /* 12 extern PetscErrorCode SNESLineSearchCreate_Cubic(SNESLineSearch); 13 extern PetscErrorCode SNESLineSearchCreate_Quadratic(SNESLineSearch); 14 extern PetscErrorCode SNESLineSearchCreate_BasicNoNorms(SNESLineSearch); 15 extern PetscErrorCode SNESLineSearchCreate_QuadraticSecant(SNESLineSearch); 16 extern PetscErrorCode SNESLineSearchCreate_CriticalSecant(SNESLineSearch); 17 */ 18 19 20 #undef __FUNCT__ 21 #define __FUNCT__ "SNESLineSearchRegisterAll" 22 /*@C 23 SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the SNESLineSearch package. 24 25 Not Collective 26 27 Level: advanced 28 29 .keywords: SNESLineSearch, register, all 30 31 .seealso: SNESLineSearchRegisterDestroy() 32 @*/ 33 PetscErrorCode SNESLineSearchRegisterAll(const char path[]) 34 { 35 PetscErrorCode ierr; 36 37 PetscFunctionBegin; 38 SNESLineSearchRegisterAllCalled = PETSC_TRUE; 39 /* 40 ierr = SNESLineSearchRegisterDynamic(LINESEARCHCUBIC, path,"SNESLineSearchCreate_Cubic", SNESLineSearchCreate_Cubic);CHKERRQ(ierr); 41 42 ierr = SNESLineSearchRegisterDynamic(LINESEARCHQUADRATIC, path,"SNESLineSearchCreate_Quadratic", SNESLineSearchCreate_Quadratic);CHKERRQ(ierr); 43 ierr = SNESLineSearchRegisterDynamic(LINESEARCHCRITICALSECANT, path,"SNESLineSearchCreate_CriticalSecant", SNESLineSearchCreate_CriticalSecant);CHKERRQ(ierr); 44 45 */ 46 ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHSHELL, path,"SNESLineSearchCreate_Shell", SNESLineSearchCreate_Shell);CHKERRQ(ierr); 47 ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHBASIC, path,"SNESLineSearchCreate_Basic", SNESLineSearchCreate_Basic);CHKERRQ(ierr); 48 ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHL2, path,"SNESLineSearchCreate_L2", SNESLineSearchCreate_L2);CHKERRQ(ierr); 49 ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHBT, path,"SNESLineSearchCreate_BT", SNESLineSearchCreate_BT);CHKERRQ(ierr); 50 ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHCP, path,"SNESLineSearchCreate_CP", SNESLineSearchCreate_CP);CHKERRQ(ierr); 51 PetscFunctionReturn(0); 52 } 53 54 #undef __FUNCT__ 55 #define __FUNCT__ "SNESLineSearchRegisterDestroy" 56 PetscErrorCode SNESLineSearchRegisterDestroy(void) 57 { 58 PetscErrorCode ierr; 59 60 PetscFunctionBegin; 61 ierr = PetscFunctionListDestroy(&SNESLineSearchList);CHKERRQ(ierr); 62 63 SNESLineSearchRegisterAllCalled = PETSC_FALSE; 64 PetscFunctionReturn(0); 65 } 66