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