40 . UPARAM ,MAXUPARAM,NUPARAM ,NUVAR ,IFUNC ,
41 . MAXFUNC ,NFUNC ,PARMAT ,UNITAB ,PM ,
42 . ISRATE ,ID ,TITR ,LSUBMODEL,IMATVIS ,
67#include "implicit_f.inc"
76 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
77 INTEGER,
INTENT(IN) :: ID,MAXUPARAM,MAXFUNC
78 my_real,
DIMENSION(NPROPM) ,
INTENT(INOUT) :: PM
79 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
80 INTEGER,
INTENT(INOUT) :: IMATVIS
81 INTEGER,
INTENT(INOUT) :: NUPARAM,NUVAR,NFUNC,ISRATE
82 INTEGER,
DIMENSION(MAXFUNC) ,
INTENT(INOUT) :: IFUNC
83 my_real,
DIMENSION(MAXUPARAM) ,
INTENT(INOUT) :: uparam
84 my_real,
DIMENSION(100),
INTENT(INOUT) :: parmat
87 TYPE(matparam_struct_) ,
INTENT(INOUT) :: MATPARAM
91 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
92 INTEGER :: FCT_ID,IFLAG,ILAW
93 my_real :: RHO0,RHOR,E,E1,E2,ET,G,GT,POISSON,POISSONT,,MU,LAMBDA,
94 . C1,C2,C3,PMIN,P0,PHI,GAMA0,BULK,FSCAL,FSCAL_UNIT,ASRATE
96 is_encrypted = .false.
97 is_available = .false.
105 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
106 CALL hm_get_floatv(
'Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
108 CALL hm_get_floatv(
'MAT_E' ,e ,is_available, lsubmodel, unitab)
109 CALL hm_get_floatv(
'MAT_NU' ,poisson ,is_available, lsubmodel, unitab)
110 CALL hm_get_floatv(
'MAT_E1' ,e1 ,is_available, lsubmodel, unitab)
111 CALL hm_get_floatv(
'MAT_E2' ,e2 ,is_available, lsubmodel, unitab)
112 CALL hm_get_floatv(
'MAT_N' ,relvexp ,is_available, lsubmodel, unitab)
114 CALL hm_get_floatv(
'MAT_CO1' ,c1 ,is_available, lsubmodel, unitab)
115 CALL hm_get_floatv(
'MAT_CO2' ,c2 ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv(
'MAT_CO3' ,c3 ,is_available, lsubmodel, unitab)
117 CALL hm_get_intv (
'Itype' ,iflag ,is_available, lsubmodel)
118 CALL hm_get_floatv(
'MAT_PC' ,pmin ,is_available, lsubmodel, unitab)
120 CALL hm_get_intv (
'FUN_A1' ,fct_id ,is_available, lsubmodel)
121 CALL hm_get_floatv(
'IFscale' ,fscal ,is_available, lsubmodel, unitab)
122 CALL hm_get_intv (
'Fsmooth' ,israte ,is_available, lsubmodel)
123 CALL hm_get_floatv(
'Fcut' ,asrate ,is_available, lsubmodel, unitab)
125 CALL hm_get_floatv(
'MAT_ETAN' ,et ,is_available, lsubmodel, unitab)
126 CALL hm_get_floatv('mat_nut
' ,POISSONT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
127 CALL HM_GET_FLOATV('mat_eta2' ,mu ,is_available
128 CALL hm_get_floatv(
'MAT_ETA1' ,lambda ,is_available, lsubmodel, unitab)
130 CALL hm_get_floatv(
'MAT_P0' ,p0 ,is_available, lsubmodel, unitab)
131 CALL hm_get_floatv(
'MAT_PHI' ,phi ,is_available, lsubmodel, unitab)
132 CALL hm_get_floatv(
'MAT_GAMA0' ,gama0 ,is_available, lsubmodel, unitab)
137 IF (fscal == zero) fscal = one*fscal_unit
139 IF (mu <= zero) mu = ep20
140 IF (pmin == zero) pmin =-ep20
141 IF (pmin > zero) pmin =-pmin
142 bulk = third*e/(one - two*poisson)
146 IF (asrate /= zero)
THEN
151 IF (israte /= 0)
THEN
152 asrate = 10000.0d0*unitab%FAC_T_WORK
160 IF (((c1 /= zero).OR.(e1 /= zero)).AND.(israte == 0))
THEN
162 . msgtype=msgwarning,
163 . anmode=aninfo_blind_1,
197 parmat(17) = (one - two*poisson)/(one - poisson)
208 IF (israte == 0)
THEN
222 WRITE(iout,1100) trim(titr),id,35
225 IF (is_encrypted)
THEN
226 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
228 WRITE(iout,1200) rho0,rhor
229 WRITE(iout,1300) e,poisson,e1,e2,relvexp,c1,c2,c3,fct_id,fscal,
230 . iflag,pmin,et,poissont,mu,lambda,p0,phi,gama0
231 WRITE(iout,1500) israte,asrate
237 & (5x,24h elastic with viscosity,/,
238 & 5x,24h ----------------------,//)
241 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
242 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
244 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
246 & (5x,
'YOUNG''S MODULUS. . . . . . . . . . . .=',1pg20.13/
247 & ,5x,
'POISSON''S RATIO. . . . . . . . . . . .=',1pg20.13/
248 & ,5x,
'E1. . . . . . . . . . . . . . . . . . .=',1pg20.13/
249 & ,5x,
'E2. . . . . . . . . . . . . . . . . . .=',1pg20.13/
250 & ,5x,
'EXPONENT ON RELATIVE VOLUME . . . . . .=',1pg20.13//
251 & ,5x,
'C1. . . . . . . . . . . . . . . . . . .=',1pg20.13/
252 & ,5x,
'C2. . . . . . . . . . . . . . . . . . .=',1pg20.13/
253 & ,5x,
'C3. . . . . . . . . . . . . . . . . . .=',1pg20.13//
254 & ,5x,
'FUNCTION NUMBER FOR PRESSURE. . . . . .=',i10/
255 & ,5x,
'PRESSURE FUNCTION SCALE FACTOR. . . . .=',1pg20.13//
256 & ,5x,
'FLAG FOR OPEN CELL FOAM FORMULATION . .=',i10/
257 & ,5x,
'CUT OFF PRESSURE IN TENSION . . . . . .=',1pg20.13//
258 & ,5x,
'ET. . . . . . . . . . . . . . . . . . .=',1pg20.13/
259 & ,5x,
'POISSON''S RATIO (TANGENT). . . . . . .=',1pg20.13/
260 & ,5x,
'VISCOSITY COEFFICIENT (IN PURE SHEAR) .=',1pg20.13/
261 & ,5x,
'VISCOSITY COEFFICIENT (VOLUMETRIC). . .=',1pg20.13//
262 & ,5x,
'INITIAL PRESSURE. . . . . . . . . . . .=',1pg20.13/
263 & ,5x,
'POROSITY. . . . . . . . . . . . . . . .=',1pg20.13/
264 & ,5x,
'INITIAL VOLUMETRIC STRAIN. . . .. . . .=',1pg20.13/)
266 & (5x,
'STRAIN RATE FILTERING FLAG . . . . . .=',i10/
267 & ,5x,
'STRAIN RATE CUTTING FREQUENCY . . . . .=',1pg20.13)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)