xref: /petsc/src/ts/interface/tsregall.c (revision 074cc835faa3d6c800494dd2ea2bd8f95d70c354)
1 
2 #include <private/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_Sundials(TS);
8 extern PetscErrorCode  TSCreate_CN(TS);
9 extern PetscErrorCode  TSCreate_Theta(TS);
10 extern PetscErrorCode  TSCreate_Alpha(TS);
11 extern PetscErrorCode  TSCreate_GL(TS);
12 extern PetscErrorCode  TSCreate_SSP(TS);
13 extern PetscErrorCode  TSCreate_RK(TS);
14 extern PetscErrorCode  TSCreate_ARKIMEX(TS);
15 #if defined(PETSC_HAVE_ROSW)
16 extern PetscErrorCode  TSCreate_RosW(TS);
17 #endif
18 EXTERN_C_END
19 
20 #undef __FUNCT__
21 #define __FUNCT__ "TSRegisterAll"
22 /*@C
23   TSRegisterAll - Registers all of the timesteppers in the TS package.
24 
25   Not Collective
26 
27   Input parameter:
28 . path - The dynamic library path
29 
30   Level: advanced
31 
32 .keywords: TS, timestepper, register, all
33 .seealso: TSCreate(), TSRegister(), TSRegisterDestroy(), TSRegisterDynamic()
34 @*/
35 PetscErrorCode  TSRegisterAll(const char path[])
36 {
37   PetscErrorCode ierr;
38 
39   PetscFunctionBegin;
40   TSRegisterAllCalled = PETSC_TRUE;
41 
42   ierr = TSRegisterDynamic(TSEULER,           path, "TSCreate_Euler",    TSCreate_Euler);CHKERRQ(ierr);
43   ierr = TSRegisterDynamic(TSBEULER,          path, "TSCreate_BEuler",   TSCreate_BEuler);CHKERRQ(ierr);
44   ierr = TSRegisterDynamic(TSCN,              path, "TSCreate_CN",       TSCreate_CN);CHKERRQ(ierr);
45   ierr = TSRegisterDynamic(TSPSEUDO,          path, "TSCreate_Pseudo",   TSCreate_Pseudo);CHKERRQ(ierr);
46   ierr = TSRegisterDynamic(TSGL,              path, "TSCreate_GL",       TSCreate_GL);CHKERRQ(ierr);
47   ierr = TSRegisterDynamic(TSSSP,             path, "TSCreate_SSP",      TSCreate_SSP);CHKERRQ(ierr);
48   ierr = TSRegisterDynamic(TSTHETA,           path, "TSCreate_Theta",    TSCreate_Theta);CHKERRQ(ierr);
49   ierr = TSRegisterDynamic(TSALPHA,           path, "TSCreate_Alpha",    TSCreate_Alpha);CHKERRQ(ierr);
50 #if defined(PETSC_HAVE_SUNDIALS)
51   ierr = TSRegisterDynamic(TSSUNDIALS,        path, "TSCreate_Sundials", TSCreate_Sundials);CHKERRQ(ierr);
52 #endif
53   ierr = TSRegisterDynamic(TSRK,              path, "TSCreate_RK",       TSCreate_RK);CHKERRQ(ierr);
54   ierr = TSRegisterDynamic(TSARKIMEX,         path, "TSCreate_ARKIMEX",  TSCreate_ARKIMEX);CHKERRQ(ierr);
55 #if defined(PETSC_HAVE_ROSW)
56   ierr = TSRegisterDynamic(TSROSW,            path, "TSCreate_RosW",     TSCreate_RosW);CHKERRQ(ierr);
57 #endif
58   PetscFunctionReturn(0);
59 }
60 
61