42 . RTRANS,LSUBMODEL,IDTITL ,IG ,SUB_ID ,ISKN ,
56#include "implicit_f.inc"
65#include "tablen_c.inc"
70 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
72 . igtyp , igeo(*),iskn(liskn,*), ig
74 my_real GEO(*),RTRANS(NTRANSF,*)
76 CHARACTER(LEN=NCHARTITLE)::IDTITL
78 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
79 TYPE(SHELL_DEFAULTS_),
INTENT(IN) :: DEFAULTS_SHELL
83 INTEGER I, ISMSTR, NIP, J,
84 . ISHEAR, IP, ISTRAIN,IHBE,IPLAST,ITHK,IBID,IDF,IHBEOUTP,K,N,
85 . iunit,isen,iss,pid1,ipid1, ihbe_old,nstack,igmat,nn,nums
86 INTEGER ISH3N,ISROT,SUB_ID,NLY,IRP,IDSK,ISK,IUN
87 INTEGER NLYMAX,N1,M1,N2, N3, IPANG,IPTHK,IPPOS,IPWEIGHT,IPOS
88 INTEGER IHBE_D,IPLA_D,ISTR_D,ITHK_D,ISHEA_D,ISST_D,
89 . ish3n_d, istra_d,npts_d,idril_d
91 . angl,pun,cvis,rbid,vx,vy,vz,
92 . pthk, an, phi_i,thk10,zshift
93 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
94 CHARACTER(LEN=NCHARTITLE) :: TITR
105 ihbe_d = defaults_shell%ishell
106 ish3n_d= defaults_shell%ish3n
107 isst_d = defaults_shell%ismstr
108 ipla_d = defaults_shell%iplas
109 ithk_d = defaults_shell%ithick
110 idril_d= defaults_shell%idrill
125 is_encrypted = .false.
126 is_available = .false
142 CALL hm_get_intv(
'Ishell',ihbe,is_available,lsubmodel)
144 CALL hm_get_intv(
'ISH3N',ish3n,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(
'SKEW_CSID',idsk,is_available,lsubmodel)
151 CALL hm_get_intv(
'Ipos',ipos,is_available,lsubmodel)
156 CALL hm_get_floatv(
'P_Thick_Fail',pthk,is_available,lsubmodel,unitab)
157 CALL hm_get_floatv(
'Hm',geo(13),is_available,lsubmodel,unitab)
158 CALL hm_get_floatv(
'Hf',geo(14),is_available,lsubmodel,unitab)
159 CALL hm_get_floatv(
'Hr',geo(15),is_available,lsubmodel,unitab)
160 CALL hm_get_floatv(
'Dm',geo(16),is_available,lsubmodel,unitab)
161 CALL hm_get_floatv(
'Dn',geo(17),is_available,lsubmodel,unitab)
162 CALL hm_get_floatv(
'THICK',geo(1),is_available,lsubmodel,unitab)
163 CALL hm_get_floatv(
'AREA_SHEAR',geo(38),is_available,lsubmodel,unitab)
171 .
CALL subrotvect(vx,vy,vz,rtrans,sub_id,lsubmodel)
180 IF (pthk == zero) pthk = one-em06
181 pthk =
min(pthk, one)
182 pthk =
max(pthk,-one)
187 IF(ihbe==0)ihbe=ihbe_d
189 IF (ihbe == 4 .AND. ish3n==0 .AND. ish3n_d == 1)
THEN
191 . msgtype=msgwarning,
192 . anmode=aninfo_blind_1,
196 IF (ihbe==22.OR.ihbe==23)
THEN
198 . msgtype=msgwarning,
199 . anmode=aninfo_blind_1,
209 ELSEIF(ihbe>=3.AND.ihbe<100.AND.ihbe/=4)
THEN
212 IF(geo(171)/=zero.AND.igeo(10)== 0)igeo(10)=nint(geo(171))
213 IF(ish3n==0) ish3n = ish3n_d
216 IF(ismstr==0)ismstr=isst_d
217 IF (isst_d == -2) ismstr = -1
218 IF(ismstr==0)ismstr=2
219 IF(ismstr==3.AND.ihbe/=0.AND.ihbe/=2)
THEN
222 . msgtype=msgwarning,
223 . anmode=aninfo_blind_2,
230 IF(isrot==0)isrot=idril_d
231 IF(isrot>=2) isrot = 0
234 IF(ithk == 0)ithk=ithk_d
235 IF(ithk_d==-2)ithk=-1
236 IF(ishear == 0)ishear=ishea_d
237 IF(iplast == 0)iplast=ipla_d
238 IF(ipla_d==-2) iplast=-1
243 IF(ishear==2) geo(37)=0
245 IF(geo(39)/=zero.AND.igeo(9)== 0)igeo(9)=iplast
247 IF (ismstr==10.AND.isrot>0.AND.idrot==0) idrot = 1
250 IF(geo(13)==zero)geo(13)=em01
251 IF(geo(14)==zero)geo(14)=em01
252 IF(geo(15)==zero)geo(15)=em02
254 IF(geo(13)==zero)geo(13)=em02
255 IF(geo(14)==zero)geo(14)=em02
256 IF(geo(15)==zero)geo(15)=em02
258 IF(ismstr==3) geo(5)=ep06
260 IF (geo(16) == zero) igeo(31) = 1
262 IF (ihbe==12) geo(13)=geo(17)
264 IF (geo(17)==zero) geo(17)=zep015
274 IF(geo(38) == zero) geo(38)=five_over_6
275 IF(nly == -1)nly=npts_d
277 IF(nly == 1) geo(38)= zero
278 an=sqrt(vx*vx+vy*vy+vz*vz)
281 geo(ipweight+i) = one
310 DO J=0,NUMSKW+MIN(IUN,NSPCOND)*NUMSPH+NSUBMOD
311 IF(IDSK == ISKN(4,J+1)) THEN
316 CALL FRETITL2(TITR,IGEO(NPROPGI-LTITR+1),LTITR)
317 CALL ANCMSG(MSGID=184,
327.OR..AND.
IF ((IRP==22IRP==25)ISK==0) THEN
328 CALL ANCMSG(MSGID=1923,
344 & 5X,'orthotropic layered shell property set
'/,
345 & 5X,'--------------------------------------
'/,
346 & 5X,'property set number . . . . . . . . . .=
',I10/,
347 & 5X,'confidential data
'//)
349.AND.
IF (IHBE>11IHBE<29) THEN
350 WRITE(IOUT,2011)IG,NLY,ISTRAIN,GEO(1),ISS,IHBE,
352 . GEO(16),GEO(13),GEO(38),GEO(42),ISHEAR,ITHK,IPLAST,
353 . GEO(7),GEO(8),GEO(9),IDSK,IGEO(14),IPOS
355 WRITE(IOUT,2010)IG,NLY,ISTRAIN,GEO(1),ISS,IHBE,
357 . GEO(13),GEO(14),GEO(15),GEO(16),
358 . GEO(38),GEO(42),ISHEAR,ITHK,IPLAST,
359 . GEO(7),GEO(8),GEO(9),IDSK,IGEO(14),IPOS
363 CALL ANCMSG(MSGID=27,
365 . ANMODE=ANINFO_BLIND_1,
370 CALL ANCMSG(MSGID=28,
372 . ANMODE=ANINFO_BLIND_1,
381 ELSEIF (IPOS==4) THEN
391 CALL HM_GET_FLOAT_ARRAY_INDEX('prop_phi
',PHI_I,K,IS_AVAILABLE,LSUBMODEL,UNITAB)
396 GEO(IPPOS+K) = -HALF*(ONE+THK10)+K*THK10 + ZSHIFT
397.NOT.
IF(IS_ENCRYPTED)WRITE(IOUT,2020) K,GEO(M1)
398 GEO(M1)=GEO(M1)*PI/HUNDRED80
406 PROP_TAG(IGTYP)%G_SIG = 0
407 PROP_TAG(IGTYP)%G_FOR = 5
408 PROP_TAG(IGTYP)%G_MOM = 3
409 PROP_TAG(IGTYP)%G_THK = 1
410 PROP_TAG(IGTYP)%G_EINT= 2
411 PROP_TAG(IGTYP)%G_EINS= 0
412 PROP_TAG(IGTYP)%L_SIG = 5
414 PROP_TAG(IGTYP)%L_THK = 0
415 PROP_TAG(IGTYP)%L_EINT= 2
416 PROP_TAG(IGTYP)%L_EINS= 0
417 PROP_TAG(IGTYP)%G_VOL = 0
418 PROP_TAG(IGTYP)%L_VOL = 0
419 PROP_TAG(IGTYP)%LY_DMG = 2
421 PROP_TAG(IGTYP)%LY_GAMA = 6
422 PROP_TAG(IGTYP)%LY_DIRA = 2
424 PROP_TAG(IGTYP)%LY_PLAPT = 1
425 PROP_TAG(IGTYP)%LY_SIGPT = 5
426 PROP_TAG(IGTYP)%G_FORPG = 5
427 PROP_TAG(IGTYP)%G_MOMPG = 3
428 PROP_TAG(IGTYP)%G_STRPG = 8
436 & 5X,'orthotropic layered shell property set
'/,
437 & 5X,'property set number . . . . . . . . . .=
',I10/,
438 & 5X,'number of layers. . . . . . . . . . . .=
',I10/,
439 & 5X,'post processing strain flag . . . . . .=
',I10/,
440 & 5X,'shell thickness . . . . . . . . . . . .=
',1PG20.13/,
441 & 5X,'small strain. . . . . . . . . . . . . .=
',I10/,
442 & 5X,'shell formulation flag. . . . . . . . .=
',I10/,
443 & 5X,'3node shell formulation flag. . . . . .=
',I10/,
444 & 5X,'shell hourglass membrane
damping. . . .=
',1PG20.13/,
445 & 5X,'shell hourglass flexural
damping. . . .=
',1PG20.13/,
446 & 5X,'shell hourglass rotational
damping. . .=
',1PG20.13/,
447 & 5X,'shell membrane
damping. . . . . . . . .=
',1PG20.13/,
448 & 5X,'shear
area reduction factor . . . . . .=
',1PG20.13/,
449 & 5X,'element deletion
PARAMETER. . . . . . .=
',1PG20.13/,
450 & 5X,' > 0.0 : fraction of failed thickness
',/,
451 & 5X,' < 0.0 : fraction of failed layers
',/,
452 & 5X,'shear formulation flag. . . . . . . . .=
',I10/,
453 & 5X,'thickness variation flag. . . . . . . .=
',I10/,
454 & 5X,'plasticity formulation flag . . . . . .=
',I10/,
455 & 5X,'x component of dir 1 of orthotropy. . .=
',1PG20.13/,
456 & 5X,'y component of dir 1 of orthotropy. . .=
',1PG20.13/,
457 & 5X,'z component of dir 1 of orthotropy. . .=
',1PG20.13/,
458 & 5X,'skew of
the first orthotropy direction.=
',I10/,
459 & 5X,'reference direction flag in shell plane=
',I10/,
460 & 5X,'shell offset position flag . . . . . . =
',I10/)
462 & 5X,'orthotropic layered shell property set
'/,
463 & 5X,'property set number . . . . . . . . . .=
',I10/,
464 & 5X,'number of layers. . . . . . . . . . . .=
',I10/,
465 & 5X,'post processing strain flag . . . . . .=
',I10/,
466 & 5X,'shell thickness . . . . . . . . . . . .=
',1PG20.13/,
467 & 5X,'small strain. . . . . . . . . . . . . .=
',I10/,
468 & 5X,'shell formulation flag. . . . . . . . .=
',I10/,
469 & 5X,'3node shell formulation flag. . . . . .=
',I10/,
470 & 5X,'drilling d.o.f. flag . . . . . . . . .=
',I10/,
471 & 5X,'shell membrane
damping. . . . . . . . .=
',1PG20.13/,
472 & 5X,'shell numerical
damping . . . . . . . .=
',1PG20.13/,
473 & 5X,'shear
area reduction factor . . . . . .=
',1PG20.13/,
474 & 5X,'element deletion
PARAMETER. . . . . . .=
',1PG20.13/,
475 & 5X,' > 0.0 : fraction of failed thickness
',/,
476 & 5X,' < 0.0 : fraction of failed layers
',/,
477 & 5X,'shear formulation flag. . . . . . . . .=
',I10/,
478 & 5X,'thickness variation flag. . . . . . . .=
',I10/,
479 & 5X,'plasticity formulation flag . . . . . .=
',I10/,
480 & 5X,'x component of dir 1 of orthotropy. . .=
',1PG20.13/,
481 & 5X,'y component of dir 1 of orthotropy. . .=
',1PG20.13/,
482 & 5X,'z component of dir 1 of orthotropy. . .=
',1PG20.13/,
483 & 5X,'skew of
the first orthotropy direction.=
',I10/,
484 & 5X,'reference direction flag in shell plane=
',I10/,
485 & 5X,'shell offset position flag . . . . . . =
',I10/)
487 & 5X,'layer,angle(dir 1,proj(dir 1 / shell).=
',I10,E12.5)
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)