Module matdef includes global material data variables.
MODULE matdef
USE kindef
! **************************************************************
! THIS MODULE DEFINES ALL MATERIAL MODELING FLAGS/OPTIONS.
! MAIN/BASIC MATERIAL FLAGS AND OPTIONS:
! - THESE DEFINE THE TOP LEVEL STRUCTURE OF A MATERIAL MODEL
! AND MUST ALWAYS BE SET FOR A GIVEN MATERIAL
!
! ADDITIONAL MATERIAL FLAGS/OPTIONS:
! - THESE DEFINE MATERIAL MODELING OPTIONS THAT CAN BE USED
! TO RECURSIVELY ACCESS MATERIAL MODELING OPTION INPUT
! AND EQUATIONS. IN PARTICULAR, THEY ARE USED IN THE GENERIC
! MATERIAL MODEL BUILDER
! **************************************************************
IMPLICIT NONE
SAVE
INTEGER (INT4) :: LIMMAT, LIMMAP
INTEGER (INT4) :: IFUPDATE=0 ! FLAG TO INDICATE IF MATERIAL IS BEING UPDATED IN GET_VIS
INTEGER (INT4), PARAMETER :: LIMSOL = 8
INTEGER (INT4) :: IFSPH
INTEGER (INT4) :: NUMMAT, NUMMAP, MATNO, MATOLD, NEOS, NSTR, NFAI
INTEGER (INT4) :: MUNTYP, KUNTYP, IFOUT, MATNOP
INTEGER (INT4) :: NUMMAT_TMP
LOGICAL,DIMENSION(:), POINTER :: LSMTPL=>NULL()
REAL (REAL8), DIMENSION(:), POINTER :: RMATIE=>NULL(), RMATKE=>NULL(), RMATDE=>NULL(), RMATVL=>NULL()
REAL (REAL8), DIMENSION(:), POINTER :: RMATXM=>NULL(), RMATYM=>NULL(), RMATZM=>NULL(), RMATMS=>NULL()
! MODEL PARAMETERS COMMON TO SEVERAL FLAGS (OPTIONS)
INTEGER(INT4) :: NSBSLD, IFSTOCH
REAL (REAL8) :: RHOREF, A1, C1
REAL (REAL8) :: TPREF, SHCV
REAL (REAL8) :: EY1, EY2, EY3, V12, V23, V31, G12, G23, G31
REAL (REAL8) :: OAN, OXC, OYC, OZC
REAL (REAL8) :: C11, C22, C33, C12, C23, C31, KEFF
REAL (REAL8) :: SHRMDZ, YLDSTZ, EROMOD, EROSON, PMIN, EPSLIM
REAL (REAL8) :: DERIV1, DERIV2
REAL (REAL8) :: FT11, FT22, FT33, FT12, FE11, FE22, FE33, FE12, FT31, FT23
REAL (REAL8) :: FE23, FE31, X11M, Y11M, Z11M
REAL (REAL8) :: OMTY, OMAN, OMXC, OMYC, OMZC, FTYPE
REAL (REAL8) :: GF, CCDIAG, CCOUP, CSHR
REAL (REAL8) :: CC, SS
! DEFINE PROCESSOR FLAGS - THESE SHOULD GO IN COMMON GRID MODULE WHEN INTEGRATED
INTEGER(INT4), PARAMETER :: ISLV_LAG = 1
INTEGER(INT4), PARAMETER :: ISLV_EULER = 2
INTEGER(INT4), PARAMETER :: ISLV_ALE = 3
INTEGER(INT4), PARAMETER :: ISLV_SHELL = 4
INTEGER(INT4), PARAMETER :: ISLV_EULER_GOD = 5
INTEGER(INT4), PARAMETER :: ISLV_FCT = 6
INTEGER(INT4), PARAMETER :: ISLV_SPH = 7
INTEGER(INT4), PARAMETER :: ISLV_BEAM = 8
! DEFINE PARAMETERS OF MATERIAL TYPES
INTEGER(INT4), PARAMETER :: MATTYP_ISO = 1
INTEGER(INT4), PARAMETER :: MATTYP_ORTHO = 2
INTEGER(INT4), PARAMETER :: MATTYP_GAS = 3
! COMPLETE LIST OF MODEL FLAGS INCLUDING FUTURE FLAGS
INTEGER(INT4), PARAMETER :: NUMFLAGS = 1000
INTEGER(INT4), PARAMETER :: NFLAGS_MAIN = 100
INTEGER (INT4), PARAMETER::IMF_EQUATION =1
INTEGER (INT4), PARAMETER::IMF_EOS =2
INTEGER (INT4), PARAMETER::IMF_STR =3
INTEGER (INT4), PARAMETER::IMF_FAI =4
INTEGER (INT4), PARAMETER::IMF_POR =5
INTEGER (INT4), PARAMETER::IMF_ERO =6
INTEGER (INT4), PARAMETER::IMF_CUTOFFS =7
INTEGER (INT4), PARAMETER::IMF_OPTIONS =8
INTEGER (INT4), PARAMETER::IMF_USER_MAT_1 =90
INTEGER (INT4), PARAMETER::IMF_USER_MAT_2 =91
INTEGER (INT4), PARAMETER::IMF_USER_MAT_3 =92
INTEGER (INT4), PARAMETER::IMF_USER_MAT_4 =93
INTEGER (INT4), PARAMETER::IMF_USER_MAT_5 =94
INTEGER (INT4), PARAMETER::IMF_EOS_LINEAR =101
INTEGER (INT4), PARAMETER::IMF_EOS_POLYNOMIAL=102
INTEGER (INT4), PARAMETER::IMF_EOS_IDEALGAS =103
INTEGER (INT4), PARAMETER::IMF_EOS_SHOCK =104
INTEGER (INT4), PARAMETER::IMF_EOS_JWL =105
INTEGER (INT4), PARAMETER::IMF_EOS_TILLOTSON =106
INTEGER (INT4), PARAMETER::IMF_EOS_PUFF =107
INTEGER (INT4), PARAMETER::IMF_EOS_POROUS =108
INTEGER (INT4), PARAMETER::IMF_EOS_ORTHO =109
INTEGER (INT4), PARAMETER::IMF_EOS_TWOPHASE =110
INTEGER (INT4), PARAMETER::IMF_EOS_LEETARVER =111
INTEGER (INT4), PARAMETER::IMF_EOS_SESAME =112
INTEGER (INT4), PARAMETER::IMF_EOS_COMPACTION=113
INTEGER (INT4), PARAMETER::IMF_EOS_PALPHA =114
INTEGER (INT4), PARAMETER::IMF_EOS_GRUN =115
INTEGER (INT4), PARAMETER::IMF_EOS_GEN =116
INTEGER (INT4), PARAMETER::IMF_EOS_HJC =117
INTEGER (INT4), PARAMETER::IMF_EOS_SLOWBURN =118
INTEGER (INT4), PARAMETER::IMF_EOS_USER_1 =190
INTEGER (INT4), PARAMETER::IMF_EOS_USER_2 =191
INTEGER (INT4), PARAMETER::IMF_EOS_USER_3 =192
INTEGER (INT4), PARAMETER::IMF_EOS_USER_4 =193
INTEGER (INT4), PARAMETER::IMF_EOS_USER_5 =194
INTEGER (INT4), PARAMETER::IMF_LIMEOS = IMF_EOS_LINEAR - 123
INTEGER (INT4), PARAMETER::IMF_STR_HYDRO =201
INTEGER (INT4), PARAMETER::IMF_STR_ELASTIC =202
INTEGER (INT4), PARAMETER::IMF_STR_VONMISES =203
INTEGER (INT4), PARAMETER::IMF_STR_DRUCKERP =204
INTEGER (INT4), PARAMETER::IMF_STR_JNCOOK =205
INTEGER (INT4), PARAMETER::IMF_STR_ZERARM =206
INTEGER (INT4), PARAMETER::IMF_STR_STEINB =207
INTEGER (INT4), PARAMETER::IMF_STR_PCWISE =208
INTEGER (INT4), PARAMETER::IMF_STR_JH2 =209
INTEGER (INT4), PARAMETER::IMF_STR_RHT =210
INTEGER (INT4), PARAMETER::IMF_STR_GRANULAR =211
INTEGER (INT4), PARAMETER::IMF_STR_GENERIC =212
INTEGER (INT4), PARAMETER::IMF_STR_VISCOEL =213
INTEGER (INT4), PARAMETER::IMF_STR_RJC =214
INTEGER (INT4), PARAMETER::IMF_STR_HJC =215
INTEGER (INT4), PARAMETER::IMF_STR_USER_1 =290
INTEGER (INT4), PARAMETER::IMF_STR_USER_2 =291
INTEGER (INT4), PARAMETER::IMF_STR_USER_3 =292
INTEGER (INT4), PARAMETER::IMF_STR_USER_4 =293
INTEGER (INT4), PARAMETER::IMF_STR_USER_5 =294
INTEGER (INT4), PARAMETER::IMF_STR_BEAMRESIST=295
INTEGER (INT4), PARAMETER::IMF_LIMSTR = IMF_STR_HYDRO - 220
INTEGER (INT4), PARAMETER ::IMF_FAI_NONE =301
INTEGER (INT4), PARAMETER ::IMF_FAI_HYDRO =302
INTEGER (INT4), PARAMETER ::IMF_FAI_PLSTN =303
INTEGER (INT4), PARAMETER ::IMF_FAI_PSTRESS =304
INTEGER (INT4), PARAMETER ::IMF_FAI_PSTRAIN =305
INTEGER (INT4), PARAMETER ::IMF_FAI_PSS =306
INTEGER (INT4), PARAMETER ::IMF_FAI_MSTRESS =307
INTEGER (INT4), PARAMETER ::IMF_FAI_MSTRAIN =308
INTEGER (INT4), PARAMETER ::IMF_FAI_MSS =309
INTEGER (INT4), PARAMETER ::IMF_FAI_CUMDAM =310
INTEGER (INT4), PARAMETER ::IMF_FAI_JH2 =311
INTEGER (INT4), PARAMETER ::IMF_FAI_RHT =312
INTEGER (INT4), PARAMETER ::IMF_FAI_TSHOFF =313
INTEGER (INT4), PARAMETER ::IMF_FAI_GRADY =314
INTEGER (INT4), PARAMETER ::IMF_FAI_JNCOOK =315
INTEGER (INT4), PARAMETER ::IMF_FAI_USER_1 =390
INTEGER (INT4), PARAMETER ::IMF_FAI_USER_2 =391
INTEGER (INT4), PARAMETER ::IMF_FAI_USER_3 =392
INTEGER (INT4), PARAMETER ::IMF_FAI_USER_4 =393
INTEGER (INT4), PARAMETER ::IMF_FAI_USER_5 =394
INTEGER (INT4), PARAMETER ::IMF_LIMFAI =IMF_FAI_NONE - 301
INTEGER (INT4), PARAMETER ::IMF_POR_NONE =401
INTEGER (INT4), PARAMETER ::IMF_POR_SIMPLE =402
INTEGER (INT4), PARAMETER ::IMF_POR_GENERIC =403
INTEGER (INT4), PARAMETER ::IMF_POR_USER_1 =490
INTEGER (INT4), PARAMETER ::IMF_POR_USER_2 =491
INTEGER (INT4), PARAMETER ::IMF_POR_USER_3 =492
INTEGER (INT4), PARAMETER ::IMF_POR_USER_4 =493
INTEGER (INT4), PARAMETER ::IMF_POR_USER_5 =494
INTEGER (INT4), PARAMETER ::IMF_LIMPOR = IMF_POR_NONE - 404
INTEGER (INT4), PARAMETER ::IMF_ERO_NONE =501
INTEGER (INT4), PARAMETER ::IMF_ERO_GEOMETRIC=502
INTEGER (INT4), PARAMETER ::IMF_ERO_PLASTIC =503
INTEGER (INT4), PARAMETER ::IMF_ERO_USER_1 =590
INTEGER (INT4), PARAMETER ::IMF_ERO_USER_2 =591
INTEGER (INT4), PARAMETER ::IMF_ERO_USER_3 =592
INTEGER (INT4), PARAMETER ::IMF_ERO_USER_4 =593
INTEGER (INT4), PARAMETER ::IMF_ERO_USER_5 =594
INTEGER (INT4), PARAMETER ::IMF_LIMERO = IMF_ERO_NONE - 508
INTEGER (INT4) :: LIMPARAM ! DEFINED IN GET_EQ_PARAM
! END OF MAIN/BASIC FLAGS
! EOS DEPENDENT FLAGS
INTEGER (INT4), PARAMETER ::IMF_TEMPERATURE =600
INTEGER (INT4), PARAMETER ::IMF_ORTHO_MODULI =601
INTEGER (INT4), PARAMETER ::IMF_ORTHO_STIFFMAT =602
INTEGER (INT4), PARAMETER ::IMF_ORTHO_IJKSPACE =603
INTEGER (INT4), PARAMETER ::IMF_ORTHO_XYZSPACE =604
! STRENGTH DEPENDENT FLAGS
INTEGER (INT4), PARAMETER ::IMF_YP_PCWISE =701
INTEGER (INT4), PARAMETER ::IMF_YP_LINEAR =702
INTEGER (INT4), PARAMETER ::IMF_YP_STASSI =703
INTEGER (INT4), PARAMETER ::IMF_YD_PCWISE =704
INTEGER (INT4), PARAMETER ::IMF_GD_PCWISE =705
! FAILURE DEPENDENT FLAGS
INTEGER (INT4), PARAMETER ::IMF_FAI_CRACKSOFT =801
INTEGER (INT4), PARAMETER ::IMF_FAI_ORTHODAM =802
INTEGER (INT4), PARAMETER ::IMF_FAI_STOCHASTIC =803
END MODULE matdef
| NUMMAT | Number of materials for problem |
| MATNO | Current material number |
| MATOLD | not available |
| NEOS | Current equation of state number |
| NSTR | Current strength model number |
| NFAI | Current failure model |
For each cell, the following variables are defined, according to the material in that cell:
For all materials:
| RHOREF | Reference density |
| TPREF | Reference temperature |
| SHCV | Specific heat (constant volume) |
| SHRMDZ | Shear modulus (initial) |
| YLDSTZ | Yield stress (initial) |
| EROMOD | Erosion model type |
| EROSON | Erosion model parameter |
| PMIN | Hydrodynamic tensile limit (pmin) |
| EPSLIM | Effective plastic strain limit |