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