Actual source code: petscts.h
petsc-3.12.4 2020-02-04
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