1: ! 2: ! Include file for Fortran use of the TS (timestepping) package in PETSc 3: ! 4: #include petsc/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_UNSPECIFIED 56: PetscEnum TS_EXACTFINALTIME_STEPOVER 57: PetscEnum TS_EXACTFINALTIME_INTERPOLATE 58: PetscEnum TS_EXACTFINALTIME_MATCHSTEP 60: parameter (TS_EXACTFINALTIME_UNSPECIFIED = 0) 61: parameter (TS_EXACTFINALTIME_STEPOVER = 1) 62: parameter (TS_EXACTFINALTIME_INTERPOLATE = 2) 63: parameter (TS_EXACTFINALTIME_MATCHSTEP = 3) 65: ! 66: ! TSProblemType 67: ! 68: PetscEnum TS_LINEAR 69: PetscEnum TS_NONLINEAR 70: parameter (TS_LINEAR = 0,TS_NONLINEAR = 1) 71: ! 72: ! TSSundialsType 73: ! 74: PetscEnum SUNDIALS_ADAMS 75: PetscEnum SUNDIALS_BDF 76: parameter (SUNDIALS_ADAMS=1,SUNDIALS_BDF=2) 77: ! 78: ! TSSundialsGramSchmidtType 79: ! 80: PetscEnum SUNDIALS_MODIFIED_GS 81: PetscEnum SUNDIALS_CLASSICAL_GS 82: parameter (SUNDIALS_MODIFIED_GS=1,SUNDIALS_CLASSICAL_GS=2) 83: #define SUNDIALS_UNMODIFIED_GS SUNDIALS_CLASSICAL_GS 84: ! 85: ! Some PETSc fortran functions that the user might pass as arguments 86: ! 87: external TSCOMPUTERHSFUNCTIONLINEAR 88: external TSCOMPUTERHSJACOBIANCONSTANT 89: external TSCOMPUTEIFUNCTIONLINEAR 90: external TSCOMPUTEIJACOBIANCONSTANT 92: ! End of Fortran include file for the TS package in PETSc