Date: 2025-03-28T21:11:16+00:00

Actual source code: petscts.h

      1: !
      2: ! Used by petsctsmod.F90 to create Fortran module file
      3: !
      4: #include "petsc/finclude/petscts.h"

      6:       type, extends(tPetscObject) :: tTS
      7:       end type tTS
      8:       TS, parameter :: PETSC_NULL_TS = tTS(0)
      9: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     10: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_TS
     11: #endif

     13:       type, extends(tPetscObject) :: tTSAdapt
     14:       end type tTSAdapt
     15:       TSAdapt, parameter :: PETSC_NULL_TS_ADAPT = tTSAdapt(0)
     16: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     17: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_TS_ADAPT
     18: #endif

     20:       type, extends(tPetscObject) :: tTSTrajectory
     21:       end type tTSTrajectory
     22:       TSTrajectory, parameter :: PETSC_NULL_TS_TRAJECTORY = tTSTrajectory(0)
     23: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     24: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_TS_TRAJECTORY
     25: #endif

     27:       type, extends(tPetscObject) :: tTSGLLEAdapt
     28:       end type tTSGLLEAdapt
     29:       TSGLLEAdapt, parameter :: PETSC_NULL_TS_GLLE_ADAPT = tTSGLLEAdapt(0)
     30: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     31: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_TS_GLLE_ADAPT
     32: #endif

     34: !
     35: !  Convergence flags
     36: !
     37:       PetscEnum, parameter :: TS_CONVERGED_ITERATING      = 0
     38:       PetscEnum, parameter :: TS_CONVERGED_TIME           = 1
     39:       PetscEnum, parameter :: TS_CONVERGED_ITS            = 2
     40:       PetscEnum, parameter :: TS_DIVERGED_NONLINEAR_SOLVE = -1
     41:       PetscEnum, parameter :: TS_DIVERGED_STEP_REJECTED   = -2
     42: !
     43: !  Equation type flags
     44: !
     45:       PetscEnum, parameter :: TS_EQ_UNSPECIFIED               = -1
     46:       PetscEnum, parameter :: TS_EQ_EXPLICIT                  = 0
     47:       PetscEnum, parameter :: TS_EQ_ODE_EXPLICIT              = 1
     48:       PetscEnum, parameter :: TS_EQ_DAE_SEMI_EXPLICIT_INDEX1  = 100
     49:       PetscEnum, parameter :: TS_EQ_DAE_SEMI_EXPLICIT_INDEX2  = 200
     50:       PetscEnum, parameter :: TS_EQ_DAE_SEMI_EXPLICIT_INDEX3  = 300
     51:       PetscEnum, parameter :: TS_EQ_DAE_SEMI_EXPLICIT_INDEXHI = 500
     52:       PetscEnum, parameter :: TS_EQ_IMPLICIT                  = 1000
     53:       PetscEnum, parameter :: TS_EQ_ODE_IMPLICIT              = 1001
     54:       PetscEnum, parameter :: TS_EQ_DAE_IMPLICIT_INDEX1       = 1100
     55:       PetscEnum, parameter :: TS_EQ_DAE_IMPLICIT_INDEX2       = 1200
     56:       PetscEnum, parameter :: TS_EQ_DAE_IMPLICIT_INDEX3       = 1300
     57:       PetscEnum, parameter :: TS_EQ_DAE_IMPLICIT_INDEXHI      = 1500
     58: !
     59: !  TSExactFinalTime
     60: !
     61:       PetscEnum, parameter :: TS_EXACTFINALTIME_UNSPECIFIED = 0
     62:       PetscEnum, parameter :: TS_EXACTFINALTIME_STEPOVER    = 1
     63:       PetscEnum, parameter :: TS_EXACTFINALTIME_INTERPOLATE = 2
     64:       PetscEnum, parameter :: TS_EXACTFINALTIME_MATCHSTEP   = 3
     65: !
     66: !  TSProblemType
     67: !
     68:       PetscEnum, parameter :: TS_LINEAR    = 0
     69:       PetscEnum, parameter :: TS_NONLINEAR = 1
     70: !
     71: !  TSSundialsType
     72: !
     73:       PetscEnum, parameter :: SUNDIALS_ADAMS = 1
     74:       PetscEnum, parameter :: SUNDIALS_BDF   = 2
     75: !
     76: !  TSSundialsGramSchmidtType
     77: !
     78:       PetscEnum, parameter :: SUNDIALS_MODIFIED_GS  = 1
     79:       PetscEnum, parameter :: SUNDIALS_CLASSICAL_GS = 2
     80: #define SUNDIALS_UNMODIFIED_GS SUNDIALS_CLASSICAL_GS
     81: !
     82: !  Some PETSc fortran functions that the user might pass as arguments
     83: !
     84:       external TSCOMPUTERHSFUNCTIONLINEAR
     85:       external TSCOMPUTERHSJACOBIANCONSTANT
     86:       external TSCOMPUTEIFUNCTIONLINEAR
     87:       external TSCOMPUTEIJACOBIANCONSTANT