Actual source code: petscts.h

petsc-3.13.6 2020-09-29
Report Typos and Errors
  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