1: #include <petsc/private/linesearchimpl.h>
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);
12: /*@C
13: SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the SNESLineSearch package.
15: Not Collective
17: Level: advanced
19: .seealso: SNESLineSearchRegisterDestroy()
20: @*/
21: PetscErrorCode SNESLineSearchRegisterAll(void)
22: {
26: if (SNESLineSearchRegisterAllCalled) return(0);
27: SNESLineSearchRegisterAllCalled = PETSC_TRUE;
28: SNESLineSearchRegister(SNESLINESEARCHSHELL, SNESLineSearchCreate_Shell);
29: SNESLineSearchRegister(SNESLINESEARCHBASIC, SNESLineSearchCreate_Basic);
30: SNESLineSearchRegister(SNESLINESEARCHL2, SNESLineSearchCreate_L2);
31: SNESLineSearchRegister(SNESLINESEARCHBT, SNESLineSearchCreate_BT);
32: SNESLineSearchRegister(SNESLINESEARCHNLEQERR, SNESLineSearchCreate_NLEQERR);
33: SNESLineSearchRegister(SNESLINESEARCHCP, SNESLineSearchCreate_CP);
34: SNESLineSearchRegister(SNESLINESEARCHNCGLINEAR, SNESLineSearchCreate_NCGLinear);
35: return(0);
36: }