xref: /petsc/src/snes/linesearch/interface/linesearchregi.c (revision 3ba1676111f5c958fe6c2729b46ca4d523958bb3)
1af0996ceSBarry Smith #include <petsc/private/linesearchimpl.h> /*I  "petscsnes.h"  I*/
2bf7f4e0aSPeter Brune 
38cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Basic(SNESLineSearch);
48cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_L2(SNESLineSearch);
58cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_CP(SNESLineSearch);
68cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_BT(SNESLineSearch);
7d4c6564cSPatrick Farrell PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NLEQERR(SNESLineSearch);
88cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Shell(SNESLineSearch);
9b5badacbSBarry Smith PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NCGLinear(SNESLineSearch);
10bf7f4e0aSPeter Brune 
11bf7f4e0aSPeter Brune /*@C
12f6dfbefdSBarry Smith    SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the `SNESLineSearch` package.
13bf7f4e0aSPeter Brune 
14bf7f4e0aSPeter Brune    Not Collective
15bf7f4e0aSPeter Brune 
16bf7f4e0aSPeter Brune    Level: advanced
17bf7f4e0aSPeter Brune 
18f6dfbefdSBarry Smith .seealso: `SNESLineSearchRegister()`, `SNESLineSearchRegisterDestroy()`
19bf7f4e0aSPeter Brune @*/
20d71ae5a4SJacob Faibussowitsch PetscErrorCode SNESLineSearchRegisterAll(void)
21d71ae5a4SJacob Faibussowitsch {
22bf7f4e0aSPeter Brune   PetscFunctionBegin;
23*3ba16761SJacob Faibussowitsch   if (SNESLineSearchRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
24f1c6b773SPeter Brune   SNESLineSearchRegisterAllCalled = PETSC_TRUE;
259566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHSHELL, SNESLineSearchCreate_Shell));
269566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHBASIC, SNESLineSearchCreate_Basic));
270b00b554SBarry Smith   PetscCall(SNESLineSearchRegister(SNESLINESEARCHNONE, SNESLineSearchCreate_Basic));
289566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHL2, SNESLineSearchCreate_L2));
299566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHBT, SNESLineSearchCreate_BT));
309566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHNLEQERR, SNESLineSearchCreate_NLEQERR));
319566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHCP, SNESLineSearchCreate_CP));
329566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHNCGLINEAR, SNESLineSearchCreate_NCGLinear));
33*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
34bf7f4e0aSPeter Brune }
35