xref: /petsc/src/ts/interface/tsregall.c (revision 487a658c8b32ba712a1dc8280daad2fd70c1dcd9)
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_Radau5(TS);
8 PETSC_EXTERN PetscErrorCode TSCreate_CN(TS);
9 PETSC_EXTERN PetscErrorCode TSCreate_Theta(TS);
10 PETSC_EXTERN PetscErrorCode TSCreate_Alpha(TS);
11 PETSC_EXTERN PetscErrorCode TSCreate_Alpha2(TS);
12 PETSC_EXTERN PetscErrorCode TSCreate_GLLE(TS);
13 PETSC_EXTERN PetscErrorCode TSCreate_SSP(TS);
14 PETSC_EXTERN PetscErrorCode TSCreate_RK(TS);
15 PETSC_EXTERN PetscErrorCode TSCreate_ARKIMEX(TS);
16 PETSC_EXTERN PetscErrorCode TSCreate_RosW(TS);
17 PETSC_EXTERN PetscErrorCode TSCreate_EIMEX(TS);
18 PETSC_EXTERN PetscErrorCode TSCreate_Mimex(TS);
19 PETSC_EXTERN PetscErrorCode TSCreate_BDF(TS);
20 PETSC_EXTERN PetscErrorCode TSCreate_GLEE(TS);
21 PETSC_EXTERN PetscErrorCode TSCreate_BSI(TS);
22 
23 /*@C
24   TSRegisterAll - Registers all of the timesteppers in the TS package.
25 
26   Not Collective
27 
28   Input parameter:
29 . path - The dynamic library path
30 
31   Level: advanced
32 
33 .keywords: TS, timestepper, register, all
34 .seealso: TSCreate(), TSRegister(), TSRegisterDestroy()
35 @*/
36 PetscErrorCode  TSRegisterAll(void)
37 {
38   PetscErrorCode ierr;
39 
40   PetscFunctionBegin;
41   if (TSRegisterAllCalled) PetscFunctionReturn(0);
42   TSRegisterAllCalled = PETSC_TRUE;
43 
44   ierr = TSRegister(TSEULER,    TSCreate_Euler);CHKERRQ(ierr);
45   ierr = TSRegister(TSBEULER,   TSCreate_BEuler);CHKERRQ(ierr);
46   ierr = TSRegister(TSCN,       TSCreate_CN);CHKERRQ(ierr);
47   ierr = TSRegister(TSPSEUDO,   TSCreate_Pseudo);CHKERRQ(ierr);
48   ierr = TSRegister(TSGLLE,     TSCreate_GLLE);CHKERRQ(ierr);
49   ierr = TSRegister(TSSSP,      TSCreate_SSP);CHKERRQ(ierr);
50   ierr = TSRegister(TSTHETA,    TSCreate_Theta);CHKERRQ(ierr);
51   ierr = TSRegister(TSALPHA,    TSCreate_Alpha);CHKERRQ(ierr);
52   ierr = TSRegister(TSALPHA2,   TSCreate_Alpha2);CHKERRQ(ierr);
53 #if defined(PETSC_HAVE_SUNDIALS)
54   ierr = TSRegister(TSSUNDIALS, TSCreate_Sundials);CHKERRQ(ierr);
55 #endif
56 #if defined(PETSC_HAVE_RADAU5)
57   ierr = TSRegister(TSRADAU5,   TSCreate_Radau5);CHKERRQ(ierr);
58 #endif
59   ierr = TSRegister(TSRK,       TSCreate_RK);CHKERRQ(ierr);
60   ierr = TSRegister(TSGLEE,     TSCreate_GLEE);CHKERRQ(ierr);
61   ierr = TSRegister(TSARKIMEX,  TSCreate_ARKIMEX);CHKERRQ(ierr);
62   ierr = TSRegister(TSROSW,     TSCreate_RosW);CHKERRQ(ierr);
63   ierr = TSRegister(TSEIMEX,    TSCreate_EIMEX);CHKERRQ(ierr);
64   ierr = TSRegister(TSMIMEX,    TSCreate_Mimex);CHKERRQ(ierr);
65   ierr = TSRegister(TSBDF,      TSCreate_BDF);CHKERRQ(ierr);
66   ierr = TSRegister(TSBSI,      TSCreate_BSI);CHKERRQ(ierr);
67   PetscFunctionReturn(0);
68 }
69 
70