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)::(*)
96 .
INTENT(INOUT)::geo(*)
97 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
98 TYPE(),
INTENT(IN) :: DEFAULTS_SOLID
103 INTEGER IHBE,ISMSTR,IPLAST,ICPRE,ICSTR,IINT,JCVT,
104 . NPT,NPTR,NPTS,NPTT, ISTRAIN,ID,
105 . irep,ipos,ihbe_ds,isst_ds,icontrol_d,icontrol
107 . cvis,qa,qb,dtmin,ashear
108 INTEGER NUML(200), NLY, NLYMAX, J, M1, M2, M3,ICOMPA,
109 . K,IDSK, IPANG, IPTHK, IPPOS, IPMAT,IERRS,IP,ISK
111 . an, dt, thk, tmin, tmax,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)
146 CALL HM_GET_INTV('nbp
',NPT,IS_AVAILABLE,LSUBMODEL)
147 CALL HM_GET_INTV('icstr
',ICSTR,IS_AVAILABLE,LSUBMODEL)
148 CALL HM_GET_INTV('inpts_r
',NPTR,IS_AVAILABLE,LSUBMODEL)
149 CALL HM_GET_INTV('inpts_s
',NPTS,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)
159 CALL HM_GET_FLOATV('qa
',QA,IS_AVAILABLE,LSUBMODEL,UNITAB)
160 CALL HM_GET_FLOATV('qb
',QB,IS_AVAILABLE,LSUBMODEL,UNITAB)
161 CALL HM_GET_FLOATV('dn
',CVIS,IS_AVAILABLE,LSUBMODEL,UNITAB)
162 CALL HM_GET_FLOATV('vx
',VX,IS_AVAILABLE,LSUBMODEL,UNITAB)
163 CALL HM_GET_FLOATV('vy
',VY,IS_AVAILABLE,LSUBMODEL,UNITAB)
164 CALL HM_GET_FLOATV('vz
',VZ,IS_AVAILABLE,LSUBMODEL,UNITAB)
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.AND.
IF (IHBE /= 14 IHBE /= 15 ) THEN
184 CALL ANCMSG(MSGID=549,
186 . ANMODE=ANINFO_BLIND_1,
195.OR.
IF (IHBE == 14 IHBE == 15) JCVT = 2
200 IF (ISMSTR == 0) ISMSTR=ISST_DS
201 IF (ISMSTR == 0) ISMSTR=4
202.OR.
IF (ISST_DS == -2ISMSTR<0) ISMSTR=4
208.AND.
IF (IHBE == 14 ICSTR == 0) ICSTR = 10
209 IF (ICSTR > 111) ICSTR=0
211.AND..AND.
. (ICSTR /= 1ICSTR /= 10ICSTR /= 100)) THEN
212 CALL ANCMSG(MSGID=677,
214 . ANMODE=ANINFO_BLIND_1,
222 IF (IHBE == 15) IINT = 1
238.OR.
IF (NPTS < 2 NPTT < 2 ) THEN
239 CALL ANCMSG(MSGID=563,
241 . ANMODE=ANINFO_BLIND_1,
250.OR.
IF (NPTR < 2 NPTT < 2 ) THEN
251 CALL ANCMSG(MSGID=563,
253 . ANMODE=ANINFO_BLIND_1,
262.OR.
IF (NPTS < 2 NPTR < 2 ) THEN
263 CALL ANCMSG(MSGID=563,
265 . ANMODE=ANINFO_BLIND_1,
279 CALL ANCMSG(MSGID=27,
281 . ANMODE=ANINFO_BLIND_1,
286 CALL ANCMSG(MSGID=28,
288 . ANMODE=ANINFO_BLIND_1,
295 IF (ICONTROL==0) ICONTROL=ICONTROL_D
296 IF (ICONTROL>1) ICONTROL=0
302 ELSEIF (CVIS == ZERO) THEN
306.AND.
IF(QA == ZERO 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)
325 DO J=0,NUMSKW+MIN(1,NSPCOND)*NUMSPH+NSUBMOD
326 IF(IDSK==ISKN(4,J+1)) THEN
331 CALL ANCMSG(MSGID=184,
343 IF(ISK == ISKN(4,J+1)) THEN
348 CALL ANCMSG(MSGID=137,
391 CALL HM_GET_FLOAT_ARRAY_INDEX('prop_phi
',GEO(IPANG+K),K,IS_AVAILABLE,LSUBMODEL,UNITAB)
392 CALL HM_GET_FLOAT_ARRAY_INDEX('prop_thick
',GEO(IPTHK+K),K,IS_AVAILABLE,LSUBMODEL,UNITAB)
393 CALL HM_GET_FLOAT_ARRAY_INDEX('prop_zi
',GEO(IPPOS+K),K,IS_AVAILABLE,LSUBMODEL,UNITAB)
394 CALL HM_GET_INT_ARRAY_INDEX('prop_mi
',NUML(K),K,IS_AVAILABLE,LSUBMODEL)
398 IERRS = INT(THK*EP02)
399 IF (IABS(IERRS-100)>1) THEN
400 CALL ANCMSG(MSGID=675,
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.OR..OR.
IF ( TMIN<-HALFTMAX>HALFTHK>EM10) THEN
418 CALL ANCMSG(MSGID=674,
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.OR.
IF(NINT(PM(19,J))==14NINT(PM(19,J))==24
440.OR.
. NINT(PM(19,J))==25) ICOMPA = J
445 CALL ANCMSG(MSGID=676,
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
480 IF (ASPMAX==ZERO) ASPMAX=EP10
481 WRITE(IOUT,3001) VDEFMIN,VDEFMAX,ASPMAX,ASPTET
489.NOT.
IF(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 & 5X,'property set number . . . . . . . . . .=
',I10/,
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/,
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 damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)
subroutine hm_read_prop22(geo, igeo, igtyp, ig, titr, unitab, lsubmodel, pm, ipm, rtrans, sub_id, iskn, prop_tag, defaults_solid)