xref: /petsc/src/snes/linesearch/interface/linesearchregi.c (revision 22c1e704c10839b31eeabd52ee9fb7d359421c3f)
1 #include <private/linesearchimpl.h>     /*I  "petsclinesearch.h"  I*/
2 
3 EXTERN_C_BEGIN
4 extern PetscErrorCode  LineSearchCreate_Basic(LineSearch);
5 extern PetscErrorCode  LineSearchCreate_L2(LineSearch);
6 EXTERN_C_END
7 
8 /*
9 extern PetscErrorCode  LineSearchCreate_Cubic(LineSearch);
10 extern PetscErrorCode  LineSearchCreate_Quadratic(LineSearch);
11 extern PetscErrorCode  LineSearchCreate_BasicNoNorms(LineSearch);
12 extern PetscErrorCode  LineSearchCreate_Shell(LineSearch);
13 extern PetscErrorCode  LineSearchCreate_QuadraticSecant(LineSearch);
14 extern PetscErrorCode  LineSearchCreate_CriticalSecant(LineSearch);
15  */
16 
17 
18 #undef __FUNCT__
19 #define __FUNCT__ "LineSearchRegisterAll"
20 /*@C
21    LineSearchRegisterAll - Registers all of the nonlinear solver methods in the LineSearch package.
22 
23    Not Collective
24 
25    Level: advanced
26 
27 .keywords: LineSearch, register, all
28 
29 .seealso:  LineSearchRegisterDestroy()
30 @*/
31 PetscErrorCode LineSearchRegisterAll(const char path[])
32 {
33   PetscErrorCode ierr;
34 
35   PetscFunctionBegin;
36   LineSearchRegisterAllCalled = PETSC_TRUE;
37   /*
38   ierr = LineSearchRegisterDynamic(LINESEARCHCUBIC,             path,"LineSearchCreate_Cubic",             LineSearchCreate_Cubic);CHKERRQ(ierr);
39 
40   ierr = LineSearchRegisterDynamic(LINESEARCHQUADRATIC,         path,"LineSearchCreate_Quadratic",         LineSearchCreate_Quadratic);CHKERRQ(ierr);
41   ierr = LineSearchRegisterDynamic(LINESEARCHCRITICALSECANT,    path,"LineSearchCreate_CriticalSecant",    LineSearchCreate_CriticalSecant);CHKERRQ(ierr);
42   ierr = LineSearchRegisterDynamic(LINESEARCHSHELL,             path,"LineSearchCreate_Shell",             LineSearchCreate_Shell);CHKERRQ(ierr);
43 
44    */
45   ierr = LineSearchRegisterDynamic(LINESEARCHBASIC,             path,"LineSearchCreate_Basic",             LineSearchCreate_Basic);CHKERRQ(ierr);
46   ierr = LineSearchRegisterDynamic(LINESEARCHL2,                path,"LineSearchCreate_L2",                LineSearchCreate_L2);CHKERRQ(ierr);
47 
48   PetscFunctionReturn(0);
49 }
50 
51 #undef __FUNCT__
52 #define __FUNCT__ "LineSearchRegisterDestroy"
53 PetscErrorCode  LineSearchRegisterDestroy(void)
54 {
55   PetscErrorCode ierr;
56 
57   PetscFunctionBegin;
58   ierr = PetscFListDestroy(&LineSearchList);CHKERRQ(ierr);
59   LineSearchRegisterAllCalled = PETSC_FALSE;
60   PetscFunctionReturn(0);
61 }
62