Actual source code: petscts.h

petsc-3.12.0 2019-09-29
Report Typos and Errors
  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 TSROSWType character*(80)
 95: #define TSROSW2M          '2m'
 96: #define TSROSW2P          '2p'
 97: #define TSROSWRA3PW       'ra3pw'
 98: #define TSROSWRA34PW2     'ra34pw2'
 99: #define TSROSWRODAS3      'rodas3'
100: #define TSROSWSANDU3      'sandu3'
101: #define TSROSWASSP3P3S1C  'assp3p3s1c'
102: #define TSROSWLASSP3P4S2C 'lassp3p4s2c'
103: #define TSROSWLLSSP3P3S2C 'llssp3p3s2c'
104: #define TSROSWARK3        'ark3'
105: #define TSROSWTHETA1      'theta1'
106: #define TSROSWTHETA2      'theta2'
107: #define TSROSWGRK4T       'grk4t'
108: #define TSROSWSHAMP4      'shamp4'
109: #define TSROSWVELDD4      'veldd4'
110: #define TSROSW4L          '4l'

112: #define TSEIMEXType character*(80)
113: #define TSEIMEXS2     's2'
114: #define TSEIMEXS3     's3'
115: #define TSEIMEXS4     's4'

117: #endif