1: ! 2: ! Include file for Fortran use of the TS (timestepping) package in PETSc 3: ! 4: #include finclude/petsctsdef.h 6: ! 7: ! Convergence flags 8: ! 9: PetscEnum TS_CONVERGED_ITERATING 10: PetscEnum TS_CONVERGED_TIME 11: PetscEnum TS_CONVERGED_ITS 12: PetscEnum TS_DIVERGED_NONLINEAR_SOLVE 13: PetscEnum TS_DIVERGED_STEP_REJECTED 15: parameter (TS_CONVERGED_ITERATING = 0) 16: parameter (TS_CONVERGED_TIME = 1) 17: parameter (TS_CONVERGED_ITS = 2) 18: parameter (TS_DIVERGED_NONLINEAR_SOLVE = -1) 19: parameter (TS_DIVERGED_STEP_REJECTED = -2) 21: ! 22: ! Equation type flags 23: ! 24: PetscEnum TS_EQ_UNSPECIFIED 25: PetscEnum TS_EQ_EXPLICIT 26: PetscEnum TS_EQ_ODE_EXPLICIT 27: PetscEnum TS_EQ_DAE_SEMI_EXPLICIT_INDEX1 28: PetscEnum TS_EQ_DAE_SEMI_EXPLICIT_INDEX2 29: PetscEnum TS_EQ_DAE_SEMI_EXPLICIT_INDEX3 30: PetscEnum TS_EQ_DAE_SEMI_EXPLICIT_INDEXHI 31: PetscEnum TS_EQ_IMPLICIT 32: PetscEnum TS_EQ_ODE_IMPLICIT 33: PetscEnum TS_EQ_DAE_IMPLICIT_INDEX1 34: PetscEnum TS_EQ_DAE_IMPLICIT_INDEX2 35: PetscEnum TS_EQ_DAE_IMPLICIT_INDEX3 36: PetscEnum TS_EQ_DAE_IMPLICIT_INDEXHI 38: parameter (TS_EQ_UNSPECIFIED = -1) 39: parameter (TS_EQ_EXPLICIT = 0) 40: parameter (TS_EQ_ODE_EXPLICIT = 1) 41: parameter (TS_EQ_DAE_SEMI_EXPLICIT_INDEX1 = 100) 42: parameter (TS_EQ_DAE_SEMI_EXPLICIT_INDEX2 = 200) 43: parameter (TS_EQ_DAE_SEMI_EXPLICIT_INDEX3 = 300) 44: parameter (TS_EQ_DAE_SEMI_EXPLICIT_INDEXHI = 500) 45: parameter (TS_EQ_IMPLICIT = 1000) 46: parameter (TS_EQ_ODE_IMPLICIT = 1001) 47: parameter (TS_EQ_DAE_IMPLICIT_INDEX1 = 1100) 48: parameter (TS_EQ_DAE_IMPLICIT_INDEX2 = 1200) 49: parameter (TS_EQ_DAE_IMPLICIT_INDEX3 = 1300) 50: parameter (TS_EQ_DAE_IMPLICIT_INDEXHI = 1500) 52: ! 53: ! TSExactFinalTime 54: ! 55: PetscEnum TS_EXACTFINALTIME_STEPOVER 56: PetscEnum TS_EXACTFINALTIME_INTERPOLATE 57: PetscEnum TS_EXACTFINALTIME_MATCHSTEP 59: parameter (TS_EXACTFINALTIME_STEPOVER = 0) 60: parameter (TS_EXACTFINALTIME_INTERPOLATE = 1) 61: parameter (TS_EXACTFINALTIME_MATCHSTEP = 2) 63: ! 64: ! TSProblemType 65: ! 66: PetscEnum TS_LINEAR 67: PetscEnum TS_NONLINEAR 68: parameter (TS_LINEAR = 0,TS_NONLINEAR = 1) 69: ! 70: ! TSSundialsType 71: ! 72: PetscEnum SUNDIALS_ADAMS 73: PetscEnum SUNDIALS_BDF 74: parameter (SUNDIALS_ADAMS=1,SUNDIALS_BDF=2) 75: ! 76: ! TSSundialsGramSchmidtType 77: ! 78: PetscEnum SUNDIALS_MODIFIED_GS 79: PetscEnum SUNDIALS_CLASSICAL_GS 80: parameter (SUNDIALS_MODIFIED_GS=1,SUNDIALS_CLASSICAL_GS=2) 81: #define SUNDIALS_UNMODIFIED_GS SUNDIALS_CLASSICAL_GS 82: ! 83: ! Some PETSc fortran functions that the user might pass as arguments 84: ! 85: external TSCOMPUTERHSFUNCTIONLINEAR 86: external TSCOMPUTERHSJACOBIANCONSTANT 87: external TSCOMPUTEIFUNCTIONLINEAR 88: external TSCOMPUTEIJACOBIANCONSTANT 90: ! End of Fortran include file for the TS package in PETSc