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 |