43 . UNITAB ,RTRANS ,LSUBMODEL,SUB_ID ,IDTITL ,
44 . PROP_TAG ,IG ,IGTYP ,DEFAULTS_SHELL )
57#include "implicit_f.inc"
67#include "tablen_c.inc"
71 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
72 INTEGER (NPROPGI),(NPROPMI,*),SUB_ID,IG,IGTYP
74 . geo(npropg), pm(npropm,*),rtrans(ntransf,*)
78 CHARACTER(LEN=NCHARTITLE)::IDTITL
79 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
80 TYPE(shell_defaults_),
INTENT(IN) :: DEFAULTS_SHELL
85 INTEGER NUML(100),NLY,NLYMAX,N1,N,J,,M1,M2,M3,M4,
86 . k, n2, n3, istrain, mlawly1,ishear,iplast,ihbe,ithk,irep,
87 . idsk, isk, ipang, ipthk, ippos, ipos, ipmat
88 . iss, pid1,ismstr,isrot,ibid,igmat,ihbeoutp,ihbe_old,irp
89 my_real an, vx, vy, vz, thickt, dt, tmin, tmax,weight,pthk,cvis,pun,
90 . phi_i,thk_i,z_i,wf_i,zshift
93 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
94 INTEGER IHBE_D,IPLA_D,ISTR_D,ITHK_D,ISHEA_D,ISST_D,
95 . ish3n_d, istra_d,npts_d,idril_d
96 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
111 is_encrypted = .false.
112 is_available = .false.
114 ihbe_d = defaults_shell%ishell
115 ish3n_d= defaults_shell%ish3n
116 isst_d = defaults_shell%ismstr
117 ipla_d = defaults_shell%iplas
118 ithk_d = defaults_shell%ithick
119 idril_d= defaults_shell%idrill
165 CALL hm_get_intv(
'Ismstr',ismstr,is_available,lsubmodel)
166 CALL hm_get_intv(
'ISH3N',ish3n,is_available,lsubmodel)
167 CALL hm_get_intv(
'Idrill',isrot,is_available,lsubmodel)
170 CALL hm_get_intv(
'ITHICK',ithk,is_available,lsubmodel)
171 CALL hm_get_intv(
'IPLAS',iplast,is_available,lsubmodel)
172 CALL hm_get_intv(
'SKEW_CSID',idsk,is_available,lsubmodel)
173 CALL hm_get_intv(
'Iorth',irep,is_available,lsubmodel)
174 CALL hm_get_intv(
'Ipos',ipos,is_available,lsubmodel)
179 CALL hm_get_floatv(
'P_Thick_Fail',pthk,is_available,lsubmodel,unitab)
180 CALL hm_get_floatv(
'Hm',geo(13),is_available,lsubmodel,unitab)
183 CALL hm_get_floatv(
'Dm',geo(16),is_available,lsubmodel,unitab)
184 CALL hm_get_floatv(
'Dn',geo(17),is_available,lsubmodel,unitab)
185 CALL hm_get_floatv(
'THICK',geo(1),is_available,lsubmodel,unitab)
186 CALL hm_get_floatv(
'AREA_SHEAR',geo(38),is_available,lsubmodel,unitab)
192 IF (pthk == zero) pthk = one-em06
193 pthk =
min(pthk, one)
194 pthk =
max(pthk,-one)
197 IF(ihbe==0)ihbe=ihbe_d
199 IF (ihbe == 4 .AND. ish3n==0 .AND. ish3n_d == 1)
THEN
201 . msgtype=msgwarning,
202 . anmode=aninfo_blind_1,
206 IF (ihbe==22.OR.ihbe==23)
THEN
208 . msgtype=msgwarning,
209 . anmode=aninfo_blind_1,
214 IF(ish3n==0) ish3n = ish3n_d
216 IF (geo(16) == zero) igeo(31) = 1
219 IF (cvis==zero) cvis=one
220 IF (geo(17)==zero) geo(17)=zep015
223 IF(ismstr==0)ismstr=isst_d
224 IF (isst_d == -2) ismstr = -1
226 IF(geo(13)==zero)geo(13)=em01
227 IF(geo(14)==zero)geo(14)=em01
228 IF(geo(15)==zero)geo(15)=em02
230 IF(geo(13)==zero)geo(13)=em02
231 IF(geo(14)==zero)geo(14)=em02
232 IF(geo(15)==zero)geo(15)=em02
234 IF(isrot==0)isrot=idril_d
235 IF(isrot==2) isrot = 0
238 IF (ismstr==10.AND.isrot>0.AND.idrot==0) idrot = 1
240 IF(ismstr==0) ismstr=2
241 IF(ismstr==3.AND.ihbe/=0.AND.ihbe/=2)
THEN
244 . msgtype=msgwarning,
245 . anmode=aninfo_blind_2,
257 IF(geo(13)==zero)geo(13)=em01
258 IF(geo(14)==zero)geo(14)=em01
259 IF(geo(15)==zero)geo(15)=em02
261 IF(geo(13)==zero)geo(13)=em02
262 IF(geo(14)==zero)geo(14)=em02
263 IF(geo(15)==zero)geo(15)=em02
265 IF (ihbe>11.AND.ihbe<29)
THEN
271 IF(geo(38) == zero) geo(38)=five_over_6
272 IF(nly == -1)nly=npts_d
274 IF(nly == 1) geo(38)= zero
275 an=sqrt(vx*vx+vy*vy+vz*vz)
298 .
CALL subrotvect(vx,vy,vz,rtrans,sub_id,lsubmodel)
304 IF(idsk == iskn(4,j+1))
THEN
309 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
320 IF ((irp==22.OR.irp==25).AND.isk==0)
THEN
334 IF(ithk == 0)ithk=ithk_d
335 IF(ithk_d==-2)ithk=-1
336 IF(ishear == 0)ishear=ishea_d
337 IF(iplast == 0)iplast=ipla_d
338 IF(ipla_d==-2) iplast=-1
354 & 5x,
'COMPOSITE LAYERED SHELL PROPERTY SET'/,
355 & 5x,
'------------------------------------'/,
356 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
357 & 5x,
'CONFIDENTIAL DATA'//)
360 IF (ihbe>11.AND.ihbe<29)
THEN
361 WRITE(iout,2112)ig,nly,istrain,geo(1),iss,ihbe,
363 . geo(16),geo(13),geo(38),geo(42),ishear,ithk,
364 . iplast,irep,geo(7),geo(8),geo(9),igeo(14)
366 WRITE(iout,2110)ig,nly,istrain,geo(1),iss,ihbe,
368 . geo(13),geo(14),geo(15),geo(16),
369 . geo(38),geo(42),ishear,ithk,iplast,irep,
370 . geo(7),geo(8),geo(9),igeo(14)
373 IF (ihbe>11.AND.ihbe<29)
THEN
374 WRITE(iout,2113)ig,nly,istrain,geo(1),iss,ihbe,
376 . geo(16),geo(13),geo(38),geo
377 . iplast,irep,idsk,igeo(14)
379 WRITE(iout,2111)ig,nly,istrain,geo(1),iss,ihbe,
381 . geo(13),geo(14),geo(15),geo(16),geo(38),
382 . geo(42),ishear,ithk,iplast,irep,idsk,igeo
388 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
391 . anmode=aninfo_blind_1,
396 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
399 . anmode=aninfo_blind_1,
404 n1 = min0(nly,nlymax)
425 IF (weight == zero) weight = one
426 geo(ipweight+k)= weight
436 dt = half*geo(ipthk+n)
437 tmin =
min(tmin,geo(ippos+n)-dt)
438 tmax =
max(tmax,geo(ippos+n)+dt)
441 zshift = half*(tmax + tmin)
443 IF (defaults_shell%IOFFSET==3) dt = zshift
446 geo(ipthk+n)=geo(ipthk+n) /
max(thickt,em20)
447 geo(ippos+n)=(geo(ippos+n)-dt) /
max(thickt,em20)
452 thickt=thickt+geo(ipthk+n)
455 geo(ipthk+n)=geo(ipthk+n) /
max(thickt,em20)
458 geo(ippos+1) = -half + half*geo(ipthk+1)
460 geo(ippos+n) = geo(ippos+n-1)
461 . + half*(geo(ipthk+n)+geo(ipthk+n-1))
467 ierrel=nint(abs((thickt-geo(1))/geo(1))*ep02)
470 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
472 . msgtype=msgwarning,
473 . anmode=aninfo_blind_1,
482 IF (ipm(1,j) == numl(1))
THEN
484 mlawly1= nint(pm(19,j))
485 IF(mlawly1 == 25)
GO TO 250
486 IF(mlawly1 == 27)
GO TO 250
487 IF(mlawly1 == 15)
GO TO 250
488 IF(mlawly1>=29)
GO TO 250
489 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
490 CALL fretitl2(titr1,ipm(npropmi-ltitr+1,j),ltitr)
502 CALL fretitl2(titr1,igeo(npropgi-ltitr+1),ltitr)
514 IF(ipm(1,j) == numl(n))
THEN
516 IF(nint(pm(19,j)) == mlawly1)
GO TO 350
517 WRITE(law_id,
'(I2)')mlawly1
518 IF (mlawly1==99) law_id=
'USER'
519 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
520 CALL fretitl2(titr1,ipm(npropmi-ltitr+1,j),ltitr)
523 . anmode=aninfo_blind_1,
532 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
547 IF(.NOT. is_encrypted)
THEN
548 WRITE(iout,2121)n,geo(m1),geo(m2)*geo(1),geo(m3)*geo(1),
551 geo(m1)=geo(m1)*pi/hundred80
563 ELSEIF(ihbe>=3.AND.ihbe<100.AND.ihbe/=4
THEN
571 ELSEIF(ishear==1)
THEN
578 prop_tag(igtyp)%G_SIG = 0
579 prop_tag(igtyp)%G_FOR = 5
580 prop_tag(igtyp)%G_MOM = 3
581 prop_tag(igtyp)%G_THK = 1
582 prop_tag(igtyp)%G_EINT= 2
583 prop_tag(igtyp)%G_EINS= 0
584 prop_tag(igtyp)%L_SIG = 5
585 IF (igtyp == 17) prop_tag
586 prop_tag(igtyp)%L_THK = 0
587 prop_tag(igtyp)%L_EINT= 2
588 prop_tag(igtyp)%L_EINS= 0
589 prop_tag(igtyp)%G_VOL = 0
590 prop_tag(igtyp)%L_VOL = 0
591 prop_tag(igtyp)%LY_DMG = 2
593 prop_tag(igtyp)%LY_GAMA = 6
594 prop_tag(igtyp)%LY_DIRA = 2
596 prop_tag(igtyp)%LY_PLAPT = 1
597 prop_tag(igtyp)%LY_SIGPT = 5
598 prop_tag(igtyp)%G_FORPG = 5
599 prop_tag(igtyp)%G_MOMPG = 3
600 prop_tag(igtyp)%G_STRPG = 8
602 . prop_tag(igtyp)%LY_DMG = 2
607 IF(geo( 3)/=zero.AND.igeo( 5)== 0)igeo( 5)=nint(geo( 3))
608 IF(geo(39)/=zero.AND.igeo( 9)== 0)igeo( 9)=nint(geo(39))
609 IF(geo(171)/=zero.AND.igeo(10)== 0)
610 . igeo(10)=nint(geo(171))
615 & 5x,
'COMPOSITE LAYERED SHELL PROPERTY SET ',
616 &
'WITH VARIABLE THICKNESSES AND MATERIALS'/,
617 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .='
618 & 5x,
'NUMBER OF LAYERS. . . . . . . . . . . .=',i10/,
619 & 5x,
'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
620 & 5x,
'SHELL THICKNESS . . . . . . . . . . . .=',1pg20.13/,
621 & 5x,
'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
622 & 5x,
'SHELL FORMULATION FLAG. . . . . . . . .='
623 & 5x,
'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
624 & 5x,
'SHELL HOURGLASS MEMBRANE DAMPING. . . .=',1pg20.13/,
625 & 5x,
'SHELL HOURGLASS FLEXURAL DAMPING. . . .=',1pg20.13/,
626 & 5x,
'SHELL HOURGLASS ROTATIONAL DAMPING. . .=',1pg20.13/,
627 & 5x,
'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
628 & 5x,
'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
629 & 5x,
'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
630 & 5x,
' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
631 & 5x,
' < 0.0 : FRACTION OF FAILED LAYERS ',/,
632 & 5x,
'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
633 & 5x,
'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
634 & 5x,
'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
635 & 5x,
'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
636 & 5x,
'X COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
637 & 5x,
'Y COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
638 & 5x,
'Z COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
639 & 5x,
'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
641 & 5x,
'COMPOSITE LAYERED SHELL PROPERTY SET ',
642 &
'WITH VARIABLE THICKNESSES AND MATERIALS'/,
643 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
644 & 5x,
'NUMBER OF LAYERS. . . . . . . . . . . .=',i10/,
645 & 5x,
'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
646 & 5x,
'SHELL THICKNESS . . . . . . . . . . . .=',1pg20.13/,
647 & 5x,
'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
648 & 5x,
'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
649 & 5x,
'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
650 & 5x,
'SHELL HOURGLASS MEMBRANE DAMPING. . . .=',1pg20.13/,
651 & 5x,
'SHELL HOURGLASS FLEXURAL DAMPING. . . .=',1pg20.13/,
652 & 5x,
'SHELL HOURGLASS ROTATIONAL DAMPING. . .=',1pg20.13/,
653 & 5x,
'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
654 & 5x,
'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
655 & 5x,
'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
656 & 5x,
' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
657 & 5x,
' < 0.0 : FRACTION OF FAILED LAYERS ',/,
658 & 5x,
'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
659 & 5x,
'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
660 & 5x,
'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
661 & 5x,
'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
662 & 5x,
'SKEW OF THE FIRST ORTHOTROPY DIRECTION.=',i10/,
663 & 5x,
'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
665 & 5x,
'COMPOSITE LAYERED SHELL PROPERTY SET ',
666 &
'WITH VARIABLE THICKNESSES AND MATERIALS'/,
667 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
668 & 5x,
'NUMBER OF LAYERS. . . . . . . . . . . .=',i10/,
669 & 5x,
'POST PROCESSING STRAIN FLAG . . . . . .=',i10
670 & 5x,
'SHELL THICKNESS . . . . . . . . . . . .=',1pg20.13/,
671 & 5x,
'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
672 & 5x,
'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
673 & 5x,
'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
674 & 5x,
'DRILLING D.O.F. FLAG . . . . . . . . .=',i10/,
675 & 5x,
'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
676 & 5x,
'SHELL NUMERICAL DAMPING . . . . . . . .=',1pg20.13/,
677 & 5x,
'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
678 & 5x,
'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
679 & 5x,
' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
680 & 5x,
' < 0.0 : FRACTION OF FAILED LAYERS ',/,
681 & 5x,
'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
682 & 5x,
'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
683 & 5x,
'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
684 & 5x,
'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
685 & 5x,
'X COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
686 & 5x,
'Y COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
687 & 5x,
'Z COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
688 & 5x,
'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
690 & 5x,
'COMPOSITE LAYERED SHELL PROPERTY SET ',
691 & 'with variable thicknesses and materials
'/,
692 & 5X,'property set number . . . . . . . . . .=
',I10/,
693 & 5X,'number of layers. . . . . . . . . . . .=
',I10/,
694 & 5X,'post processing strain flag . . . . . .=
',I10/,
695 & 5X,'shell thickness . . . . . . . . . . . .=
',1PG20.13/,
696 & 5X,'small strain flag . . . . . . . . . . .=
',I10/,
697 & 5X,'shell formulation flag. . . . . . . . .=
',I10/,
698 & 5X,'3node shell formulation flag. . . . . .=
',I10/,
699 & 5X,'drilling d.o.f. flag . . . . . . . . .=
',I10/,
700 & 5X,'shell membrane
damping. . . . . . . . .=
',1PG20.13/,
701 & 5X,'shell numerical
damping . . . . . . . .=
',1PG20.13/,
702 & 5X,'shear
area reduction factor . . . . . .=
',1PG20.13/,
703 & 5X,'element deletion
PARAMETER. . . . . . .=
',1PG20.13/,
704 & 5X,' > 0.0 : fraction of failed thickness
',/,
705 & 5X,' < 0.0 : fraction of failed layers
',/,
706 & 5X,'shear formulation flag. . . . . . . . .=
',I10/,
707 & 5X,'thickness variation flag. . . . . . . .=
',I10/,
708 & 5X,'plasticity formulation flag . . . . . .=
',I10/,
709 & 5X,'local ortothropy system flag. . . . . .=
',I10/,
710 & 5X,'skew of
the first orthotropy direction.=
',I10/,
711 & 5X,'reference direction flag in shell plane=
',I10/)
714 & 5X,' angle(dir 1,proj(dir 1 / shell).=
',1PG20.13/,
715 & 5X,' thickness . . . . . . . . . . . .=
',1PG20.13/,
716 & 5X,' position. . . . . . . . . . . . .=
',1PG20.13/,
717 & 5X,' layer failure weight factor . . .=
',1PG20.13/,
718 & 5X,' material number . . . . . . . . .=
',I10/)