Actual source code: petscts.h

  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