xref: /petsc/src/ts/interface/tsregall.c (revision be1d678a52e6eff2808b2fa31ae986cdbf03c9fe)
1 
2 #include "src/ts/tsimpl.h"     /*I  "petscts.h"  I*/
3 EXTERN_C_BEGIN
4 EXTERN PetscErrorCode TSCreate_Euler(TS);
5 EXTERN PetscErrorCode TSCreate_BEuler(TS);
6 EXTERN PetscErrorCode TSCreate_Pseudo(TS);
7 EXTERN PetscErrorCode TSCreate_PVode(TS);
8 EXTERN PetscErrorCode TSCreate_CN(TS);
9 EXTERN PetscErrorCode TSCreate_Rk(TS);
10 EXTERN_C_END
11 
12 #undef __FUNCT__
13 #define __FUNCT__ "TSRegisterAll"
14 /*@C
15   TSRegisterAll - Registers all of the timesteppers in the TS package.
16 
17   Not Collective
18 
19   Input parameter:
20 . path - The dynamic library path
21 
22   Level: advanced
23 
24 .keywords: TS, timestepper, register, all
25 .seealso: TSCreate(), TSRegister(), TSRegisterDestroy(), TSRegisterDynamic()
26 @*/
27 PetscErrorCode TSRegisterAll(const char path[])
28 {
29   PetscErrorCode ierr;
30 
31   PetscFunctionBegin;
32   TSRegisterAllCalled = PETSC_TRUE;
33 
34   ierr = TSRegisterDynamic(TS_EULER,           path, "TSCreate_Euler", TSCreate_Euler);CHKERRQ(ierr);
35   ierr = TSRegisterDynamic(TS_BEULER,          path, "TSCreate_BEuler",TSCreate_BEuler);CHKERRQ(ierr);
36   ierr = TSRegisterDynamic(TS_CRANK_NICHOLSON, path, "TSCreate_CN", TSCreate_CN);CHKERRQ(ierr);
37   ierr = TSRegisterDynamic(TS_PSEUDO,          path, "TSCreate_Pseudo", TSCreate_Pseudo);CHKERRQ(ierr);
38 #if defined(PETSC_HAVE_PVODE)
39   ierr = TSRegisterDynamic(TS_PVODE,           path, "TSCreate_PVode", TSCreate_PVode);CHKERRQ(ierr);
40 #endif
41   ierr = TSRegisterDynamic(TS_RUNGE_KUTTA,     path, "TSCreate_Rk", TSCreate_Rk);CHKERRQ(ierr);
42   PetscFunctionReturn(0);
43 }
44 
45