42 . PM ,IPM ,RTRANS ,SUB_ID ,ISKN,PROP_TAG,
74#include "implicit_f.inc"
81#include "tablen_c.inc"
87 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
88 INTEGER,
INTENT(IN)::IG,IGTYP,SUB_ID,ISKN(LISKN,*),IPM(NPROPMI,*)
89 CHARACTER(LEN=NCHARTITLE) ,
INTENT(IN)::TITR
91 .
INTENT(IN)::rtrans(ntransf,*),pm(npropm,*)
94 INTEGER,
INTENT(INOUT)::IGEO(*)
96 .
INTENT(INOUT)::geo(*)
97 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
98 TYPE(SOLID_DEFAULTS_),
INTENT(IN) :: DEFAULTS_SOLID
103 INTEGER IHBE,ISMSTR,IPLAST,ICPRE,ICSTR,,JCVT,
104 . NPG,NPT,NPTR,NPTS,NPTT, ISTRAIN,IET,IHBE_OLD,ID,
105 . irep,ipos,ihbe_ds,isst_ds,icontrol_d,icontrol
107 . cvis,qa,qb,qh,vns1,vns2,dtmin,ashear
108 INTEGER NUML(200), NLY, NLYMAX, N, J, M1, M2, M3,ICOMPA,
109 . K, N1,IDSK, IPANG, IPTHK, IPPOS, IPMAT,IERRS,IP,ISK
111 . an, dt, thk, tmin, tmax,ang,vx,vy,vz,
112 . vdefmin,vdefmax,aspmax,asptet
113 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
118 is_encrypted = .false.
119 is_available = .false.
132 ihbe_ds= defaults_solid%ISOLID
133 isst_ds= defaults_solid%ISMSTR
134 icontrol_d=defaults_solid%ICONTROL
142 CALL hm_get_intv(
'ISOLID',ihbe,is_available,lsubmodel)
143 CALL hm_get_intv(
'Ismstr',ismstr,is_available,lsubmodel)
147 CALL hm_get_intv(
'Icstr',icstr,is_available,lsubmodel)
148 CALL hm_get_intv(
'Inpts_R',nptr,is_available,lsubmodel)
150 CALL hm_get_intv(
'Inpts_T',nptt,is_available,lsubmodel)
151 CALL hm_get_intv(
'Iint',iint,is_available,lsubmodel)
152 CALL hm_get_intv(
'SKEW_CSID',idsk,is_available,lsubmodel)
153 CALL hm_get_intv(
'ORTHTROP',irep,is_available,lsubmodel)
154 CALL hm_get_intv(
'Ipos',ipos,is_available,lsubmodel)
155 CALL hm_get_intv(
'Icontrol',icontrol,is_available,lsubmodel)
165 CALL hm_get_floatv(
'AREA_SHEAR',ashear,is_available,lsubmodel,unitab)
166 CALL hm_get_floatv(
'deltaT_min',dtmin,is_available,lsubmodel,unitab)
167 CALL hm_get_floatv(
'vdef_min',vdefmin,is_available,lsubmodel,unitab)
168 CALL hm_get_floatv(
'vdef_max',vdefmax,is_available,lsubmodel,unitab)
169 CALL hm_get_floatv(
'ASP_max',aspmax,is_available,lsubmodel,unitab)
170 CALL hm_get_floatv(
'COL_min',asptet,is_available,lsubmodel,unitab)
177 .
CALL subrotvect(vx,vy,vz,rtrans,sub_id,lsubmodel)
182 IF (ihbe == 0) ihbe = ihbe_ds
183 IF (ihbe /= 14 .AND. ihbe /= 15 )
THEN
186 . anmode=aninfo_blind_1,
195 IF (ihbe == 14 .OR. ihbe == 15) jcvt = 2
200 IF (ismstr == 0) ismstr=isst_ds
201 IF (ismstr == 0) ismstr=4
202 IF (isst_ds == -2.OR.ismstr<0) ismstr=4
208 IF (ihbe == 14 .AND. icstr == 0) icstr = 10
209 IF (icstr > 111) icstr=0
211 . (icstr /= 1.AND.icstr /= 10.AND.icstr /= 100))
THEN
222 IF (ihbe == 15) iint = 1
238 IF (npts < 2 .OR. nptt < 2 )
THEN
241 . anmode=aninfo_blind_1,
250 IF (nptr < 2 .OR. nptt < 2 )
THEN
253 . anmode=aninfo_blind_1,
262 IF (npts < 2 .OR. nptr < 2 )
THEN
265 . anmode=aninfo_blind_1,
281 . anmode=aninfo_blind_1,
288 . anmode=aninfo_blind_1,
295 IF (icontrol==0) icontrol=icontrol_d
296 IF (icontrol>1) icontrol=0
302 ELSEIF (cvis == zero)
THEN
306 IF(qa == zero .AND. qb == zero) igeo(31) = 1
307 IF (qa == zero) qa = onep1
308 IF (qb == zero) qb = fiveem2
310 IF(ashear==zero)ashear=one
311 IF(nly==1) ashear= em10
312 an=sqrt(vx*vx+vy*vy+vz*vz)
326 IF(idsk==iskn(4,j+1))
THEN
343 IF(isk == iskn(4,j+1))
THEN
398 ierrs = int(thk*ep02)
399 IF (iabs(ierrs-100)>1)
THEN
402 . anmode=aninfo_blind_1,
411 dt = half*geo(ipthk+k)
412 tmin =
min(tmin,geo(ippos+k)-dt)
413 tmax =
max(tmax,geo(ippos+k)+dt)
416 thk = abs(tmax-tmin-one)
417 IF ( tmin<-half.OR.tmax>half.OR.thk>em10)
THEN
420 . msgtype=msgwarning,
421 . anmode=aninfo_blind_1,
427 geo(ippos+1) = -half +half*geo(ipthk+1)
429 geo(ippos+k)=geo(ippos+k-1)+
430 . half*(geo(ipthk+k)+geo(ipthk+k-1))
437 IF(ipm(1,j)==numl(k))
THEN
439 IF(nint(pm(19,j))==14.OR.nint(pm(19,j))==24
440 . .OR.nint(pm(19,j))==25) icompa = j
447 . anmode=aninfo_blind_1,
459 IF(igeo(31) == 1)
THEN
461 WRITE(iout,2100)ig,ihbe,ismstr,npt,icstr,
462 . cvis,qa,qb,dtmin,nly,ipos,ashear,irep,
465 WRITE(iout,2000)ig,ihbe,ismstr,npt,icstr,
466 . cvis,qa,qb,dtmin,nly,ipos,ashear,irep,
470 IF(igeo(31) == 1)
THEN
471 WRITE(iout,2101)ig,ihbe,ismstr,npt,icstr,
472 . cvis,qa,qb,dtmin,nly,ipos,ashear,irep,iskn(4,isk),icontrol
474 WRITE(iout,2001)ig,ihbe,ismstr,npt,icstr,
475 . cvis,qa,qb,dtmin,nly,ipos,ashear,irep,iskn(4,isk),icontrol
478 IF((vdefmin+vdefmax+aspmax+asptet)>zero)
THEN
479 IF (vdefmax==zero) vdefmax=ep10
481 WRITE(iout,3001) vdefmin,vdefmax,aspmax,asptet
489 IF(.NOT.is_encrypted)
WRITE(iout,3000) k,geo(m1),geo(m2),geo(m3),numl(k)
494 prop_tag(igtyp)%G_SIG = 6
495 prop_tag(igtyp)%L_SIG = 6
496 prop_tag(igtyp)%G_EINT = 1
497 prop_tag(igtyp)%G_QVIS = 1
498 prop_tag(igtyp)%L_EINT = 1
499 prop_tag(igtyp)%G_VOL = 1
500 prop_tag(igtyp)%L_VOL = 1
501 prop_tag(igtyp)%L_QVIS = 1
502 prop_tag(igtyp)%G_FILL = 1
503 prop_tag(igtyp)%L_STRA = 6
504 prop_tag(igtyp)%G_GAMA = 6
505 prop_tag(igtyp)%L_GAMA = 6
517 & 5x,
'COMPOSITE LAYERED THICK SHELL PROPERTY SET'/,
518 & 5x,
'------------------------------------'/,
519 &
'PROPERTY SET NUMBER . . . . . . . . . .='
520 & 5x,
'CONFIDENTIAL DATA'//)
522 & 5x,
'COMPOSITE LAYERED THICK SHELL PROPERTY SET'/,
523 & 5x,
'WITH HETEROGENIOUS PROPERTY IN THICKNESS'/,
524 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
525 & 5x,
'FORMULATION FLAG. . . . . . . . . . . .=',i10/,
526 & 5x,
'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
527 & 5x,
'NUMBER OF INTEGRATION POINTS. . . . .=',i10/,
528 & 5x,
'CONSTANT STRESS FLAG. . . . . . . . . .=',i10/,
529 & 5x,
'HOURGLASS NUMERICAL DAMPING . . . . . .=',1pg20.13/,
530 & 5x,
'QUADRATIC BULK VISCOSITY. . . . . . . .=',1pg20.13/,
531 & 5x,
'LINEAR BULK VISCOSITY . . . . . . . . .=',1pg20.13/,
532 & 5x,
'BRICK MINIMUM TIME STEP................=',1pg20.13//,
533 & 5x,
'NUMBER OF LAYERS. . . . . . . . . . . .=',i10/,
534 & 5x,
'POSITION INPUT FLAG . . . . . . . . . .=',i10/,
535 & 5x,
'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
536 & 5x,
'LOCAL ORTHOTROPY SYSTEM FORMULATION . .=',i10/,
537 & 5x,
'X COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
538 & 5x,
'Y COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
539 & 5x,
'Z COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
540 & 5x,
'SOLID DISTORTION CONTROL FLAG . . . . .=',i10/)
542 & 5x,
'COMPOSITE LAYERED THICK SHELL PROPERTY SET'/,
543 & 5x,
'WITH HETEROGENIOUS PROPERTY IN THICKNESS'/,
544 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
545 & 5x,
'FORMULATION FLAG. . . . . . . . . . . .=',i10/,
546 & 5x,
'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
547 & 5x,
'NUMBER OF INTEGRATION POINTS. . . . .=',i10/,
548 & 5x,
'CONSTANT STRESS FLAG. . . . . . . . . .=',i10/,
549 & 5x,
'HOURGLASS NUMERICAL DAMPING . . . . . .=',1pg20.13/,
550 & 5x,
'QUADRATIC BULK VISCOSITY. . . . . . . .=',1pg20.13/,
551 & 5x,
'LINEAR BULK VISCOSITY . . . . . . . . .=',1pg20.13/,
552 & 5x,
'BRICK MINIMUM TIME STEP................=',1pg20.13/,
553 & 5x,
'NUMBER OF LAYERS. . . . . . . . . . . .=',i10/,
554 & 5x,
'POSITION INPUT FLAG . . . . . . . . . .=',i10/,
555 & 5x,
'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
556 & 5x,
'LOCAL ORTHOTROPY SYSTEM FORMULATION . .=',i10/,
557 & 5x,
'SKEW OF THE FIRST ORTHOTROPY DIRECTION.=',i10/,
558 & 5x,
'SOLID DISTORTION CONTROL FLAG . . . . .=',i10/)
560 & 5x,
'COMPOSITE LAYERED THICK SHELL PROPERTY SET'/,
561 & 5x,
'WITH HETEROGENIOUS PROPERTY IN THICKNESS'/,
562 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
563 & 5x,
'FORMULATION FLAG. . . . . . . . . . . .=',i10/,
564 & 5x,
'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
565 & 5x,
'NUMBER OF INTEGRATION POINTS. . . . .=',i10/,
566 & 5x,
'CONSTANT STRESS FLAG. . . . . . . . . .=',i10/,
567 & 5x,
'HOURGLASS NUMERICAL DAMPING . . . . . .=',1pg20.13/,
568 & 5x,
'DEFAULT VALUE FOR QUADRATIC BULK. . . . ',/,
569 & 5x,
' VISCOSITY (QA) WILL BE USED. . . .=',1pg20.13/,
570 & 5x,
'EXCEPT IN CASE LAW 70 WHERE QA = 0. ',/,
571 & 5x,
'DEFAULT VALUE FOR LINEAR BULK . . . . . ',/,
572 & 5x,
' VISCOSITY (QB) WILL BE USED . . . =',1pg20.13/,
573 & 5x,
'EXCEPT IN CASE LAW 70 WHERE QB = 0. ',/,
574 & 5x,
'BRICK MINIMUM TIME STEP................=',1pg20.13//,
575 & 5x,
'NUMBER OF LAYERS. . . . . . . . . . . .=',i10/,
576 & 5x,
'POSITION INPUT FLAG . . . . . . . . . .=',i10/,
577 & 5x,
'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
578 & 5x,
'LOCAL ORTHOTROPY SYSTEM FORMULATION . .=',i10/,
579 & 5x,
'X COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
580 & 5x,
'Y COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
581 & 5x,
'Z COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
582 & 5x,
'SOLID DISTORTION CONTROL FLAG . . . . .=',i10/)
584 & 5x,
'COMPOSITE LAYERED THICK SHELL PROPERTY SET'/,
585 & 5x,
'WITH HETEROGENIOUS PROPERTY IN THICKNESS'/,
586 & 5x,
'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
587 & 5x,
'FORMULATION FLAG. . . . . . . . . . . .=',i10/,
588 & 5x,
'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
589 & 5x,
'NUMBER OF INTEGRATION POINTS. . . . .=',i10/,
590 & 5x,
'CONSTANT STRESS FLAG. . . . . . . . . .=',i10/,
591 & 5x,
'HOURGLASS NUMERICAL DAMPING . . . . . .=',1pg20.13/,
592 & 5x,
'DEFAULT VALUE FOR QUADRATIC BULK. . . . ',/,
593 & 5x,
' VISCOSITY (QA) WILL BE USED. . . .=',1pg20.13/,
594 & 5x,
'EXCEPT IN CASE LAW 70 WHERE QA = 0. ',/,
595 & 5x,
'DEFAULT VALUE FOR LINEAR BULK . . . . . ',/,
596 & 5x,
' VISCOSITY (QB) WILL BE USED . . . =',1pg20.13/,
597 & 5x,
'EXCEPT IN CASE LAW 70 WHERE QB = 0. ',/,
598 & 5x,
'BRICK MINIMUM TIME STEP................=',1pg20.13/,
599 & 5x,
'NUMBER OF LAYERS. . . . . . . . . . . .=',i10/,
600 & 5x,
'POSITION INPUT FLAG . . . . . . . . . .=',i10/,
601 & 5x,
'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
602 & 5x,
'LOCAL ORTHOTROPY SYSTEM FORMULATION . .=',i10/,
603 & 5x,
'SKEW OF THE FIRST ORTHOTROPY DIRECTION.=',i10/,
604 & 5x,
'SOLID DISTORTION CONTROL FLAG . . . . .=',i10/)
607 & 5x,
' ANGLE (DIR 1,PROJ(DIR 1 /TSHELL) .=',1pg20.13/,
608 & 5x,
' THICKNESS (PER TOTAL THICKNESS). .=',1pg20.13/,
609 & 5x,
' POSITION ([-0.5,+0.5]). . . . . .=',1pg20.13/,
610 & 5x,
' MATERIAL NUMBER . . . . . . . . . =',i10/)
612 & 5x,
'SOLID MINIMUM VOLUMETRIC STRAIN........=',1pg20.13/,
613 & 5x,
'SOLID MAXIMUM VOLUMETRIC STRAIN........=',1pg20.13/,
614 & 5x,
'SOLID MAXIMUM ASPECT RATIO.............=',1pg20.13/,
615 & 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)