## 5.15. MDGRID, Autodyn-2D Grid Variable Definitions

Module mdgrid contains the definitions for the grid variables. The various pointers and arrays to be used in accessing the grid variables are provided. For a description of the available grid variables see Autodyn Variable Listings.

          MODULE mdgrid

          USE cycvar
          USE gloopt
          USE subdef
          USE material
          USE memory
          USE microz
          USE mltmat
          USE prodef
          USE kindef

          IMPLICIT NONE

          SAVE

          CHARACTER(LEN=1), DIMENSION(LIMSUB,LIMVAR), TARGET :: IDRVAR

          CHARACTER(LEN=1), DIMENSION(LIMSUB,LIMIVR), TARGET :: IDIVAR

          CHARACTER(LEN=1), DIMENSION(LIMSUB), TARGET :: IZONE_TMP

          TYPE MULTI_MATERIAL_POINTERS
            TYPE (MULTI_ARRAY), DIMENSION(:), POINTER :: MTS
          END TYPE MULTI_MATERIAL_POINTERS
          TYPE (MULTI_MATERIAL_POINTERS), DIMENSION(LIMSUB) :: MTGRID
          TYPE (MULTI_ARRAY), DIMENSION(:), POINTER :: MTSUB

          TYPE (MICROZONE_POINTERS), DIMENSION(LIMSUB) :: MCGRID

          TYPE (MICRO_ARRAY), POINTER :: MCCEL

          ! POINTER ARRAY TO ALL STANDARD AND TEMPORARY SUBGRID SMALL INTEGER
          ! VARIABLES
          TYPE(SMALL_INTEGER_ARRAY_POINTER),DIMENSION(LIMSUB,LIMIVR+3)::NPACK
          INTEGER, PARAMETER :: KMT =  1, KMN =  2, KMS =  3, KBX =  4, KBY =  5
          INTEGER, PARAMETER :: KBI =  6, KBJ =  7, KAL =  8, KJN =  9, KOV = 10
          INTEGER, PARAMETER :: KIF = 11, KNW = 12, KIC = 13, K01 = 14, K02 = 15
          INTEGER, PARAMETER :: K03 = 16, K04 = 17, K05 = 18, K06 = 19, K07 = 20
          INTEGER, PARAMETER :: K08 = 21, K09 = 22, K10 = 23
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPKMT, NPKMN, NPKMS, NPKBX
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPKBY, NPKBI, NPKBJ, NPKAL
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPKJN, NPKOV, NPKIF, NPKNW
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPK01, NPK02, NPK03, NPK04
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPK05, NPK06, NPK07, NPK08
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPK09, NPK10, NPKIC

          INTEGER (INT1), DIMENSION(:), POINTER ::  NVAR

          ! POINTER ARRAY TO ALL TEMPORARY SUBGRID INTEGER VARIABLES
          INTEGER, PARAMETER :: LIMILT  = 10
          TYPE (INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB,LIMILT) :: IGRID
          INTEGER, PARAMETER :: NITMP01 = 1
          INTEGER, PARAMETER :: NITMP02 = 2
          INTEGER, PARAMETER :: NITMP03 = 3
          INTEGER, PARAMETER :: NITMP04 = 4
          INTEGER, PARAMETER :: NITMP05 = 5
          INTEGER, PARAMETER :: NITMP06 = 6
          INTEGER, PARAMETER :: NITMP07 = 7
          INTEGER, PARAMETER :: NITMP08 = 8
          INTEGER, PARAMETER :: NITMP09 = 9
          INTEGER, PARAMETER :: NITMP10 = 10
          INTEGER (INT4), DIMENSION(:), POINTER :: ITMP01,ITMP02,ITMP03
          INTEGER (INT4), DIMENSION(:), POINTER :: ITMP04,ITMP05,ITMP06
          INTEGER (INT4), DIMENSION(:), POINTER :: ITMP07,ITMP08,ITMP09
          INTEGER (INT4), DIMENSION(:), POINTER :: ITMP10,ITMP11,ITMP12

          ! POINTER ARRAY TO ALL TEMPORARY SUBGRID COORDINATES FOR SAVE/RESTORE FACILITY
          TYPE (REAL_ARRAY_POINTER),  DIMENSION(LIMSUB,3) :: GRID_TMP
          TYPE (SMALL_INTEGER_ARRAY_POINTER),DIMENSION(LIMSUB,2)::NPACK_TMP

          INTEGER (INT1), DIMENSION(:), POINTER ::  NPKMT_TMP, NPKMN_TMP
          REAL (REAL8), DIMENSION(:), POINTER ::    XPP_TMP,    YPP_TMP

          ! POINTER ARRAY TO ALL STANDARD AND TEMPORARY SUBGRID REAL VARIABLES
          TYPE (REAL_ARRAY_POINTER), DIMENSION(LIMSUB,LIMVAR) :: GRID

          INTEGER, PARAMETER ::     NXN =  1,     NYN =  2,    NUXN =  3
          INTEGER, PARAMETER ::    NUYN =  4,     NFX =  5,     NFY =  6
          INTEGER, PARAMETER ::  NPMASS =  7, NRINTER =  8,   NVOLN =  9
          INTEGER, PARAMETER ::  NCMASS = 10,    NXMU = 11,     NEN = 12
          INTEGER, PARAMETER ::     NPN = 13,      NQ = 14,   NPLWK = 15
          INTEGER, PARAMETER ::    NDEN = 16,   NTEMP = 17,    NEPS = 18
          INTEGER, PARAMETER :: NEPSDOT = 19,    NEFS = 20,   NSSPD = 21
          INTEGER, PARAMETER ::    NDAM = 22,    NDIV = 23,  NALPHA = 24
          INTEGER, PARAMETER ::    NT11 = 25,    NT22 = 26,    NT12 = 27
          INTEGER, PARAMETER ::    NTXX = 28,    NTYY = 29,    NTXY = 30
          INTEGER, PARAMETER ::    NTTT = 31,    NTVM = 32,  NYIELD = 33
          INTEGER, PARAMETER ::   NEXXD = 34,   NEYYD = 35,   NEXYD = 36
          INTEGER, PARAMETER ::  NSTN11 = 37,  NSTN22 = 38,  NSTN33 = 39
          INTEGER, PARAMETER ::  NSTN12 = 40,  NPSANG = 41,   NVOID = 42
          INTEGER, PARAMETER :: NFCOVRV = 43, NFCOVRI = 44, NFCOVRJ = 45
          INTEGER, PARAMETER ::   NDPDX = 46,   NDPDY = 47,   NDRDX = 48
          INTEGER, PARAMETER ::   NDRDY = 49,  NDUXDX = 50,  NDUXDY = 51
          INTEGER, PARAMETER ::  NDUYDX = 52,  NDUYDY = 53,   NSTN1 = 54
          INTEGER, PARAMETER ::   NSTN2 = 55,   NSTR1 = 56,   NSTR2 = 57
          INTEGER, PARAMETER ::  NSRES1 = 58,  NSRES2 = 59,  NBMOM1 = 60
          INTEGER, PARAMETER ::  NBMOM2 = 61, NTSHEAR = 62,  NTHICK = 63
          INTEGER, PARAMETER ::    NSML = 64,    NVOR = 65, NDENNM1 = 66
          INTEGER, PARAMETER ::   NRCUT = 67,   NRNON = 68, NABSVEL = 69
          INTEGER, PARAMETER ::  NHNORM = 70,  NTFAIL = 71,   NPDIL = 72
          INTEGER, PARAMETER ::   NEDIL = 73,  NVAR01 = 74,  NVAR02 = 75
          INTEGER, PARAMETER ::  NVAR03 = 76,  NVAR04 = 77,  NVAR05 = 78
          INTEGER, PARAMETER ::  NVAR06 = 79,  NVAR07 = 80,  NVAR08 = 81
          INTEGER, PARAMETER ::  NVAR09 = 82,  NVAR10 = 83,  NVAR11 = 84
          INTEGER, PARAMETER ::  NVAR12 = 85,  NVAR13 = 86,  NVAR14 = 87
          INTEGER, PARAMETER ::  NVAR15 = 88,  NVAR16 = 89,  NVAR17 = 90
          INTEGER, PARAMETER ::  NVAR18 = 91,  NVAR19 = 92,  NVAR20 = 93
          INTEGER, PARAMETER :: NEPSPRE = 94,  NFRATE = 95, NRTHIRD = 96
          INTEGER, PARAMETER ::   NFCAP = 97,  NEPSDO = 98, NPCOR11 = 99
          INTEGER, PARAMETER :: NPCOR22 =100, NPCOR33 =101, NMASFAC =102
          INTEGER, PARAMETER ::   NVTXX =103,   NVTYY =104,   NVTXY =105
          INTEGER, PARAMETER :: NIGTIME =106, NSBRCRT =107,    NXN0 =108
          INTEGER, PARAMETER ::    NYN0 =109,   NPGAS =110, NFILDEN =111
          INTEGER, PARAMETER ::   NMOTT =112

          INTEGER, PARAMETER :: NTEMP01 =113, NTEMP02 = NTEMP01+1, NTEMP03 = NTEMP01+2
          INTEGER, PARAMETER :: NTEMP04 = NTEMP01+3, NTEMP05 = NTEMP01+4, NTEMP06 = NTEMP01+5
          INTEGER, PARAMETER :: NTEMP07 = NTEMP01+6, NTEMP08 = NTEMP01+7, NTEMP09 = NTEMP01+8
          INTEGER, PARAMETER :: NTEMP10 = NTEMP01+9, NTEMP11 = NTEMP01+10, NTEMP12 = NTEMP01+11
          INTEGER, PARAMETER :: NTEMP13 = NTEMP01+12, NTEMP14 = NTEMP01+13, NTEMP15 = NTEMP01+14
          INTEGER, PARAMETER :: NTEMP16 = NTEMP01+15, NTEMP17 = NTEMP01+16, NTEMP18 = NTEMP01+17
          INTEGER, PARAMETER :: NTEMP19 = NTEMP01+18, NTEMP20= NTEMP01+19, NTEMP21 = NTEMP01+20
          INTEGER, PARAMETER :: NTEMP22 = NTEMP01+21, NTEMP23= NTEMP01+22, NTEMP24 = NTEMP01+23
          INTEGER, PARAMETER :: NTEMP25 = NTEMP01+24, NTEMP26= NTEMP01+25, NTEMP27 = NTEMP01+26
          INTEGER, PARAMETER :: NTEMP28 = NTEMP01+27, NTEMP29= NTEMP01+28, NTEMP30 = NTEMP01+29
          REAL (REAL8), DIMENSION(:), POINTER ::     XN,     YN,    UXN,    UYN
          REAL (REAL8), DIMENSION(:), POINTER ::     FX,     FY,  PMASS, RINTER
          REAL (REAL8), DIMENSION(:), POINTER ::   VOLN,  CMASS,    XMU,     EN
          REAL (REAL8), DIMENSION(:), POINTER ::     PN,      Q,   PLWK,    DEN
          REAL (REAL8), DIMENSION(:), POINTER ::   TEMP,    EPS, EPSDOT,    EFS
          REAL (REAL8), DIMENSION(:), POINTER ::   SSPD,    DAM,    DIV,  ALPHA
          REAL (REAL8), DIMENSION(:), POINTER ::    T11,    T22,    T12,    TXX
          REAL (REAL8), DIMENSION(:), POINTER ::    TYY,    TXY,    TTT,    TVM
          REAL (REAL8), DIMENSION(:), POINTER ::  YIELD,   EXXD,   EYYD,   EXYD
          REAL (REAL8), DIMENSION(:), POINTER ::  STN11,  STN22,  STN33,  STN12
          REAL (REAL8), DIMENSION(:), POINTER ::  PSANG,   VOID, FCOVRV, FCOVRI
          REAL (REAL8), DIMENSION(:), POINTER :: FCOVRJ,   DPDX,   DPDY,   DRDX
          REAL (REAL8), DIMENSION(:), POINTER ::   DRDY,  DUXDX,  DUXDY,  DUYDX
          REAL (REAL8), DIMENSION(:), POINTER ::  DUYDY,   STN1,   STN2,   STR1
          REAL (REAL8), DIMENSION(:), POINTER ::   STR2,  SRES1,  SRES2,  BMOM1
          REAL (REAL8), DIMENSION(:), POINTER ::  BMOM2, TSHEAR,  THICK,    SML
          REAL (REAL8), DIMENSION(:), POINTER ::    VOR, DENNM1,   RCUT,   RNON
          REAL (REAL8), DIMENSION(:), POINTER :: ABSVEL,  HNORM,  TFAIL,   PDIL
          REAL (REAL8), DIMENSION(:), POINTER ::   EDIL,  VAR01,  VAR02,  VAR03
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR04,  VAR05,  VAR06,  VAR07
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR08,  VAR09,  VAR10,  VAR11
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR12,  VAR13,  VAR14,  VAR15
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR16,  VAR17,  VAR18,  VAR19
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR20, EPSPRE,  FRATE, RTHIRD
          REAL (REAL8), DIMENSION(:), POINTER ::   FCAP,  EPSDO, PCOR11, PCOR22
          REAL (REAL8), DIMENSION(:), POINTER :: PCOR33, MASFAC,   VTXX,   VTYY
          REAL (REAL8), DIMENSION(:), POINTER ::   VTXY, IGTIME, SBRCRT,    XN0
          REAL (REAL8), DIMENSION(:), POINTER ::    YN0,   PGAS, FILDEN, MOTT
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP01, TEMP02, TEMP03
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP04, TEMP05, TEMP06, TEMP07
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP08, TEMP09, TEMP10, TEMP11
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP12, TEMP13, TEMP14, TEMP15
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP16, TEMP17, TEMP18, TEMP19
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP20, TEMP21, TEMP22, TEMP23
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP24, TEMP25, TEMP26, TEMP27
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP28, TEMP29, TEMP30

Release 18.2 - © ANSYS, Inc. All rights reserved.