xref: /petsc/src/ts/interface/tsregall.c (revision 3a40ed3dce77c081171d005ae1a6ff4bb9d13b6f)
1 #ifdef PETSC_RCS_HEADER
2 static char vcid[] = "$Id: tsregall.c,v 1.11 1997/08/22 15:16:35 bsmith Exp bsmith $";
3 #endif
4 
5 #include "src/ts/tsimpl.h"     /*I  "ts.h"  I*/
6 extern int TSCreate_Euler(TS);
7 extern int TSCreate_BEuler(TS);
8 extern int TSCreate_Pseudo(TS);
9 extern int TSCreate_PVode(TS);
10 
11 #undef __FUNC__
12 #define __FUNC__ "TSRegisterAll"
13 /*@C
14   TSRegisterAll - Registers all of the timesteppers in the TS
15   package.
16 
17   Adding new methods:
18   To add a new method to the registry copy this routine and modify
19   it to incorporate a call to TSRegister() for the new method.
20 
21   Restricting the choices:
22   To prevent all of the methods from being registered and thus
23   save memory, copy this routine and modify it to register only
24   those methods you desire.  Make sure that the replacement routine
25   is linked before libpetscts.a.
26 
27 .keywords: TS, timestepper, register, all
28 
29 .seealso: TSRegister(), TSRegisterDestroy()
30 @*/
31 int TSRegisterAll()
32 {
33   PetscFunctionBegin;
34   TSRegisterAllCalled = 1;
35 
36   TSRegister(TS_EULER,         0,"euler",      TSCreate_Euler);
37   TSRegister(TS_BEULER,        0,"beuler",     TSCreate_BEuler);
38   TSRegister(TS_PSEUDO,        0,"pseudo",     TSCreate_Pseudo);
39 #if defined(HAVE_PVODE) && !defined(__cplusplus)
40   TSRegister(TS_PVODE,         0,"pvode",      TSCreate_PVode);
41 #endif
42   PetscFunctionReturn(0);
43 }
44