43 . MAXFUNC ,NFUNC ,PARMAT ,UNITAB ,ID ,
44 . TITR ,ISRATE ,PM ,IMATVIS ,LSUBMODEL,
45 . MTAG ,MATPARAM ,NVARTMP )
75#include "implicit_f.inc"
85 my_real,
INTENT(INOUT) :: parmat(100),uparam(maxuparam),pm(npropm)
86 INTEGER,
INTENT(INOUT) :: IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM, NUVAR,ISRATE,IMATVIS
87 INTEGER,
INTENT(INOUT) :: NVARTMP
88 INTEGER,
INTENT(IN) :: ID
89 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN) :: TITR
92 TYPE(matparam_struct_) ,
INTENT(INOUT) ::
96 INTEGER I,J,IFLAG,IDAM ,ISMOOTH ,TFLAG,FAIL
97 my_real E0,NU,FCUT,G,C1,SHAPE,HYS,ALPHA
98 my_real RATE(1000),(1000),YFAC_DIM(1000)
99 my_real :: rho0, rhor,fcut_unit,econt,tcut
100 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
104 is_encrypted = .false.
105 is_available = .false.
112 CALL hm_get_floatv(
'MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
114 CALL hm_get_floatv(
'MAT_E0' ,e0 ,is_available, lsubmodel, unitab)
115 CALL hm_get_floatv(
'MAT_NU' ,nu ,is_available, lsubmodel, unitab)
116 CALL hm_get_intv (
'NL' ,nfunc ,is_available, lsubmodel)
117 CALL hm_get_intv (
'Ismooth' ,ismooth ,is_available, lsubmodel)
118 CALL hm_get_floatv(
'Fcut' ,fcut ,is_available, lsubmodel, unitab)
119 CALL hm_get_floatv(
'MAT_SHAPE' ,shape ,is_available, lsubmodel, unitab)
120 CALL hm_get_floatv(
'Hys' ,hys ,is_available, lsubmodel, unitab)
121 CALL hm_get_floatv(
'MAT_ALPHA' ,alpha ,is_available, lsubmodel, unitab)
122 CALL hm_get_intv (
'MAT_TFLAG' ,tflag ,is_available, lsubmodel)
123 CALL hm_get_intv (
'LSD_MAT83_FAIL' ,fail ,is_available, lsubmodel)
124 CALL hm_get_floatv(
'LSD_MAT83_ED' ,econt ,is_available, lsubmodel, unitab)
125 CALL hm_get_floatv(
'LSD_MAT83_TC' ,tcut ,is_available, lsubmodel, unitab)
132 . anmode=aninfo_blind,
136 IF(tflag == 0) tflag = 1
137 IF(econt == zero) econt = e0
138 IF(tcut == zero) tcut = ep20
150 IF (ifunc(i) == 0)
THEN
153 . anmode=aninfo_blind_1,
158 IF(yfac(i) == zero) yfac(i) = yfac_dim(i) * one
162 IF (nfunc > 0 .AND. hys == zero) iflag = 1
163 IF (nfunc > 0 .AND. hys > zero) iflag = 2
164 IF (shape == zero) shape = one
165 IF (alpha == zero) alpha = one
166 IF (hys == zero) hys = one
167 IF (rhor==zero) rhor=rho0
168 IF (fcut == zero .AND. nfunc > 1 )
THEN
169 fcut = ep03*unitab%FAC_T_WORK
172 IF(ismooth == 0 .AND. fcut > zero .AND. nfunc > 1) ismooth = 1
173 IF(nfunc == 1) ismooth = 0
177 g = half*e0/(one + nu)
186 uparam(i + 10) = rate(i)
187 uparam(i + 10 + nfunc) = yfac(i)
189 nuparam =13 + 2*nfunc
190 uparam(nuparam) = alpha
191 nuparam = nuparam + 1
192 uparam(nuparam) = tflag
193 nuparam = nuparam + 1
194 uparam(nuparam ) = fail
195 nuparam = nuparam + 1
196 uparam(nuparam ) = tcut
197 nuparam = nuparam + 1
198 uparam(nuparam ) = econt
200 c1=econt /three/(one - two*nu)
215 WRITE(iout,1001) trim(titr),id,90
216 IF (is_encrypted)
THEN
217 WRITE(iout,
'(5X,A,//)')
'CONFIDENTIAL DATA'
220 WRITE(iout,1150)e0,nu, tflag, econt, tcut,fail
221 WRITE(iout,1200)fcut,ismooth,shape,hys,alpha
222 WRITE(iout,1300)(ifunc(j),rate(j),yfac(j),j=1,nfunc )
238 & 5x,40h
tabulated non linear visco elastic law,/,
239 & 5x,40h --------------------------------------,//)
242 & 5x,
'MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
243 & 5x,
'MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
245 & 5x,
'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/)
247 & 5x,
'INITIAL YOUNG''S MODULUS. . . . . . . .=',1pg20.13/,
248 & 5x,
'POISSON''S RATIO. . . . . . . . . . . .=',1pg20.13/,
249 & 5x,
'TENSILE STRESS FLAG . . . . . . . . . =',i10/,
250 & 10x,
'1 : FOLLOW THE INPUT CURVE ' /,
251 & 10x,
'2 : FOLLOW E0 '/
252 & 5x,
'OPTIONAL YOUNG MODULUS . . . . . . . . =',1pg20.13/,
253 & 5x,
'TENSION CUT-OOF STRESS . . . . . . . . =',1pg20.13/,
254 & 5x,
'FAILURE OPTION AFTER CUT-OFF STRESS IS REACHED =',i10/,
255 & 10x,
'0 : TENSILE STRESS REMAINS AT CUT-OFF VALUE'/,
256 & 10x,
'1 : THE ELEMENT IS DELETED '/)
259 & 5x,
'STRAIN RATE COEFFICIENT . . . . . . . .=',1pg20.13/,
260 & 5x,
'FLAG FOR FILTERING STRAIN RATE . . . .=',i10/,
261 & 5x,
'SHAPE FACTOR FOR UNLOADING . . . . . .=',1pg20.13/,
262 & 5x,
'HYSTERETIC UNLOADING FACTOR . . . . . .=',1pg20.13/,
263 & 5x,
'EXPONANT FACTOR FOR UNLOADING . . . . .=',1pg20.13
265 & 5x,
'LOADING STRESS FUNCTION NUMBER . . . .=',i10/,
266 & 5x,
'STRAIN RATE . . . . . . . . . . . . . .=',1pg20.13/,
267 & 5x,
'SCALE FACTOR. . . . . . . . . . . . . .=',1pg20.13/)
269 & 5x,
'PRESSURE DEPENDENT YIELD FUNCTION . . .=',i10/
270 & 5x,
'PRESSURE SCALE FACTOR . . . . . . . . .=',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)