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