Date: 2025-03-29T05:58:49+00:00

Actual source code: tsregall.c

      1: #include <petsc/private/tsimpl.h>
      2: PETSC_EXTERN PetscErrorCode TSCreate_Euler(TS);
      3: PETSC_EXTERN PetscErrorCode TSCreate_BEuler(TS);
      4: PETSC_EXTERN PetscErrorCode TSCreate_Pseudo(TS);
      5: PETSC_EXTERN PetscErrorCode TSCreate_Sundials(TS);
      6: PETSC_EXTERN PetscErrorCode TSCreate_Radau5(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_Alpha2(TS);
     11: PETSC_EXTERN PetscErrorCode TSCreate_GLLE(TS);
     12: PETSC_EXTERN PetscErrorCode TSCreate_SSP(TS);
     13: PETSC_EXTERN PetscErrorCode TSCreate_RK(TS);
     14: PETSC_EXTERN PetscErrorCode TSCreate_ARKIMEX(TS);
     15: PETSC_EXTERN PetscErrorCode TSCreate_DIRK(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_BasicSymplectic(TS);
     22: PETSC_EXTERN PetscErrorCode TSCreate_MPRK(TS);
     23: PETSC_EXTERN PetscErrorCode TSCreate_DiscGrad(TS);
     24: PETSC_EXTERN PetscErrorCode TSCreate_IRK(TS);

     26: /*@C
     27:   TSRegisterAll - Registers all of the timesteppers in the `TS` package.

     29:   Not Collective

     31:   Level: advanced

     33: .seealso: [](ch_ts), `TS`, `TSCreate()`, `TSRegister()`, `TSRegisterDestroy()`
     34: @*/
     35: PetscErrorCode TSRegisterAll(void)
     36: {
     37:   PetscFunctionBegin;
     38:   if (TSRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
     39:   TSRegisterAllCalled = PETSC_TRUE;

     41:   PetscCall(TSRegister(TSEULER, TSCreate_Euler));
     42:   PetscCall(TSRegister(TSBEULER, TSCreate_BEuler));
     43:   PetscCall(TSRegister(TSCN, TSCreate_CN));
     44:   PetscCall(TSRegister(TSPSEUDO, TSCreate_Pseudo));
     45:   PetscCall(TSRegister(TSGLLE, TSCreate_GLLE));
     46:   PetscCall(TSRegister(TSSSP, TSCreate_SSP));
     47:   PetscCall(TSRegister(TSTHETA, TSCreate_Theta));
     48:   PetscCall(TSRegister(TSALPHA, TSCreate_Alpha));
     49:   PetscCall(TSRegister(TSALPHA2, TSCreate_Alpha2));
     50: #if defined(PETSC_HAVE_SUNDIALS2)
     51:   PetscCall(TSRegister(TSSUNDIALS, TSCreate_Sundials));
     52: #endif
     53: #if defined(PETSC_HAVE_RADAU5)
     54:   PetscCall(TSRegister(TSRADAU5, TSCreate_Radau5));
     55: #endif
     56:   PetscCall(TSRegister(TSRK, TSCreate_RK));
     57:   PetscCall(TSRegister(TSGLEE, TSCreate_GLEE));
     58:   PetscCall(TSRegister(TSARKIMEX, TSCreate_ARKIMEX));
     59:   PetscCall(TSRegister(TSDIRK, TSCreate_DIRK));
     60:   PetscCall(TSRegister(TSROSW, TSCreate_RosW));
     61:   PetscCall(TSRegister(TSEIMEX, TSCreate_EIMEX));
     62:   PetscCall(TSRegister(TSMIMEX, TSCreate_Mimex));
     63:   PetscCall(TSRegister(TSBDF, TSCreate_BDF));
     64:   PetscCall(TSRegister(TSBASICSYMPLECTIC, TSCreate_BasicSymplectic));
     65:   PetscCall(TSRegister(TSMPRK, TSCreate_MPRK));
     66:   PetscCall(TSRegister(TSDISCGRAD, TSCreate_DiscGrad));
     67:   PetscCall(TSRegister(TSIRK, TSCreate_IRK));
     68:   PetscFunctionReturn(PETSC_SUCCESS);
     69: }