xref: /petsc/src/snes/linesearch/interface/linesearchregi.c (revision b5badacbac4d8a94e47e77e2dc019ace23ae16bb)
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);
9*b5badacbSBarry Smith PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NCGLinear(SNESLineSearch);
10bf7f4e0aSPeter Brune 
11bf7f4e0aSPeter Brune 
12bf7f4e0aSPeter Brune /*@C
13f1c6b773SPeter Brune    SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the SNESLineSearch package.
14bf7f4e0aSPeter Brune 
15bf7f4e0aSPeter Brune    Not Collective
16bf7f4e0aSPeter Brune 
17bf7f4e0aSPeter Brune    Level: advanced
18bf7f4e0aSPeter Brune 
19f1c6b773SPeter Brune .seealso:  SNESLineSearchRegisterDestroy()
20bf7f4e0aSPeter Brune @*/
21607a6623SBarry Smith PetscErrorCode SNESLineSearchRegisterAll(void)
22bf7f4e0aSPeter Brune {
23bf7f4e0aSPeter Brune   PetscErrorCode ierr;
24bf7f4e0aSPeter Brune 
25bf7f4e0aSPeter Brune   PetscFunctionBegin;
260f51fdf8SToby Isaac   if (SNESLineSearchRegisterAllCalled) PetscFunctionReturn(0);
27f1c6b773SPeter Brune   SNESLineSearchRegisterAllCalled = PETSC_TRUE;
28bdf89e91SBarry Smith   ierr = SNESLineSearchRegister(SNESLINESEARCHSHELL,     SNESLineSearchCreate_Shell);CHKERRQ(ierr);
29bdf89e91SBarry Smith   ierr = SNESLineSearchRegister(SNESLINESEARCHBASIC,     SNESLineSearchCreate_Basic);CHKERRQ(ierr);
30bdf89e91SBarry Smith   ierr = SNESLineSearchRegister(SNESLINESEARCHL2,        SNESLineSearchCreate_L2);CHKERRQ(ierr);
31bdf89e91SBarry Smith   ierr = SNESLineSearchRegister(SNESLINESEARCHBT,        SNESLineSearchCreate_BT);CHKERRQ(ierr);
32d4c6564cSPatrick Farrell   ierr = SNESLineSearchRegister(SNESLINESEARCHNLEQERR,   SNESLineSearchCreate_NLEQERR);CHKERRQ(ierr);
33bdf89e91SBarry Smith   ierr = SNESLineSearchRegister(SNESLINESEARCHCP,        SNESLineSearchCreate_CP);CHKERRQ(ierr);
34*b5badacbSBarry Smith   ierr = SNESLineSearchRegister(SNESLINESEARCHNCGLINEAR, SNESLineSearchCreate_NCGLinear);CHKERRQ(ierr);
35bf7f4e0aSPeter Brune   PetscFunctionReturn(0);
36bf7f4e0aSPeter Brune }
37bf7f4e0aSPeter Brune 
38