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