1 #include <petsc/private/linesearchimpl.h> /*I "petscsnes.h" I*/ 2 3 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Basic(SNESLineSearch); 4 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_L2(SNESLineSearch); 5 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_CP(SNESLineSearch); 6 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_BT(SNESLineSearch); 7 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NLEQERR(SNESLineSearch); 8 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Shell(SNESLineSearch); 9 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NCGLinear(SNESLineSearch); 10 11 /*@C 12 SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the `SNESLineSearch` package. 13 14 Not Collective 15 16 Level: advanced 17 18 .seealso: `SNESLineSearchRegister()`, `SNESLineSearchRegisterDestroy()` 19 @*/ 20 PetscErrorCode SNESLineSearchRegisterAll(void) 21 { 22 PetscFunctionBegin; 23 if (SNESLineSearchRegisterAllCalled) PetscFunctionReturn(0); 24 SNESLineSearchRegisterAllCalled = PETSC_TRUE; 25 PetscCall(SNESLineSearchRegister(SNESLINESEARCHSHELL, SNESLineSearchCreate_Shell)); 26 PetscCall(SNESLineSearchRegister(SNESLINESEARCHBASIC, SNESLineSearchCreate_Basic)); 27 PetscCall(SNESLineSearchRegister(SNESLINESEARCHNONE, SNESLineSearchCreate_Basic)); 28 PetscCall(SNESLineSearchRegister(SNESLINESEARCHL2, SNESLineSearchCreate_L2)); 29 PetscCall(SNESLineSearchRegister(SNESLINESEARCHBT, SNESLineSearchCreate_BT)); 30 PetscCall(SNESLineSearchRegister(SNESLINESEARCHNLEQERR, SNESLineSearchCreate_NLEQERR)); 31 PetscCall(SNESLineSearchRegister(SNESLINESEARCHCP, SNESLineSearchCreate_CP)); 32 PetscCall(SNESLineSearchRegister(SNESLINESEARCHNCGLINEAR, SNESLineSearchCreate_NCGLinear)); 33 PetscFunctionReturn(0); 34 } 35