Date: 2022-03-04T17:39:45+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 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