xref: /petsc/src/snes/linesearch/interface/linesearchregi.c (revision 9566063d113dddea24716c546802770db7481bc0)
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
12f1c6b773SPeter Brune    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 
18f1c6b773SPeter Brune .seealso:  SNESLineSearchRegisterDestroy()
19bf7f4e0aSPeter Brune @*/
20607a6623SBarry Smith PetscErrorCode SNESLineSearchRegisterAll(void)
21bf7f4e0aSPeter Brune {
22bf7f4e0aSPeter Brune   PetscFunctionBegin;
230f51fdf8SToby Isaac   if (SNESLineSearchRegisterAllCalled) PetscFunctionReturn(0);
24f1c6b773SPeter Brune   SNESLineSearchRegisterAllCalled = PETSC_TRUE;
25*9566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHSHELL,     SNESLineSearchCreate_Shell));
26*9566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHBASIC,     SNESLineSearchCreate_Basic));
27*9566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHL2,        SNESLineSearchCreate_L2));
28*9566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHBT,        SNESLineSearchCreate_BT));
29*9566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHNLEQERR,   SNESLineSearchCreate_NLEQERR));
30*9566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHCP,        SNESLineSearchCreate_CP));
31*9566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister(SNESLINESEARCHNCGLINEAR, SNESLineSearchCreate_NCGLinear));
32bf7f4e0aSPeter Brune   PetscFunctionReturn(0);
33bf7f4e0aSPeter Brune }
34