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)
 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