Actual source code: petsctsdef.h
petsc-3.7.7 2017-09-25
Report Typos and Errors

      1: !
      2: !  Include file for Fortran use of the TS (timestepping) package in PETSc
      3: !
      4: #if !defined (__PETSCTSDEF_H)

      7:  #include petsc/finclude/petscsnesdef.h

      9: #if !defined(PETSC_USE_FORTRAN_DATATYPES)
     10: #define TS PetscFortranAddr
     11: #define TSAdapt PetscFortranAddr
     12: #define TSTrajectory PetscFortranAddr
     13: #endif
     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

     25: #define TSEULER           'euler'
     26: #define TSBEULER          'beuler'
     27: #define TSPSEUDO          'pseudo'
     28: #define TSCN              'cn'
     29: #define TSSUNDIALS        'sundials'
     30: #define TSRK              'rk'
     31: #define TSPYTHON          'python'
     32: #define TSTHETA           'theta'
     33: #define TSALPHA           'alpha'
     34: #define TSGL              'gl'
     35: #define TSSSP             'ssp'
     36: #define TSARKIMEX         'arkimex'
     37: #define TSROSW            'rosw'
     38: #define TSEIMEX           'eimex'

     40: #define TSTRAJECTORYBASIC 'basic'

     42: #define TSSSPType character*(80)
     43: #define TSSSPRKS2  'rks2'
     44: #define TSSSPRKS3  'rks3'
     45: #define TSSSPRK104 'rk104'

     47: #define TSGLAdaptType character*(80)
     48: #define TSGLADAPT_NONE 'none'
     49: #define TSGLADAPT_SIZE 'size'
     50: #define TSGLADAPT_BOTH 'both'

     52: #define TSAdaptType character*(80)
     53: #define TSADAPTBASIC 'basic'
     54: #define TSADAPTNONE  'none'
     55: #define TSADAPTCFL   'cfl'

     57: #define TSRKType character*(80)
     58: #define TSRK1FE   '1fe'
     59: #define TSRK2A    '2a'
     60: #define TSRK3     '3'
     61: #define TSRK3BS   '3bs'
     62: #define TSRK4     '4'
     63: #define TSRK5F    '5f'
     64: #define TSRK5DP   '5dp'

     66: #define TSARKIMEXType character*(80)
     67: #define TSARKIMEX1BEE   '1bee'
     68: #define TSARKIMEXA2     'a2'
     69: #define TSARKIMEXL2     'l2'
     70: #define TSARKIMEXARS122 'ars122'
     71: #define TSARKIMEX2C     '2c'
     72: #define TSARKIMEX2D     '2d'
     73: #define TSARKIMEX2E     '2e'
     74: #define TSARKIMEXPRSSP2 'prssp2'
     75: #define TSARKIMEX3      '3'
     76: #define TSARKIMEXBPR3   'bpr3'
     77: #define TSARKIMEXARS443 'ars443'
     78: #define TSARKIMEX4      '4'
     79: #define TSARKIMEX5      '5'

     81: #define TSROSWType character*(80)
     82: #define TSROSW2M          '2m'
     83: #define TSROSW2P          '2p'
     84: #define TSROSWRA3PW       'ra3pw'
     85: #define TSROSWRA34PW2     'ra34pw2'
     86: #define TSROSWRODAS3      'rodas3'
     87: #define TSROSWSANDU3      'sandu3'
     88: #define TSROSWASSP3P3S1C  'assp3p3s1c'
     89: #define TSROSWLASSP3P4S2C 'lassp3p4s2c'
     90: #define TSROSWLLSSP3P3S2C 'llssp3p3s2c'
     91: #define TSROSWARK3        'ark3'
     92: #define TSROSWTHETA1      'theta1'
     93: #define TSROSWTHETA2      'theta2'
     94: #define TSROSWGRK4T       'grk4t'
     95: #define TSROSWSHAMP4      'shamp4'
     96: #define TSROSWVELDD4      'veldd4'
     97: #define TSROSW4L          '4l'

     99: #define TSEIMEXType character*(80)
    100: #define TSEIMEXS2     's2'
    101: #define TSEIMEXS3     's3'
    102: #define TSEIMEXS4     's4'

    104: #endif