## 5.16. MDGRID3, Autodyn-3D Grid Variable Definitions

Module mdgrid3 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 mdgrid3

          USE kindef
          USE memory
          USE cycvar
          USE gloopt
          USE ijknow
          USE subdef
          USE mltmat3
          USE microz3
          USE prodef3
          USE euldef
          USE eulmem
          USE verdef
          USE fctshl

          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

          INTEGER (INT1), DIMENSION(1),     TARGET :: IAPSNL=99
          INTEGER (INT1), DIMENSION(1,1,1), TARGET :: IAP3NL=99
          INTEGER (INT4), DIMENSION(1),     TARGET :: IAPNUL=999999
          INTEGER (INT4), DIMENSION(1,1),   TARGET :: IAP2NL=999999
          REAL (REAL8),   DIMENSION(1),     TARGET :: RAPNUL=999999.0

          TYPE (JOIN_POINTERS), DIMENSION(LIMSUB) :: JNGRID, JNTEMP

          TYPE (INTEGER_ARRAY_POINTER), DIMENSION(:), POINTER :: JNSUB
          TYPE (INTEGER_ARRAY_POINTER), DIMENSION(1),  TARGET :: JNNUL

          TYPE WET_PAR
            REAL(REAL8),DIMENSION(6) :: FR
            REAL(REAL8)              :: SC
            REAL(REAL8),DIMENSION(3) :: GD
            INTEGER (INT1)           :: M1,M2
          END TYPE WET_PAR

          TYPE SCPT
            REAL (REAL8),POINTER :: PT
          END TYPE SCPT

          TYPE TRANS_VAR
            INTEGER(INT1)                       :: NMP
            INTEGER(INT4),DIMENSION(:),POINTER  :: MT
            REAL  (REAL8),DIMENSION(:),POINTER  :: VR
            REAL  (REAL8),DIMENSION(:),POINTER  :: VTR1
            REAL  (REAL8),DIMENSION(:),POINTER  :: VTR2
            REAL  (REAL8),DIMENSION(:),POINTER  :: VTR3
          END  TYPE TRANS_VAR

          TYPE MULTI_ARRAY_3D
            INTEGER (INT4) :: NUMLT
            INTEGER (INT4) :: NUMDT
            INTEGER (INT4), DIMENSION(:), POINTER :: M
            REAL (REAL8),   DIMENSION(:), POINTER :: V
            TYPE(TRANS_VAR), POINTER :: TRNS
            TYPE(WET_PAR), POINTER :: WFRV
          END TYPE MULTI_ARRAY_3D
          TYPE TRMEM
            TYPE(TRANS_VAR), DIMENSION(:), POINTER :: TR
            INTEGER(INT4)  , DIMENSION(:), POINTER :: IV
            REAL (REAL8)   , DIMENSION(:), POINTER :: RV
            REAL (REAL8)   , DIMENSION(:), POINTER :: VTR1
            REAL (REAL8)   , DIMENSION(:), POINTER :: VTR2
            REAL (REAL8)   , DIMENSION(:), POINTER :: VTR3
          END TYPE TRMEM
          TYPE MULTI_MATERIAL_POINTERS
            TYPE (MULTI_ARRAY_3D), DIMENSION(:), POINTER :: MTS
          END TYPE MULTI_MATERIAL_POINTERS

          INTEGER (INT1),TARGET,DIMENSION(1) :: NULIAP
          REAL (REAL8)  ,TARGET,DIMENSION(1) :: NULRAP
          TYPE(TRANS_VAR), DIMENSION(:), POINTER :: TRANS
          TYPE(TRANS_VAR), TARGET :: NULTRN
          TYPE(WET_PAR)  , DIMENSION(:), POINTER :: WETPT

          TYPE (MULTI_MATERIAL_POINTERS), DIMENSION(LIMSUB) :: MTGRID, MTTEMP

          TYPE (MULTI_ARRAY_3D), DIMENSION(:), POINTER :: MTSUB
          REAL (REAL8), DIMENSION(:), POINTER :: ML, MLX

          TYPE (REAL_ARRAY2_POINTER), DIMENSION(LIMMLV) :: CMLT

          INTERFACE MEMALLOC
            MODULE PROCEDURE MEMALLOC_MULTMAT_POINTER3
            MODULE PROCEDURE MEMALLOC_MULTI_ARRAY3_3D
            MODULE PROCEDURE MEMALLOC_TRANS_VAR_ARRAY3
            MODULE PROCEDURE MEMALLOC_MICARRAY_POINTER3
          END INTERFACE

          INTERFACE MEMDEALLOC
            MODULE PROCEDURE MEMDEALLOC_MULTMAT_POINTER3
            MODULE PROCEDURE MEMDEALLOC_MULTI_ARRAY3_3D
            MODULE PROCEDURE MEMDEALLOC_TRANS_VAR_ARRAY3
            MODULE PROCEDURE MEMDEALLOC_MICARRAY_POINTER3
          END INTERFACE

          INTEGER (INT4), DIMENSION(:), POINTER ::  MVAR

          ! MULTIMATERIAL VARIABLES STORED FOR EACH MAT IN ZONE:
          ! 1 CVF - RELATIVE VOLUME 2 CMS -  MASS       3 CEN -  ENERGY
          ! 4 CMU - RHO/RHOREF-1    5 CTP - TEMPERATURE 6 CAL -  REACTION RATE
          ! 7 CBF -                 8 CDM - DAMAGE      9 CPS - PLASTIC STRAIN
          !10 CCC - C ZERO          11 CSS - S         12 CSN - PLASTIC STRAIN
          ! STORED IN MTGRID(NSUB)%MTS(IJK)%V(NNMZVR+(1:9)) ...

          INTEGER, PARAMETER :: NCVF = 1, NCMS = 2, NCEN = 3, NCMU = 4
          INTEGER, PARAMETER :: NCTP = 5, NCAL = 6, NCBF = 7, NCDM = 8
          INTEGER, PARAMETER :: NCPS = 9, NCCC =10, NCSS =11, NCSN =12

          ! ZONAL VARIABLES DEFINED FOR NON VOID ZONES:
          ! NNVOLN=NOFMV(NVOLN) , ETC... NOFMV DEFINED IN INIT

          INTEGER (INT4) :: NNUXN , NNUYN ,  NNUZN
          INTEGER (INT4) :: NNVOLN, NNPN  ,  NNPLWK, NNDEN
          INTEGER (INT4) :: NNEPSD, NNEFS ,  NNSSPD, NNDIV
          INTEGER (INT4) :: NNTXX , NNTYY ,  NNTZZ , NNTXY
          INTEGER (INT4) :: NNTYZ , NNTZX ,  NNTVM , NNYLD
          INTEGER (INT4) :: NNEXXD, NNEYYD,  NNEZZD
          INTEGER (INT4) :: NNEXYD, NNEYZD,  NNEZXD, NNVOID
          INTEGER (INT4) :: NNSLP1, NNDPDX,  NNDPDY, NNDPDZ
          INTEGER (INT4) :: NNDRDX, NNDRDY,  NNDRDZ
          INTEGER (INT4) :: NNUXDX, NNUXDY,  NNUXDZ
          INTEGER (INT4) :: NNUYDX, NNUYDY,  NNUYDZ
          INTEGER (INT4) :: NNUZDX, NNUZDY,  NNUZDZ, NNSLP2
          INTEGER (INT4) :: NNRIJN, NNRJJN,  NNRKJN, NNZVAR
          INTEGER (INT4),DIMENSION(6) :: NNSTRS
          INTEGER, PARAMETER :: NNMXVR = 50
          ! NNMZVR=NNZVAR FOR NPROC=5,0 FOR OTHERS...
          ! NNMZVR=41, NDAT1=NNMZVR+1 NO PARAMETER AS GETMLT USED BY OTHER PROC TOO
          INTEGER (INT4) :: IL
          INTEGER (INT4), DIMENSION(LIMVAR) :: NOFMV
          INTEGER (INT4), DIMENSION(1),TARGET :: UNUSED=99
          REAL (REAL8), DIMENSION(NNMXVR), TARGET :: VOIDTG
          REAL (REAL8), DIMENSION(1), TARGET :: NULLTG
          REAL (REAL8), TARGET :: ZEROTG=ZERO
          REAL (REAL8), DIMENSION(NNMXVR,2), TARGET :: ZVBUFF
          REAL (REAL8), DIMENSION(:), POINTER :: VARS, VARSP, SLOPES

          REAL (REAL8), DIMENSION(:,:), POINTER :: CVF=>NULL(), CMS=>NULL(), CEN=>NULL(), CMU=>NULL(), CTP=>NULL()
          REAL (REAL8), DIMENSION(:,:), POINTER :: CAL=>NULL(), CBF=>NULL(), CDM=>NULL(), CPS=>NULL()
          REAL (REAL8), DIMENSION(:,:), POINTER :: CCC=>NULL(), CSS=>NULL(), CSN=>NULL()
          REAL (REAL8), DIMENSION(:,:), POINTER :: GVARM
          CHARACTER (LEN=1), DIMENSION(LIMMLV), TARGET :: IDRESM, IDHISM, IDPRTM, IDCONM
          CHARACTER (LEN=1), DIMENSION(LIMMLV), TARGET :: IDEXMM, IDREZM, IDNOCM

          TYPE MICRO_ARRAY_3D
            INTEGER (INT1), DIMENSION(LIMMC,LIMMC,LIMMC) :: MAT
            REAL (REAL8), DIMENSION(LIMMC,LIMMC,LIMMC) :: UX, UY, UZ, RHO, SIE
          END TYPE MICRO_ARRAY_3D

          TYPE MICRO_ARRAY_3D_POINTER
            TYPE (MICRO_ARRAY_3D), POINTER :: MAR
          END TYPE MICRO_ARRAY_3D_POINTER

          TYPE MICROZONE_POINTERS_3D
            TYPE (MICRO_ARRAY_3D_POINTER), DIMENSION(:), POINTER :: MCR
          END TYPE MICROZONE_POINTERS_3D

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

          TYPE (MICRO_ARRAY_3D), 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 :: KBZ =  6, KBI =  7, KBJ =  8, KBK =  9, KRX = 10
          INTEGER, PARAMETER :: KRY = 11, KRZ = 12, KNW = 13, KAL = 14, KED = 15
          INTEGER, PARAMETER :: KIC = 16
          INTEGER, PARAMETER :: K01 = 17
          INTEGER, PARAMETER :: K02 = K01+1, K03 = K01+2, K04 = K01+3, K05 = K01+4
          INTEGER, PARAMETER :: K06 = K01+5, K07 = K01+6, K08 = K01+7, K09 = K01+8
          INTEGER, PARAMETER :: K10 = K01+9
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPKMT, NPKMN, NPKMS, NPKBX
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPKBY, NPKBZ, NPKBI, NPKBJ
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPKBK, NPKRX, NPKRY, NPKRZ
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPKNW, NPKAL, NPK01, NPK02
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPK03, NPK04, NPK05, NPK06
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPK07, NPK08, NPK09, NPK10
          INTEGER (INT1), DIMENSION(:), POINTER ::  NPKED, NPKIC
          INTEGER (INT1), DIMENSION(:), POINTER ::  NVAR,  NTVR,  KBIJK

          ! 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 STANDARD AND TEMPORARY SUBGRID REAL VARIABLES
          TYPE (REAL_ARRAY_POINTER),  DIMENSION(LIMSUB,LIMVAR) :: GRID

          ! 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, ZPP_TMP

          ! POINTER ARRAY FOR TEMPORARY REAL VARIABLES IN EUL3P3
          INTEGER (INT4),PARAMETER   :: NSMGVR = 19
          TYPE (REAL_ARRAY_POINTER), DIMENSION(LIMSUB,NSMGVR) :: SGRID
          ! TEMPORARY 2D POINTER ARRAYS FOR TRANSPORTS
          TYPE (REAL_ARRAY2_POINTER), DIMENSION(LIMSUB)   :: TRVOL
          TYPE (REAL_ARRAY2_POINTER), DIMENSION(LIMSUB)   :: GRDTMS

          ! POINTER ARRAYS TO BEAM OBJECT LISTS
          TYPE (CHARACTER_10_POINTER),  DIMENSION(LIMSUB) :: NAMEBM
          TYPE (INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB) :: NBASBM
          TYPE (INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB) :: IDIABB
          TYPE (SMALL_INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB) :: IBMXBB
          TYPE (SMALL_INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB) :: JBMXBB
          TYPE (SMALL_INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB) :: KBMXBB
          TYPE (SMALL_INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB) :: INCXBB
          TYPE (SMALL_INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB) :: INCYBB
          TYPE (SMALL_INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB) :: INCZBB
          TYPE (SMALL_INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB) :: NBOJTB
          INTEGER (INT4), DIMENSION(:), POINTER :: NBSBOJ, IDIAGB
          INTEGER (INT1), DIMENSION(:), POINTER :: IBMXBM, JBMXBM, KBMXBM
          INTEGER (INT1), DIMENSION(:), POINTER :: INCXBM, INCYBM, INCZBM
          INTEGER (INT1), DIMENSION(:), POINTER :: NBOJTY
          CHARACTER (LEN=10), DIMENSION(:), POINTER :: NAMBOJ
          INTEGER (INT4) :: IMDUM

          INTEGER, PARAMETER ::     NXN =  1,     NYN =  2,     NZN =  3
          INTEGER, PARAMETER ::    NUXN =  4,    NUYN =  5,    NUZN =  6
          INTEGER, PARAMETER ::     NFX =  7,     NFY =  8,     NFZ =  9
          INTEGER, PARAMETER ::  NPMASS = 10, NBMAREA = 11,   NVOLN = 12
          INTEGER, PARAMETER ::     NPN = 13,      NQ = 14,   NPLWK = 15
          INTEGER, PARAMETER ::    NDEN = 16, NEPSDOT = 17,    NEFS = 18
          INTEGER, PARAMETER ::   NSSPD = 19,    NDIV = 20,    NT11 = 21
          INTEGER, PARAMETER ::    NT22 = 22,    NT33 = 23,    NTXX = 24
          INTEGER, PARAMETER ::    NTYY = 25,    NTZZ = 26,    NTXY = 27
          INTEGER, PARAMETER ::    NTYZ = 28,    NTZX = 29,    NTVM = 30
          INTEGER, PARAMETER ::  NYIELD = 31,   NEXXD = 32,   NEYYD = 33
          INTEGER, PARAMETER ::   NEZZD = 34,   NEXYD = 35,   NEYZD = 36
          INTEGER, PARAMETER ::   NEZXD = 37,    NWXN = 38,    NWYN = 39
          INTEGER, PARAMETER ::    NWZN = 40,   NRI11 = 41,   NRI22 = 42
          INTEGER, PARAMETER ::   NRI33 = 43,   NVOID = 44,   NDPDX = 45
          INTEGER, PARAMETER ::   NDPDY = 46,   NDPDZ = 47,   NDRDX = 48
          INTEGER, PARAMETER ::   NDRDY = 49,   NDRDZ = 50,  NDUXDX = 51
          INTEGER, PARAMETER ::  NDUXDY = 52,  NDUXDZ = 53,  NDUYDX = 54
          INTEGER, PARAMETER ::  NDUYDY = 55,  NDUYDZ = 56,  NDUZDX = 57
          INTEGER, PARAMETER ::  NDUZDY = 58,  NDUZDZ = 59,   NSTN1 = 60
          INTEGER, PARAMETER ::   NSTN2 = 61,  NSTN12 = 62,  NSTRS1 = 63
          INTEGER, PARAMETER ::  NSTRS2 = 64, NSTRS12 = 65,  NSRES1 = 66
          INTEGER, PARAMETER ::  NSRES2 = 67,  NBMOM1 = 68,  NBMOM2 = 69
          INTEGER, PARAMETER :: NBMOM12 = 70,  NTHICK = 71,  NDIRNX = 72
          INTEGER, PARAMETER ::  NDIRNY = 73,  NDIRNZ = 74,    NT12 = 75
          INTEGER, PARAMETER ::    NT23 = 76,    NT31 = 77,  NSTN11 = 78
          INTEGER, PARAMETER ::  NSTN22 = 79,  NSTN33 = 80, NSTN12V = 81
          INTEGER, PARAMETER ::  NSTN23 = 82,  NSTN31 = 83, NRIJOIN = 84
          INTEGER, PARAMETER :: NRJJOIN = 85, NRKJOIN = 86,  NCOSFI = 87
          INTEGER, PARAMETER ::  NSINFI = 88,  NPSANG = 89, NSPARE1 = 90
          INTEGER, PARAMETER :: NBMLENZ = 91, NSPARE2 = 92,    NRJJ = 93
          INTEGER, PARAMETER ::   NFAXI = 94,   NFTOR = 95, NBMOMYI = 96
          INTEGER, PARAMETER :: NBMOMYJ = 97, NBMOMZI = 98, NBMOMZJ = 99
          INTEGER, PARAMETER ::  NBBV11 =100,  NBBV12 =101,  NBBV13 =102
          INTEGER, PARAMETER ::  NBBV21 =103,  NBBV22 =104,  NBBV23 =105
          INTEGER, PARAMETER ::  NBBV31 =106,  NBBV32 =107,  NBBV33 =108
          INTEGER, PARAMETER ::  NEBV11 =109,  NEBV12 =110,  NEBV13 =111
          INTEGER, PARAMETER ::  NEBV21 =112,  NEBV22 =113,  NEBV23 =114
          INTEGER, PARAMETER ::  NEBV31 =115,  NEBV32 =116,  NEBV33 =117

          INTEGER, PARAMETER ::  NVAR01 =118,  NVAR02 =119,  NVAR03 =120
          INTEGER, PARAMETER ::  NVAR04 =121,  NVAR05 =122,  NVAR06 =123
          INTEGER, PARAMETER ::  NVAR07 =124,  NVAR08 =125,  NVAR09 =126
          INTEGER, PARAMETER ::  NVAR10 =127,  NVAR11 =128,  NVAR12 =129
          INTEGER, PARAMETER ::  NVAR13 =130,  NVAR14 =131,  NVAR15 =132
          INTEGER, PARAMETER ::  NVAR16 =133,  NVAR17 =134,  NVAR18 =135
          INTEGER, PARAMETER ::  NVAR19 =136,  NVAR20 =137

          INTEGER, PARAMETER ::    NSML =138, NDENNM1 =139,   NRNON =140
          INTEGER, PARAMETER ::   NVORX =141,   NVORY =142,   NVORZ =143
          INTEGER, PARAMETER ::   NHQM1 =144,   NHQM2 =145,   NHQB1 =146
          INTEGER, PARAMETER ::   NHQB2 =147,   NHQB3 =148, NFCOVRI =149
          INTEGER, PARAMETER ::  NFCOVRJ=150, NFCOVRK =151, NFCOVRV =152
          INTEGER, PARAMETER ::  NRBLEND=153,   NPDIL =154,   NEDIL =155
          INTEGER, PARAMETER :: NEPSPRE =156,  NFRATE =157,   NFCAP =158
          INTEGER, PARAMETER ::  NEPSDO =159, NRTHIRD =160,  NTFAIL =161
          INTEGER, PARAMETER ::  NHNORM =162, NPCOR11 =163, NPCOR22 =164
          INTEGER, PARAMETER :: NPCOR33 =165,   NVTXX =166,   NVTYY =167
          INTEGER, PARAMETER ::   NVTZZ =168,   NVTXY =169,   NVTYZ =170
          INTEGER, PARAMETER ::   NVTZX =171, NIGTIME =172, NSBRCRT =173
          INTEGER, PARAMETER :: NABSVEL =174,  NFMASS =175, NNUMCEL =176
          INTEGER, PARAMETER :: NSPDMMS =177, NDTMPDX =178, NDTMPDY =179
          INTEGER, PARAMETER :: NDTMPDZ =180, NTHMENG =181,    NXN0 =182
          INTEGER, PARAMETER ::    NYN0 =183,    NZN0 =184,   NPGAS =185
          INTEGER, PARAMETER :: NFILDEN =186,   NMOTT =187

          INTEGER, PARAMETER ::  NSTRT = 187

          INTEGER, PARAMETER :: NTEMP01 =NSTRT+01, NTEMP02 =NSTRT+02
          INTEGER, PARAMETER :: NTEMP03 =NSTRT+03, NTEMP04 =NSTRT+04
          INTEGER, PARAMETER :: NTEMP05 =NSTRT+05, NTEMP06 =NSTRT+06
          INTEGER, PARAMETER :: NTEMP07 =NSTRT+07, NTEMP08 =NSTRT+08
          INTEGER, PARAMETER :: NTEMP09 =NSTRT+09, NTEMP10 =NSTRT+10
          INTEGER, PARAMETER :: NTEMP11 =NSTRT+11, NTEMP12 =NSTRT+12
          INTEGER, PARAMETER :: NTEMP13 =NSTRT+13, NTEMP14 =NSTRT+14
          INTEGER, PARAMETER :: NTEMP15 =NSTRT+15, NTEMP16 =NSTRT+16
          INTEGER, PARAMETER :: NTEMP17 =NSTRT+17, NTEMP18 =NSTRT+18
          INTEGER, PARAMETER :: NTEMP19 =NSTRT+19, NTEMP20 =NSTRT+20
          INTEGER, PARAMETER :: NTEMP21 =NSTRT+21, NTEMP22 =NSTRT+22
          INTEGER, PARAMETER :: NTEMP23 =NSTRT+23, NTEMP24 =NSTRT+24
          INTEGER, PARAMETER :: NTEMP25 =NSTRT+25, NTEMP26 =NSTRT+26
          INTEGER, PARAMETER :: NTEMP27 =NSTRT+27, NTEMP28 =NSTRT+28
          INTEGER, PARAMETER :: NTEMP29 =NSTRT+29, NTEMP30 =NSTRT+30
          INTEGER, PARAMETER :: NTEMP31 =NSTRT+31, NTEMP32 =NSTRT+32
          INTEGER, PARAMETER :: NTEMP33 =NSTRT+33

          INTEGER (INT4)     :: NTTAL=0,NBLAL=0,NBLRL=0,NNALL=0,NMTPAR=0
           ! LIST OF EUL. ZONE VARIABLES DEFINED IN GRID
          INTEGER (INT4)            :: NGDVAR = 0
          INTEGER,DIMENSION(LIMVAR) :: LGDVAR
          ! LIST OF TEMP EUL. ZONE VARIABLES DEFINED FOR NON VOID ZONES
          INTEGER (INT4),PARAMETER  :: NVRNVZ =14
          INTEGER,DIMENSION(NVRNVZ) :: LVRNVZ= (/(IL,IL=NTEMP01,NTEMP14)/)

          REAL (REAL8), DIMENSION(:), POINTER ::     XN,     YN,     ZN,    UXN
          REAL (REAL8), DIMENSION(:), POINTER ::    UYN,    UZN,     FX,     FY
          REAL (REAL8), DIMENSION(:), POINTER ::     FZ,  PMASS, BMAREA,   VOLN
          REAL (REAL8), DIMENSION(:), POINTER ::     PN,      Q,   PLWK,    DEN
          REAL (REAL8), DIMENSION(:), POINTER :: EPSDOT,    EFS,   SSPD,    DIV
          REAL (REAL8), DIMENSION(:), POINTER ::    T11,    T22,    T33,    TXX
          REAL (REAL8), DIMENSION(:), POINTER ::    TYY,    TZZ,    TXY,    TYZ
          REAL (REAL8), DIMENSION(:), POINTER ::    TZX,    TVM,  YIELD,   EXXD
          REAL (REAL8), DIMENSION(:), POINTER ::   EYYD,   EZZD,   EXYD,   EYZD
          REAL (REAL8), DIMENSION(:), POINTER ::   EZXD,    WXN,    WYN,    WZN
          REAL (REAL8), DIMENSION(:), POINTER ::   RI11,   RI22,   RI33,   VOID
          REAL (REAL8), DIMENSION(:), POINTER ::   DPDX,   DPDY,   DPDZ,   DRDX
          REAL (REAL8), DIMENSION(:), POINTER ::   DRDY,   DRDZ,  DUXDX,  DUXDY
          REAL (REAL8), DIMENSION(:), POINTER ::  DUXDZ,  DUYDX,  DUYDY,  DUYDZ
          REAL (REAL8), DIMENSION(:), POINTER ::  DUZDX,  DUZDY,  DUZDZ,   STN1
          REAL (REAL8), DIMENSION(:), POINTER ::   STN2,  STN12,  STRS1,  STRS2
          REAL (REAL8), DIMENSION(:), POINTER :: STRS12,  SRES1,  SRES2,  BMOM1
          REAL (REAL8), DIMENSION(:), POINTER ::  BMOM2, BMOM12,  THICK,  DIRNX
          REAL (REAL8), DIMENSION(:), POINTER ::  DIRNY,  DIRNZ,    T12,    T23
          REAL (REAL8), DIMENSION(:), POINTER ::    T31,  STN11,  STN22,  STN33
          REAL (REAL8), DIMENSION(:), POINTER :: STN12V,  STN23,  STN31, RIJOIN
          REAL (REAL8), DIMENSION(:), POINTER :: RJJOIN, RKJOIN,  COSFI,  SINFI

          REAL (REAL8), DIMENSION(:), POINTER ::  PSANG, BMLENZ
          REAL (REAL8), DIMENSION(:), POINTER ::    RJJ,   FAXI,   FTOR, BMOMYI
          REAL (REAL8), DIMENSION(:), POINTER :: BMOMYJ, BMOMZI, BMOMZJ,  BBV11
          REAL (REAL8), DIMENSION(:), POINTER ::  BBV12,  BBV13,  BBV21,  BBV22
          REAL (REAL8), DIMENSION(:), POINTER ::  BBV23,  BBV31,  BBV32,  BBV33
          REAL (REAL8), DIMENSION(:), POINTER ::  EBV11,  EBV21,  EBV31,  EBV12
          REAL (REAL8), DIMENSION(:), POINTER ::  EBV22,  EBV32,  EBV13,  EBV23
          REAL (REAL8), DIMENSION(:), POINTER ::  EBV33
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR01,  VAR02,  VAR03,  VAR04
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR05,  VAR06,  VAR07,  VAR08
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR09,  VAR10,  VAR11,  VAR12
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR13,  VAR14,  VAR15,  VAR16
          REAL (REAL8), DIMENSION(:), POINTER ::  VAR17,  VAR18,  VAR19,  VAR20
          REAL (REAL8), DIMENSION(:), POINTER ::    SML, DENNM1,   RNON,   VORX
          REAL (REAL8), DIMENSION(:), POINTER ::   VORY,   VORZ,   HQM1,   HQM2
          REAL (REAL8), DIMENSION(:), POINTER ::   HQB1,   HQB2,   HQB3, FCOVRI
          REAL (REAL8), DIMENSION(:), POINTER :: FCOVRJ, FCOVRK, FCOVRV, RBLEND
          REAL (REAL8), DIMENSION(:), POINTER ::   PDIL,   EDIL, EPSPRE,  HNORM
          REAL (REAL8), DIMENSION(:), POINTER :: FRATE,    FCAP,  EPSDO, RTHIRD
          REAL (REAL8), DIMENSION(:), POINTER :: TFAIL,  PCOR11, PCOR22, PCOR33
          REAL (REAL8), DIMENSION(:), POINTER ::  VTXX,    VTYY,   VTZZ,   VTXY
          REAL (REAL8), DIMENSION(:), POINTER ::  VTYZ,    VTZX, IGTIME, SBRCRT
          REAL (REAL8), DIMENSION(:), POINTER ::ABSVEL,   FMASS, NUMCEL, SPDMMS
          REAL (REAL8), DIMENSION(:), POINTER ::DTMPDX,  DTMPDY, DTMPDZ, THMENG
          REAL (REAL8), DIMENSION(:), POINTER ::   XN0,     YN0,    ZN0,   PGAS
          REAL (REAL8), DIMENSION(:), POINTER ::FILDEN,    MOTT

          REAL (REAL8), DIMENSION(:), POINTER :: TEMP01, TEMP02, TEMP03, TEMP04
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP05, TEMP06, TEMP07, TEMP08
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP09, TEMP10, TEMP11, TEMP12
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP13, TEMP14, TEMP15, TEMP16
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP17, TEMP18, TEMP19, TEMP20
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP21, TEMP22, TEMP23, TEMP24
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP25, TEMP26, TEMP27, TEMP28
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP29, TEMP30, TEMP31, TEMP32
          REAL (REAL8), DIMENSION(:), POINTER :: TEMP33

          REAL (REAL8), DIMENSION(:), POINTER ::   GVAR, GTVR,  UNIJK
          REAL (REAL8), DIMENSION(:,:), POINTER :: DVOL
          REAL (REAL8), DIMENSION(:), POINTER :: ULN, DPDL, DRDL
          REAL (REAL8), DIMENSION(:), POINTER :: DUXDL, DUYDL, DUZDL, DULDL
          REAL (REAL8), DIMENSION(:), POINTER ::   XPP,   YPP,   ZPP
          REAL (REAL8), DIMENSION(:), POINTER ::  UXREL,  UYREL, UZREL
          REAL (REAL8), DIMENSION(:), POINTER ::   BX,   BY,   BZ
          REAL (REAL8), DIMENSION(:), POINTER ::   EB11,EB12,EB13,EB21,EB22,EB23
          REAL (REAL8), DIMENSION(:), POINTER ::   EB31,EB32,EB33
          REAL (REAL8), DIMENSION(:,:), POINTER ::  CAREA, CDIMT

          INTEGER (INT4), PARAMETER :: LIMSBL=3, LIMSBT = 100, LIMSHV = 19
          TYPE SHELL_VAR
            TYPE (REAL_ARRAY_POINTER), DIMENSION(:,:), POINTER :: P
          END TYPE
          TYPE (SHELL_VAR), DIMENSION(LIMSUB)  :: GRIDSH

          TYPE (SMALL_INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB,LIMSBT):: NSMAT, NSFAIL
          TYPE (REAL_ARRAY_POINTER), DIMENSION(LIMSUB) :: ZZTP, HHTP
          REAL (REAL8), DIMENSION(:), POINTER :: ZZT, HHT

          INTEGER , PARAMETER :: LIMPPD=10
          INTEGER (INT4)  :: NUMPPD, NPPD
          CHARACTER (LEN=8), DIMENSION(LIMPPD) :: NAMPPD
          INTEGER (INT4), DIMENSION (LIMSUB,LIMPPD) :: IPPD, JPPD, KPPD, IPPBAS
          TYPE (SMALL_INTEGER_ARRAY3_POINTER),DIMENSION(LIMSUB,LIMPPD)::PPPROC
          TYPE (INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB,LIMPPD) :: IISPAT
          TYPE (INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB,LIMPPD) :: JJSPAT
          TYPE (INTEGER_ARRAY_POINTER), DIMENSION(LIMSUB,LIMPPD) :: KKSPAT

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