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