Actual source code: petscts.h
petsc-3.13.6 2020-09-29
1: !
2: ! Include file for Fortran use of the TS (timestepping) package in PETSc
3: !
4: #include "petsc/finclude/petscts.h"
6: type tTS
7: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
8: end type tTS
9: type tTSAdapt
10: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
11: end type tTSAdapt
12: type tTSTrajectory
13: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
14: end type tTSTrajectory
16: TS, parameter :: PETSC_NULL_TS = tTS(0)
17: TSAdapt, parameter :: PETSC_NULL_TSADAPT = tTSAdapt(0)
18: TSTrajectory, parameter :: PETSC_NULL_TSTrajectory = tTSTrajectory(0)
20: !
21: ! Convergence flags
22: !
23: PetscEnum, parameter :: TS_CONVERGED_ITERATING = 0
24: PetscEnum, parameter :: TS_CONVERGED_TIME = 1
25: PetscEnum, parameter :: TS_CONVERGED_ITS = 2
26: PetscEnum, parameter :: TS_DIVERGED_NONLINEAR_SOLVE = -1
27: PetscEnum, parameter :: TS_DIVERGED_STEP_REJECTED = -2
28: !
29: ! Equation type flags
30: !
31: PetscEnum, parameter :: TS_EQ_UNSPECIFIED = -1
32: PetscEnum, parameter :: TS_EQ_EXPLICIT = 0
33: PetscEnum, parameter :: TS_EQ_ODE_EXPLICIT = 1
34: PetscEnum, parameter :: TS_EQ_DAE_SEMI_EXPLICIT_INDEX1 = 100
35: PetscEnum, parameter :: TS_EQ_DAE_SEMI_EXPLICIT_INDEX2 = 200
36: PetscEnum, parameter :: TS_EQ_DAE_SEMI_EXPLICIT_INDEX3 = 300
37: PetscEnum, parameter :: TS_EQ_DAE_SEMI_EXPLICIT_INDEXHI = 500
38: PetscEnum, parameter :: TS_EQ_IMPLICIT = 1000
39: PetscEnum, parameter :: TS_EQ_ODE_IMPLICIT = 1001
40: PetscEnum, parameter :: TS_EQ_DAE_IMPLICIT_INDEX1 = 1100
41: PetscEnum, parameter :: TS_EQ_DAE_IMPLICIT_INDEX2 = 1200
42: PetscEnum, parameter :: TS_EQ_DAE_IMPLICIT_INDEX3 = 1300
43: PetscEnum, parameter :: TS_EQ_DAE_IMPLICIT_INDEXHI = 1500
44: !
45: ! TSExactFinalTime
46: !
47: PetscEnum, parameter :: TS_EXACTFINALTIME_UNSPECIFIED = 0
48: PetscEnum, parameter :: TS_EXACTFINALTIME_STEPOVER = 1
49: PetscEnum, parameter :: TS_EXACTFINALTIME_INTERPOLATE = 2
50: PetscEnum, parameter :: TS_EXACTFINALTIME_MATCHSTEP = 3
51: !
52: ! TSProblemType
53: !
54: PetscEnum, parameter :: TS_LINEAR = 0
55: PetscEnum, parameter :: TS_NONLINEAR = 1
56: !
57: ! TSSundialsType
58: !
59: PetscEnum, parameter :: SUNDIALS_ADAMS = 1
60: PetscEnum, parameter :: SUNDIALS_BDF = 2
61: !
62: ! TSSundialsGramSchmidtType
63: !
64: PetscEnum, parameter :: SUNDIALS_MODIFIED_GS = 1
65: PetscEnum, parameter :: SUNDIALS_CLASSICAL_GS = 2
66: #define SUNDIALS_UNMODIFIED_GS SUNDIALS_CLASSICAL_GS
67: !
68: ! Some PETSc fortran functions that the user might pass as arguments
69: !
70: external TSCOMPUTERHSFUNCTIONLINEAR
71: external TSCOMPUTERHSJACOBIANCONSTANT
72: external TSCOMPUTEIFUNCTIONLINEAR
73: external TSCOMPUTEIJACOBIANCONSTANT
75: ! End of Fortran include file for the TS package in PETSc