41 . UNITAB ,LSUBMODEL,DEFAULTS_SHELL)
57#include "implicit_f.inc"
64#include "tablen_c.inc"
68 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
73 CHARACTER(LEN=NCHARTITLE)::IDTITL
74 TYPE(PROP_TAG_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
75 TYPE(multi_fvm_struct) :: MULTI_FVM
77 TYPE(shell_defaults_),
INTENT(IN) :: DEFAULTS_SHELL
83 . ihbe,iplast,ithk,ihbeoutp,
84 . nshell, nshsup, nshinf,
85 . nsst_d, nsst_ds, npsh,isen
86 . ihbe_old, ish3n,isrot,ipinch,ipos
87 INTEGER IHBE_D,IPLA_D,ITHK_D,ISHEA_D,ISST_D,
88 . ISH3N_D, ISTRA_D,NPTS_D,IDRIL_D
91 . pun,cvis,dn_p,pthk,zshift
92 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
93 DATA NSHELL /0/, NSHSUP /0/, NSHINF /0/
97 is_encrypted = .false.
98 is_available = .false.
112 ihbe_d = defaults_shell%ishell
113 ish3n_d= defaults_shell%ish3n
114 isst_d = defaults_shell%ismstr
115 ipla_d = defaults_shell%iplas
116 ithk_d = defaults_shell%ithick
117 idril_d= defaults_shell%idrill
141 CALL hm_get_intv(
'Ishell',ihbe,is_available,lsubmodel)
142 CALL hm_get_intv(
'Ismstr',ismstr,is_available,lsubmodel)
143 CALL hm_get_intv(
'Ish3',ish3n,is_available,lsubmodel)
144 CALL hm_get_intv(
'Idrill',isrot,is_available,lsubmodel)
145 CALL hm_get_intv(
'Ipinch',ipinch,is_available,lsubmodel)
148 CALL hm_get_intv(
'ITHICK',ithk,is_available,lsubmodel)
149 CALL hm_get_intv(
'IPLAS',iplast,is_available,lsubmodel)
150 CALL hm_get_intv(
'Ipos',ipos,is_available,lsubmodel)
154 CALL hm_get_floatv(
'P_Thick_Fail',pthk,is_available,lsubmodel,unitab)
155 CALL hm_get_floatv(
'Hm',geo(13),is_available,lsubmodel,unitab)
156 CALL hm_get_floatv(
'Hf',geo(14),is_available,lsubmodel,unitab)
157 CALL hm_get_floatv(
'Hr',geo(15),is_available,lsubmodel,unitab)
158 CALL hm_get_floatv(
'Dm',geo(16),is_available,lsubmodel,unitab)
159 CALL hm_get_floatv('dn
',GEO(17),IS_AVAILABLE,LSUBMODEL,UNITAB)
160 CALL HM_GET_FLOATV('thick
',GEO(1),IS_AVAILABLE,LSUBMODEL,UNITAB)
161 CALL HM_GET_FLOATV('area_shear
',GEO(38),IS_AVAILABLE,LSUBMODEL,UNITAB)
169 IF (PTHK == ZERO) PTHK = ONE-EM06
170 PTHK = MIN(PTHK, ONE)
171 PTHK = MAX(PTHK,-ONE)
176 IF(IHBE==0)IHBE=IHBE_D
178.AND..AND.
IF (IHBE == 4 ISH3N==0 ISH3N_D == 1) THEN
179 CALL ANCMSG(MSGID=680,
180 . MSGTYPE=MSGWARNING,
181 . ANMODE=ANINFO_BLIND_1,
185.OR.
IF (IHBE==22IHBE==23) THEN
186 CALL ANCMSG(MSGID=539,
187 . MSGTYPE=MSGWARNING,
188 . ANMODE=ANINFO_BLIND_1,
193 IF(ISH3N==0) ISH3N = ISH3N_D
195 IF (GEO(16) == ZERO) IGEO(31) = 1
198 IF (CVIS==ZERO) CVIS=ONE
199 IF (GEO(17)==ZERO) GEO(17)=ZEP015
202 IF(ISMSTR==0)ISMSTR=ISST_D
203 IF (ISST_D == -2) ISMSTR = -1
205 IF(GEO(13)==ZERO)GEO(13)=EM01
206 IF(GEO(14)==ZERO)GEO(14)=EM01
207 IF(GEO(15)==ZERO)GEO(15)=EM02
209 IF(GEO(13)==ZERO)GEO(13)=EM02
210 IF(GEO(14)==ZERO)GEO(14)=EM02
211 IF(GEO(15)==ZERO)GEO(15)=EM02
213 IF(ISROT==0)ISROT=IDRIL_D
214 IF(ISROT==2) ISROT = 0
217.AND.
IF(IPINCH /= 1 IPINCH /=0) THEN
218 CALL ANCMSG(MSGID=1700,ANMODE=ANINFO,MSGTYPE=MSGERROR,
219 . I1=IG, C1=IDTITL, I2=IPINCH)
225.AND..AND.
IF (ISMSTR==10ISROT>0IDROT==0) IDROT = 1
227.AND.
IF (IHBE>11IHBE<29) THEN
232 IF(ISMSTR==0)ISMSTR=2
233.AND..AND.
IF(ISMSTR==3IHBE/=0IHBE/=2) THEN
235 CALL ANCMSG(MSGID=319,
236 . MSGTYPE=MSGWARNING,
237 . ANMODE=ANINFO_BLIND_2,
244 IF(GEO(38)==ZERO) GEO(38)=FIVE_OVER_6
245 IF(NIP==-1)NIP=NPTS_D
247.OR.
IF(IHBE==0IHBE==2) THEN
250 CALL ANCMSG(MSGID=322,
251 . MSGTYPE=MSGWARNING,
252 . ANMODE=ANINFO_BLIND_2,
261 CALL ANCMSG(MSGID=788,
268 IF(ITHK==0) ITHK=ITHK_D
269 IF(ITHK_D==-2) ITHK=-1
270 IF(ISHEAR==0) ISHEAR=ISHEA_D
271 IF(IPLAST==0) IPLAST=IPLA_D
272 IF(IPLA_D==-2) IPLAST=-1
274.NOT.
IF( IS_ENCRYPTED)THEN
275.AND..OR.
IF (IHBE>11IHBE<29
276.AND..OR.
. (IHBE==0(ISH3N==1ISH3N==2))) THEN
279.AND.
IF (IHBE==12DN_P==ZERO) DN_P=EM03
280 WRITE(IOUT,1112)IG,NIP,ISTRAIN,GEO(1),ISMSTR,IHBEOUTP,
281 . ISH3N,ISROT,IPINCH,GEO(16),DN_P,GEO(38),
282 . PTHK,ISHEAR,ITHK,IPLAST,IPOS
284 WRITE(IOUT,1110)IG,NIP,ISTRAIN,GEO(1),ISMSTR,IHBEOUTP,
286 . GEO(13),GEO(14),GEO(15),GEO(16),GEO(38),
287 . PTHK,ISHEAR,ITHK,IPLAST,IPOS
293 IF (GEO(1)>=9) NSHSUP = NSHSUP +1
294 IF (GEO(1)<FOURTH) NSHINF = NSHINF +1
313.AND..AND.
ELSEIF(IHBE>=3IHBE<100IHBE/=4)THEN
322 ELSEIF(ISHEAR==1)THEN
324 ELSEIF(ISHEAR==2)THEN
328 IGEO(17)=ISORTH ! == 0 Isotropic property
333 ELSEIF (IPOS==4) THEN
339 IGEO( 5)=NINT(GEO( 3))
340 IGEO( 9)=NINT(GEO(39))
344 PROP_TAG(IGTYP)%G_SIG = 0
345 PROP_TAG(IGTYP)%G_FOR = 5
346 PROP_TAG(IGTYP)%G_MOM = 3
347 PROP_TAG(IGTYP)%G_THK = 1
348 PROP_TAG(IGTYP)%G_EINT= 2
349 PROP_TAG(IGTYP)%G_EINS= 0
350 PROP_TAG(IGTYP)%G_AREA= 1
351 PROP_TAG(IGTYP)%L_SIG = 5
352 PROP_TAG(IGTYP)%L_THK = 0
353 PROP_TAG(IGTYP)%L_EINT= 2
354 PROP_TAG(IGTYP)%L_EINS= 0
355 PROP_TAG(IGTYP)%G_VOL = 0
356 PROP_TAG(IGTYP)%L_VOL = 0
357 PROP_TAG(IGTYP)%LY_DMG = 2
358 PROP_TAG(IGTYP)%LY_PLAPT = 1
359 PROP_TAG(IGTYP)%LY_SIGPT = 5
360 PROP_TAG(IGTYP)%G_FORPG = 5
361 PROP_TAG(IGTYP)%G_MOMPG = 3
362 PROP_TAG(IGTYP)%G_STRPG = 8
364.AND..AND.
IF (IGTYP == 1 IHBE == 12 IPINCH == 1) THEN
365 PROP_TAG(IGTYP)%G_FORPGPINCH = 1
366 PROP_TAG(IGTYP)%G_MOMPGPINCH = 2
367 PROP_TAG(IGTYP)%G_EPGPINCHXZ = 1
368 PROP_TAG(IGTYP)%G_EPGPINCHYZ = 1
369 PROP_TAG(IGTYP)%G_EPGPINCHZZ = 1
375 & 5X,'isotropic shell property set
'/,
376 & 5X,'property set number . . . . . . . . . .=
',I10/,
377 & 5X,'number of integration points. . . . . .=
',I10/,
378 & 5X,'post processing strain flag . . . . . .=
',I10/,
379 & 5X,'shell thickness . . . . . . . . . . . .=
',1PG20.13/,
380 & 5X,'small strain flag . . . . . . . . . . .=
',I10/,
381 & 5X,'shell formulation flag. . . . . . . . .=
',I10/,
382 & 5X,'3node shell formulation flag. . . . . .=
',I10/,
383 & 5X,'shell hourglass membrane
damping. . . .=
',1PG20.13/,
384 & 5X,'shell hourglass flexural
damping. . . .=
',1PG20.13/,
385 & 5X,'shell hourglass rotational
damping. . .=
',1PG20.13/,
386 & 5X,'shell membrane
damping. . . . . . . . .=
',1PG20.13/,
387 & 5X,'shear
area reduction factor . . . . . .=
',1PG20.13/,
388 & 5X,'element deletion
PARAMETER. . . . . . .=
',1PG20.13/,
389 & 5X,' > 0.0 : fraction of failed thickness
',/,
390 & 5X,' < 0.0 : fraction of failed intg. points
',/,
391 & 5X,'shear formulation flag. . . . . . . . .=
',I10/,
392 & 5X,'thickness variation flag. . . . . . . .=
',I10/,
393 & 5X,'plasticity formulation flag . . . . . .=
',I10/,
394 & 5X,'shell offset position flag . . . . . . =
',I10//)
396 & 5X,'isotropic shell property set
'/,
397 & 5X,'property set number . . . . . . . . . .=
',I10/,
398 & 5X,'number of integration points. . . . . .=
',I10/,
399 & 5X,'post processing strain flag . . . . . .=
',I10/,
400 & 5X,'shell thickness . . . . . . . . . . . .=
',1PG20.13/,
401 & 5X,'small strain flag . . . . . . . . . . .=
',I10/,
402 & 5X,'shell formulation flag. . . . . . . . .=
',I10/,
403 & 5X,'3node shell formulation flag. . . . . .=
',I10/,
404 & 5X,'drilling d.o.f. flag . . . . . . . . .=
',I10/,
405 & 5X,'pinching d.o.f. flag . . . . . . . . .=
',I10/,
406 & 5X,'shell membrane
damping. . . . . . . . .=
',1PG20.13/,
407 & 5X,'shell numerical
damping . . . . . . . .=
',1PG20.13/,
408 & 5X,'shear
area reduction factor . . . . . .=
',1PG20.13/,
409 & 5X,'element deletion
PARAMETER. . . . . . .=
',1PG20.13/,
410 & 5X,' > 0.0 : fraction of failed thickness
',/,
411 & 5X,' < 0.0 : fraction of failed intg. points
',/,
412 & 5X,'shear formulation flag. . . . . . . . .=
',I10/,
413 & 5X,'thickness variation flag. . . . . . . .=
',I10/,
414 & 5X,'plasticity formulation flag . . . . . .=
',I10/,
415 & 5X,'shell offset position flag . . . .
',I10//)
417 & 5X,'isotropic shell property set
'/,
418 & 5X,'property set number . . . . . . . . . .=
',I10/,
419 & 5X,'confidential data
'//)