38 SUBROUTINE hm_read_prop20(GEO,IGEO,PROP_TAG ,MULTI_FVM,IGTYP,IG,TITR,UNITAB,LSUBMODEL,
70#include "implicit_f.inc"
75#include "tablen_c.inc"
80 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
81 INTEGER,
INTENT(IN)::IG,IGTYP
82 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN)::TITR
85 INTEGER,
INTENT(INOUT)::IGEO(*)
87 .
INTENT(INOUT)::geo(*)
88 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
89 TYPE(multi_fvm_struct) :: MULTI_FVM
90 TYPE(solid_defaults_),
INTENT(IN) :: DEFAULTS_SOLID
95 INTEGER IHBE,ISMSTR,IPLAST,ICPRE,ICSTR,IINT,JCVT,
96 . npg,npt,nptr,npts,nptt, istrain,iet,ihbe_old,
id,
98 INTEGER IHBE_DS,ISST_DS,ICONTROL_D,ICONTROL
100 . cvis,qa,qb,qh,vns1,vns2,dtmin,vdefmin,vdefmax,aspmax,asptet
101 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
103 is_encrypted = .false.
104 is_available = .false.
113 ihbe_ds= defaults_solid%ISOLID
114 isst_ds= defaults_solid%ISMSTR
115 icontrol_d=defaults_solid%ICONTROL
123 CALL hm_get_intv(
'ISOLID',ihbe,is_available,lsubmodel)
124 CALL hm_get_intv(
'Ismstr',ismstr,is_available,lsubmodel)
127 CALL hm_get_intv(
'Icstr',icstr,is_available,lsubmodel)
128 CALL hm_get_intv(
'Inpts_R',nptr,is_available,lsubmodel)
129 CALL hm_get_intv(
'Inpts_S',npts,is_available,lsubmodel)
130 CALL hm_get_intv(
'Inpts_T',nptt,is_available,lsubmodel)
132 CALL hm_get_intv(
'Iint',iint,is_available,lsubmodel)
133 CALL hm_get_intv(
'Icontrol',icontrol,is_available,lsubmodel)
140 CALL hm_get_floatv(
'deltaT_min',dtmin,is_available,lsubmodel,unitab)
141 CALL hm_get_floatv(
'vdef_min',vdefmin,is_available,lsubmodel,unitab)
142 CALL hm_get_floatv(
'vdef_max',vdefmax,is_available,lsubmodel,unitab
143 CALL hm_get_floatv(
'ASP_max',aspmax,is_available,lsubmodel,unitab)
144 CALL hm_get_floatv(
'COL_min',asptet,is_available,lsubmodel,unitab)
153 IF (ihbe == 0) ihbe = ihbe_ds
154 IF (ihbe /= 14 .AND. ihbe /= 15 .AND. ihbe /= 16)
THEN
157 . anmode=aninfo_blind_1,
166 IF (ihbe == 14 .OR. ihbe == 15) jcvt = 2
167 IF (ihbe == 16) jcvt = 1
171 IF (ismstr == 0) ismstr=isst_ds
172 IF (ismstr == 0) ismstr=4
173 IF (isst_ds == -2.OR.ismstr<0) ismstr=4
179 IF (ihbe == 14 .AND. icstr == 0) icstr = 10
180 IF (icstr > 111) icstr=0
182 . (icstr /= 1.AND.icstr /= 10.AND.icstr /= 100))
THEN
185 . anmode=aninfo_blind_1,
194 IF (iint == 0) iint = 1
195 ELSEIF (ihbe == 14 .OR. ihbe == 15)
THEN
204 IF (npt == 0) npt = 3
205 IF (npt < 1 .OR. npt > 9)
THEN
208 . anmode=aninfo_blind_1,
240 . (nptr < 1 .OR. npts < 1 .OR. nptt < 1 .OR.
241 . nptr > 9 .OR. npts > 9 .OR. nptt > 9))
THEN
244 . anmode=aninfo_blind_1,
249 ELSEIF (ihbe == 16 .AND.
250 . (nptr < 1 .OR. npts < 1 .OR. nptt < 1 .OR.
251 . nptr > 3 .OR. npts > 9 .OR. nptt > 3))
THEN
254 . anmode=aninfo_blind_1,
262 IF (icontrol==0) icontrol=icontrol_d
263 IF (icontrol>1) icontrol=0
269 ELSEIF (cvis == zero)
THEN
273 IF(qa == zero .AND. qb == zero) igeo(31) = 1
274 IF (qa == zero) qa = onep1
275 IF (qb == zero) qb = fiveem2
298 IF(.NOT.is_encrypted)
THEN
299 IF(igeo(31) == 1)
THEN
300 WRITE(iout,1100)ig,ihbe,ismstr,iint,icstr,cvis,qa,qb,
301 . dtmin,istrain,icontrol
303 WRITE(iout,1000)ig,ihbe,ismstr,iint,icstr,cvis,qa,qb,
304 . dtmin,istrain,icontrol
306 IF((vdefmin+vdefmax+aspmax+asptet)>zero)
THEN
307 IF (vdefmax==zero) vdefmax=ep10
308 IF (aspmax==zero) aspmax=ep10
309 WRITE(iout,3000) vdefmin,vdefmax,aspmax,asptet
312 WRITE(iout,1001) npg,npt
322 prop_tag(igtyp)%G_SIG = 6
323 prop_tag(igtyp)%L_SIG = 6
324 prop_tag(igtyp)%G_EINT = 1
325 prop_tag(igtyp)%G_QVIS = 1
326 prop_tag(igtyp)%L_EINT = 1
327 prop_tag(igtyp)%G_VOL = 1
328 prop_tag(igtyp)%L_VOL = 1
329 prop_tag(igtyp)%L_QVIS = 1
330 IF (multi_fvm%IS_USED) prop_tag(igtyp)%G_MOM = 3
331 prop_tag(igtyp)%G_FILL = 1
332 prop_tag(igtyp)%L_STRA = 6
342 & 5x,
'STANDARD THICK SHELL PROPERTY SET'/,
343 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
344 & 5x,
'FORMULATION FLAG. . . . . . . . . . . .=',i10/,
345 & 5x,
'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
346 & 5x,
'INTEGRATION FORMULATION FLAG. . . . . =',i10/,
347 & 5x,
'CONSTANT STRESS FLAG. . . . . . . . . .=',i10/,
348 & 5x,
'HOURGLASS NUMERICAL DAMPING . . . . . .=',1pg20.13/,
349 & 5x,
'QUADRATIC BULK VISCOSITY. . . . . . . .=',1pg20.13/,
350 & 5x,
'LINEAR BULK VISCOSITY . . . . . . . . .=',1pg20.13/,
351 & 5x,
'BRICK MINIMUM TIME STEP................=',1pg20.13/,
352 & 5x,
'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
353 & 5x,
'SOLID DISTORTION CONTROL FLAG . . . . .=',i10/)
355 & 5x,
'STANDARD THICK SHELL PROPERTY SET'/,
356 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i8/,
357 & 5x,
'CONFIDENTIAL DATA'//)
360 & 5x,
'STANDARD THICK SHELL PROPERTY SET'/,
361 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
362 & 5x,
'FORMULATION FLAG. . . . . . . . . . . .=',i10/,
363 & 5x,
'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
364 & 5x,
'INTEGRATION FORMULATION FLAG. . . . . =',i10/,
365 & 5x,
'CONSTANT STRESS FLAG. . . . . . . . . .=',i10/,
366 & 5x,
'HOURGLASS NUMERICAL DAMPING . . . . . .=',1pg20.13/,
367 & 5x,
'DEFAULT VALUE FOR QUADRATIC BULK. . . . ',/,
368 & 5x,
' VISCOSITY (QA) WILL BE USED. . . .=',1pg20.13/,
369 & 5x,
'EXCEPT IN CASE LAW 70 WHERE QA = 0. ',/,
370 & 5x,
'DEFAULT VALUE FOR LINEAR BULK . . . . . ',/,
371 & 5x,
' VISCOSITY (QB) WILL BE USED . . . =',1pg20.13/,
372 & 5x,
'EXCEPT IN CASE LAW 70 WHERE QB = 0. ',/,
373 & 5x,
'BRICK MINIMUM TIME STEP................=',1pg20.13/,
374 & 5x,
'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
375 & 5x,
'SOLID DISTORTION CONTROL FLAG . . . . .=',i10/)
377 & 5x,
'NUMBER OF INTEGRATION POINTS. . . . .=',i3,
380 & 5x,
'NUMBER OF INTEGRATION POINTS. . . . .=',i10/)
382 & 5x,
'SOLID MINIMUM VOLUMETRIC STRAIN........=',1pg20.13/,
383 & 5x,
'SOLID MAXIMUM VOLUMETRIC STRAIN........=',1pg20.13/,
384 & 5x,
'SOLID MAXIMUM ASPECT RATIO.............=',1pg20.13/,
385 & 5x,
'SOLID MINIMUM COLLAPSE RATIO...........=',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)