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