xref: /petsc/src/snes/interface/snesregi.c (revision 84cb2905a512499b542fd30cf471a05f503d96d2)
1 #ifndef lint
2 static char vcid[] = "$Id: snesregi.c,v 1.15 1997/01/06 20:29:45 balay Exp bsmith $";
3 #endif
4 
5 #include "src/snes/snesimpl.h"     /*I  "snes.h"  I*/
6 extern int SNESCreate_EQ_LS(SNES);
7 extern int SNESCreate_EQ_TR(SNES);
8 extern int SNESCreate_UM_TR(SNES);
9 extern int SNESCreate_UM_LS(SNES);
10 extern int SNESCreate_Test(SNES);
11 
12 #undef __FUNC__
13 #define __FUNC__ "SNESRegisterAll"
14 /*@C
15   SNESRegisterAll - Registers all of the nonlinear solvers in the SNES
16   package.
17 
18   Adding new methods:
19   To add a new method to the registry
20 $     Copy this routine and modify it to incorporate
21 $     a call to SNESRegister() for the new method.
22 
23   Restricting the choices:
24   To prevent all of the methods from being registered and thus
25   save memory, copy this routine and modify it to register only
26   those methods you desire.  Make sure that the replacement routine
27   is linked before libpetscsnes.a.
28 
29 .keywords: SNES, nonlinear, register, all
30 
31 .seealso: SNESRegister(), SNESRegisterDestroy()
32 @*/
33 int SNESRegisterAll()
34 {
35   SNESRegisterAllCalled = 1;
36   SNESRegister(SNES_EQ_LS,         0,"ls",      SNESCreate_EQ_LS);
37   SNESRegister(SNES_EQ_TR,         0,"tr",      SNESCreate_EQ_TR);
38   SNESRegister(SNES_EQ_TEST,       0,"test",    SNESCreate_Test);
39   SNESRegister(SNES_UM_TR,         0,"umtr",    SNESCreate_UM_TR);
40   SNESRegister(SNES_UM_LS,         0,"umls",    SNESCreate_UM_LS);
41   return 0;
42 }
43