1: ! 2: ! Include file for Fortran use of the TS (timestepping) package in PETSc 3: ! 4: #if !defined (PETSCTSDEF_H) 5: #define PETSCTSDEF_H 7: #include "petsc/finclude/petscsnes.h" 9: #define TS type(tTS) 10: #define TSAdapt type(tTSAdapt) 11: #define TSTrajectory type(tTSTrajectory) 12: #define TSGLLEAdapt type(tTSGLLEAdapt) 14: #define TSType character*(80) 15: #define TSAdaptType character*(80) 16: #define TSTrajectoryType character*(80) 17: #define TSEquationType PetscEnum 18: #define TSConvergedReason PetscEnum 19: #define TSExactFinalTimeOption PetscEnum 20: #define TSSundialsType PetscEnum 21: #define TSProblemType PetscEnum 22: #define TSSundialsGramSchmidtType PetscEnum 23: #define TSSundialsLmmType PetscEnum 24: #define TSTrajectoryMemoryType PetscEnum 26: #define TSEULER 'euler' 27: #define TSBEULER 'beuler' 28: #define TSPSEUDO 'pseudo' 29: #define TSCN 'cn' 30: #define TSSUNDIALS 'sundials' 31: #define TSRK 'rk' 32: #define TSPYTHON 'python' 33: #define TSTHETA 'theta' 34: #define TSALPHA 'alpha' 35: #define TSGLLE 'glle' 36: #define TSSSP 'ssp' 37: #define TSARKIMEX 'arkimex' 38: #define TSROSW 'rosw' 39: #define TSEIMEX 'eimex' 40: #define TSRADAU5 'radau5' 41: #define TSMPRK 'mprk' 43: #define TSTRAJECTORYBASIC 'basic' 45: #define TSSSPType character*(80) 46: #define TSSSPRKS2 'rks2' 47: #define TSSSPRKS3 'rks3' 48: #define TSSSPRK104 'rk104' 50: #define TSGLLEAdaptType character*(80) 51: #define TSGLLEADAPT_NONE 'none' 52: #define TSGLLEADAPT_SIZE 'size' 53: #define TSGLLEADAPT_BOTH 'both' 55: #define TSAdaptType character*(80) 56: #define TSADAPTNONE 'none' 57: #define TSADAPTBASIC 'basic' 58: #define TSADAPTDSP 'dsp' 59: #define TSADAPTCFL 'cfl' 60: #define TSADAPTGLEE 'glee' 61: #define TSADAPTHISTORY 'history' 63: #define TSRKType character*(80) 64: #define TSRK1FE '1fe' 65: #define TSRK2A '2a' 66: #define TSRK3 '3' 67: #define TSRK3BS '3bs' 68: #define TSRK4 '4' 69: #define TSRK5F '5f' 70: #define TSRK5DP '5dp' 71: #define TSRK5BS '5bs' 72: #define TSRK6VR '6vr' 73: #define TSRK7VR '7vr' 74: #define TSRK8VR '8vr' 76: #define TSMPRKType character*(80) 77: #define TSMPRKPM2 'pm2' 78: #define TSMPRKP2 'p2' 79: #define TSMPRKP3 'p3' 81: #define TSARKIMEXType character*(80) 82: #define TSARKIMEX1BEE '1bee' 83: #define TSARKIMEXA2 'a2' 84: #define TSARKIMEXL2 'l2' 85: #define TSARKIMEXARS122 'ars122' 86: #define TSARKIMEX2C '2c' 87: #define TSARKIMEX2D '2d' 88: #define TSARKIMEX2E '2e' 89: #define TSARKIMEXPRSSP2 'prssp2' 90: #define TSARKIMEX3 '3' 91: #define TSARKIMEXBPR3 'bpr3' 92: #define TSARKIMEXARS443 'ars443' 93: #define TSARKIMEX4 '4' 94: #define TSARKIMEX5 '5' 96: #define TSDIRKType character*(80) 97: #define TSDIRKS212 's212' 98: #define TSDIRKES122SAL 'es122sal' 99: #define TSDIRKES213SAL 'es213sal' 100: #define TSDIRKES324SAL 'es324sal' 101: #define TSDIRKES325SAL 'es325sal' 102: #define TSDIRK657A '657a' 103: #define TSDIRKES648SA 'es648sa' 104: #define TSDIRK658A '658a' 105: #define TSDIRKS659A 's659a' 106: #define TSDIRK7510SAL '7510sal' 107: #define TSDIRKES7510SA 'es7510sa' 108: #define TSDIRK759A '759a' 109: #define TSDIRKS7511SAL 's7511sal' 110: #define TSDIRK8614A '8614a' 111: #define TSDIRK8616SAL '8616sal' 112: #define TSDIRKES8516SAL 'es8516sal' 114: #define TSROSWType character*(80) 115: #define TSROSW2M '2m' 116: #define TSROSW2P '2p' 117: #define TSROSWRA3PW 'ra3pw' 118: #define TSROSWRA34PW2 'ra34pw2' 119: #define TSROSWRODAS3 'rodas3' 120: #define TSROSWSANDU3 'sandu3' 121: #define TSROSWASSP3P3S1C 'assp3p3s1c' 122: #define TSROSWLASSP3P4S2C 'lassp3p4s2c' 123: #define TSROSWLLSSP3P3S2C 'llssp3p3s2c' 124: #define TSROSWARK3 'ark3' 125: #define TSROSWTHETA1 'theta1' 126: #define TSROSWTHETA2 'theta2' 127: #define TSROSWGRK4T 'grk4t' 128: #define TSROSWSHAMP4 'shamp4' 129: #define TSROSWVELDD4 'veldd4' 130: #define TSROSW4L '4l' 132: #define TSEIMEXType character*(80) 133: #define TSEIMEXS2 's2' 134: #define TSEIMEXS3 's3' 135: #define TSEIMEXS4 's4' 137: #endif