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