48
49
50
57 USE defaults_mod
58
59
60
61#include "implicit_f.inc"
62
63
64
65#include "units_c.inc"
66#include "com01_c.inc"
67#include "com04_c.inc"
68#include "param_c.inc"
69#include "scr16_c.inc"
70#include "scr17_c.inc"
71#include "sphcom.inc"
72#include "tablen_c.inc"
73
74
75
76 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
77 INTEGER ::
78 . IGEO(NPROPGI),IPM(NPROPMI,*),SUB_ID,(LISKN,*),
79 . PROP_ID
81 . geo(npropg), pm(npropm,*),rtrans(ntransf,*)
82 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
83 CHARACTER(LEN=NCHARTITLE)::IDTITL
84 TYPE(PROP_TAG_) , DIMENSION(0:MAXPROP) :: PROP_TAG
85 TYPE(STACK_INFO_) , TARGET :: STACK_INFO
86 TYPE(SHELL_DEFAULTS_), INTENT(IN) :: DEFAULTS_SHELL
87
88
89
90 CHARACTER LAW_ID*4
91 INTEGER :: IGMAT, IHBE , ISMSTR, ISROT, ISHXFEM ,ISTRAIN, ITHK, IPLAST, IDSK,
92 . IORTH, IPOS , LAMIN , NSUB , NISUB , NN, NPLY, IDSUB , I, PLY_ID,
93 . IMID_PI,INTER ,IPID1 , IPID2 , IREP, ISHEAR ,IHBEOUTP ,IPID0,
94 . ISK , J, ISS, N1, IMID, K, NC, KK, II, NPT_SUB, M1, IMAT,
95 . N,IPID,ISHELL,ISH3N,ID,ID1,IUN,NPLY_SUB,IGTYP,FAIL_SHELL,IS,IRP
97 . an, vx, vy, vz, thickt, dt, tmin, tmax,pthk,cvis,pun,zshift, thk ,
98 . ashear, ang, pos, hm, hf, hr, dn, dm,visc_int
99 INTEGER IHBE_D,IPLA_D,ISTR_D,ITHK_D,ISHEA_D,ISST_D,
100 . ISH3N_D, ISTRA_D,NPTS_D,IDRIL_D
101 INTEGER, DIMENSION(:),ALLOCATABLE :: IDMAT_INTP,IDMAT_SUB
102
103 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
104 LOGICAL :: IS_AVAILABLE, IS_ENCRYPTED
105
106
107
108 DATA iun/1/
109 DATA pun/0.1/
110
111
112
113
114
115
116
117 is_available = .false.
118 is_encrypted = .false.
119
120 igtyp = 17
121 igmat = 1
122 cvis = one
123 istrain = 1
124 irp = 0
125 idsk = 0
126
127 ihbe_d = defaults_shell%ishell
128 ish3n_d= defaults_shell%ish3n
129 isst_d = defaults_shell%ismstr
130 ipla_d = defaults_shell%iplas
131 ithk_d = defaults_shell%ithick
132 idril_d= defaults_shell%idrill
133 ishea_d = 0
134 npts_d = 0
135 istra_d = 1
136
137
138
140
141
142 CALL hm_get_intv(
'Ishell',ihbe,is_available,lsubmodel)
143 CALL hm_get_intv(
'Ismstr',ismstr,is_available,lsubmodel)
144 CALL hm_get_intv(
'ISH3N',ish3n,is_available,lsubmodel)
145 CALL hm_get_intv(
'Idrill',isrot,is_available,lsubmodel)
146 CALL hm_get_intv(
'plyxfem',ishxfem,is_available,lsubmodel)
147 CALL hm_get_floatv(
'Z0',zshift,is_available,lsubmodel,unitab)
148 CALL hm_get_floatv(
'Vinterply',visc_int,is_available,lsubmodel,unitab)
149
150
156
157
158 CALL hm_get_floatv(
'P_Thick_Fail', pthk ,is_available, lsubmodel, unitab)
159 CALL hm_get_floatv(
'THICK' ,thk ,is_available, lsubmodel, unitab)
160 CALL hm_get_floatv(
'AREA_SHEAR',ashear ,is_available, lsubmodel, unitab)
161 CALL hm_get_intv (
'ITHICK' ,ithk ,is_available, lsubmodel)
162 CALL hm_get_intv (
'IPLAS' ,iplast ,is_available, lsubmodel)
163
164
165 CALL hm_get_floatv(
'V_X' ,vx ,is_available, lsubmodel, unitab)
166 CALL hm_get_floatv(
'V_Y' ,vy ,is_available, lsubmodel, unitab)
167 CALL hm_get_floatv(
'V_Z' ,vz ,is_available, lsubmodel, unitab)
168 CALL hm_get_intv(
'SKEW_CSID' ,idsk ,is_available, lsubmodel)
169 CALL hm_get_intv(
'Iorth' ,iorth ,is_available, lsubmodel)
170 CALL hm_get_intv(
'Ipos' ,ipos ,is_available, lsubmodel)
172
173
174
175
176
177 CALL hm_get_intv(
'laminateconfig' ,lamin, is_available, lsubmodel)
178
179 nsub = 0
180 nisub = 0
181 IF (lamin > 0) THEN
182 CALL hm_get_intv(
'sublaminateidlistmax' ,nsub, is_available, lsubmodel)
183 CALL hm_get_intv(
'interfacepairsize' ,nisub, is_available, lsubmodel)
184 nply = 0
185 DO is = 1,nsub
188
189 stack_info%SUB(2*(is - 1) + 1) = idsub
190 stack_info%SUB(2*(is - 1) + 2) = nply_sub
191 DO i = 1,nply_sub
196
197 stack_info%PID(nply + i) = ply_id
198 stack_info%ANG(nply + i) = ang
199 stack_info%POS(nply + i) = pos
200 stack_info%MID_IP(nply + i) = imid_pi
201 END DO
202 nply = nply + nply_sub
203 END DO
204
205 IF (nisub > 0) THEN
206 DO inter = 1,nisub
210
211 stack_info%ISUB(3*(inter - 1) + 1) = ipid1
212 stack_info%ISUB(3*(inter - 1) + 2) = ipid2
213 stack_info%ISUB(3*(inter - 1) + 3) = imid_pi
214 END DO
215 END IF
216 ELSE
217 CALL hm_get_intv(
'plyidlistmax' ,nply ,is_available ,lsubmodel)
218 DO i=1,nply
223
224 stack_info%PID(i) = ply_id
225 stack_info%ANG(i) = ang
226 stack_info%POS(i) = pos
227 stack_info%MID_IP(i) = imid_pi
228 END DO
229 END IF
230
231 irep = iorth
232
233
234
235
236
237 IF (pthk == zero) pthk = one-em06
238 pthk =
min(pthk, one)
239 pthk =
max(pthk,-one)
240
241 ishear = 0
242
243 cvis = zero
244
245
246 igeo( 1)= prop_id
247
248
249 IF(ishxfem > 0) iplyxfem = 2
250 IF(ishxfem > 0 .AND. ishxfem /= 2 ) THEN
252 . msgtype=msgwarning,
253 . anmode=aninfo_blind_2,
254 . i1=prop_id,
255 . c1=idtitl)
256 ENDIF
257 ishxfem =
min(1,ishxfem)
258
259 IF(ihbe /= 12 .AND. ishxfem >0) THEN
260 ishxfem = 0
261 iplyxfem = 0
263 . msgtype=msgwarning,
264 . anmode=aninfo_blind_2,
265 . i1=prop_id,
266 .
267 ENDIF
268 IF(ihbe==0)ihbe=ihbe_d
269 ihbeoutp=ihbe
270 IF (ihbe == 4 .AND. ish3n==0 .AND. ish3n_d == 1) THEN
272 . msgtype=msgwarning,
273 . anmode=aninfo_blind_1,
274 . i1=prop_id,
275 . c1=idtitl)
276 ENDIF
277 IF (ihbe==22.OR.ihbe==23) THEN
279 . msgtype=msgwarning,
280 . anmode=aninfo_blind_1,
281 . i1=prop_id,
282 . c1=idtitl)
283 ihbe=24
284 ENDIF
285 IF(ish3n==0) ish3n = ish3n_d
286 igeo(18) = ish3n
287 IF (dm == zero) igeo(31) = 1
288
289 IF (ihbe==24) THEN
290 IF (cvis==zero) cvis = one
291 IF (dn == zero) dn = zep015
292 IF (dm == zero) THEN
293
294
295 END IF
296 ENDIF
297
298 IF(ismstr==0)ismstr=isst_d
299 IF(ihbe==3)THEN
300 IF(hm == zero)hm = em01
301 IF(hf == zero)hf = em01
302 IF(hr == zero)hr = em02
303 ELSE
304 IF(hm == zero)hm = em02
305 IF(hf == zero)hf = em02
306 IF(hr == zero)hr = em02
307 ENDIF
308
309 IF(ashear == zero) ashear=five_over_6
310
311 IF (ihbe>11.AND.ihbe<29) THEN
312
313 hm = dn
314 dn = cvis
315
316 ENDIF
317
318
319 igeo(10)=ihbe
320 geo(171)=ihbe
321
322 IF(isrot==0)isrot=idril_d
323 IF(isrot==2) isrot = 0
324 igeo(20)=isrot
325
326 IF (ismstr == 10 .AND. isrot > 0 .AND. idrot == 0 ) idrot = 1
327 IF(ismstr == 0)ismstr=2
328 IF(ismstr == 3. and.ihbe /= 0 .AND. ihbe /= 2) THEN
329 ismstr = 2
331 . msgtype=msgwarning,
332 . anmode=aninfo_blind_2,
333 . i1=prop_id,
334 . c1=idtitl)
335 ENDIF
336 geo(3) =ismstr
337 igeo(5)=ismstr
338
339 IF (sub_id /= 0)
340 .
CALL subrotvect(vx,vy,vz,rtrans,sub_id,lsubmodel)
341
342 geo(1) = thk
343 igeo(32) = 0
344 IF(geo(38) == zero) geo(38) = five_over_6
345
346 fail_shell = 0
347 an=sqrt(vx*vx+vy*vy+vz*vz)
348 IF(an < em10)THEN
349 vx=one
350 vy=zero
351 vz=zero
352 IF (irp==23) THEN
354 . msgtype=msgerror,
355 . anmode=aninfo,
356 . c1='PROPERTY',
357 . i1=prop_id,
358 . c2='PROPERTY',
359 . c3=titr,
360 . i2=irp)
361 END IF
362 ELSE
363 vx=vx/an
364 vy=vy/an
365 vz=vz/an
366 ENDIF
367 isk = 0
368 IF (idsk/=0) THEN
370 IF(idsk == iskn(4,j+1)) THEN
371 isk=j+1
372 GO TO 10
373 ENDIF
374 END DO
375 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
377 . msgtype=msgerror,
378 . anmode=aninfo,
379 . c1='PROPERTY',
380 . i1=prop_id,
381 . c2='PROPERTY',
382 . c3=titr,
383 . i2=idsk)
384 10 CONTINUE
385 ENDIF
386 IF ((irp==22.OR.irp==25).AND.isk==0) THEN
388 . msgtype=msgerror,
389 . anmode=aninfo,
390 . c1='PROPERTY',
391 . i1=prop_id,
392 . c2='PROPERTY',
393 . c3=titr,
394 . i2=irp)
395 END IF
396
397 ipid0 = stack_info%PID(1)
398 DO k=2,nply
399 IF (stack_info%PID(k) == ipid0) THEN
400 CALL ancmsg(msgid=1584,msgtype=msgerror,anmode=aninfo_blind_2,
401 . i1=prop_id,
402 . i2=ipid0)
403 ENDIF
404 ENDDO
405
406 IF(ithk == 0)ithk=ithk_d
407 IF(ishear == 0)ishear=ishea_d
408 IF(iplast == 0)iplast=ipla_d
409
410 ihbe = igeo(10)
411 iss = igeo(5)
412
413 IF (dm == zero) igeo(31) = 1
414 igeo( 1) = prop_id
415 igeo(2) = isk
416 igeo(5) = ismstr
417 igeo(6) = iorth
418 igeo(11) = igtyp
419 igeo(18) = ish3n
420 igeo(19) = ishxfem
421 igeo(20) = isrot
422 igeo(14) = irp
423
424
425
426 igeo(98) = igmat
427
428 geo(3) = ismstr
429 geo(7) = vx
430 geo(8) = vy
431 geo(9) = vz
432 geo(11) = istrain
433 geo(12) = igtyp
434 geo(13) = hm
435 geo(14) = hf
436 geo(15) = hr
437 geo(16) = dm
438 geo(17) = dn
439 geo(20) = visc_int
440 geo(35) = ithk
441 geo(37) = ishear
442 geo(38) = ashear
443 geo(39) = iplast
444 geo(42) = pthk
445 geo(43) = one
446 geo(171)= ihbe
447 geo(199)= zshift
448
449 ihbe=nint(geo(171))
450 IF(ihbe==0)THEN
451 geo(171)=0
452 ELSEIF(ihbe==1)THEN
453 geo(171)= 1
454 ELSEIF(ihbe==2)THEN
455 geo(171)=0
456 ELSEIF(ihbe>=3.AND.ihbe<100.AND.ihbe/=4)THEN
457 geo(171)=ihbe-1
458 ENDIF
459
460 istrain=nint(geo(11))
461 IF(istrain==0)THEN
462 geo(11)=0
463 ELSEIF(istrain==1)THEN
464 geo(11)=1
465 ELSEIF(istrain==2)THEN
466 geo(11)=0
467 ENDIF
468
469 ishear = geo(37)
470 IF(ishear==0)THEN
471 geo(37)=0
472 ELSEIF(ishear==1)THEN
473 geo(37)=1
474 ELSEIF(ishear==2)THEN
475 geo(37)=0
476 ENDIF
477
478
479 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
480
481 IF(is_encrypted)THEN
482 WRITE(iout,1000)prop_id
483 1000 FORMAT(
484 & 5x,'COMPOSITE LAYERED SHELL PROPERTY SET'/,
485 & 5x,'------------------------------------'/,
486 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
487 & 5x,'CONFIDENTIAL DATA'//)
488 ELSE
489 IF(isk==0)THEN
490 IF (ihbe > 11.AND.ihbe < 29) THEN
491 WRITE(iout,2112)prop_id,istrain,geo(1),iss,ihbe,
492 . ish3n,igeo(20),
493 . geo(16),geo(13),geo(38),pthk,fail_shell,ishear,ithk,
494 . iplast,irep,geo(7),geo(8),geo(9),igeo(14)
495 ELSE
496 WRITE(iout,2110)prop_id,istrain,geo(1),iss,ihbe,
497 . ish3n,
498 . geo(13),geo(14),geo(15),geo(16),
499 . geo(38),pthk,fail_shell,ishear,ithk,iplast,irep,
500 . geo(7),geo(8),geo(9),igeo(14)
501 ENDIF
502 ELSE
503 IF (ihbe > 11.AND.ihbe < 29) THEN
504 WRITE(iout,2113)prop_id,istrain,geo(1),iss,ihbe,
505 . ish3n,igeo(20),
506 . geo(16),geo(13),geo(38),pthk,fail_shell,ishear,ithk,
507 . iplast,irep,idsk,igeo(14)
508 ELSE
509 WRITE(iout,2111)prop_id,istrain,geo(1),iss,ihbe,
510 . ish3n,
511 . geo(13),geo(14),geo(15),geo(16),geo(38),pthk,
512 . fail_shell,ishear,ithk,iplast,irep,idsk,igeo(14)
513 ENDIF
514 ENDIF
515 IF(ishxfem > 0) WRITE(iout, 2114)
516 ENDIF
517
518
519
520
521
522
523
524
525
526
527
528 nc = nply
529 ALLOCATE( idmat_intp(nply),idmat_sub(nisub))
530 idmat_intp = 0
531 idmat_sub = 0
532 n1 = nply
533 geo(6)=n1 + em01
534 igeo(4) = n1
535
536 igeo(43) = nsub
537 igeo(44) = nisub
538 DO 250 k = 1, nply
539 imid = stack_info%MID_IP(k)
540 idmat_intp(k) = imid
541 IF( imid == 0 .AND. ishxfem > 0) THEN
542 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
544 . msgtype=msgerror,
545 . anmode=aninfo_blind_2,
546 . i1=prop_id,
547 . c1=titr,
548 . i2=imid)
549 ENDIF
550 DO j=1,nummat
551 IF(ipm(1,j) == imid) THEN
552 stack_info%MID_IP(k) = j
553 GO TO 250
554 ENDIF
555 ENDDO
556 IF(ishxfem > 0) THEN
557 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
559 . msgtype=msgerror,
560 . anmode=aninfo_blind_2,
561 . i1=prop_id,
562 . c1=titr,
563 . i2=imid)
564 ENDIF
565 stack_info%MID_IP(k) = 0
566 250 CONTINUE
567
568 IF(igeo(44) > 0) THEN
569 DO 300 k = 1, nisub
570 imid = stack_info%ISUB (3*(k-1) + 3)
571 idmat_sub(k) = imid
572 IF( imid == 0 .AND. ishxfem > 0) THEN
573 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
575 . msgtype=msgerror,
576 . anmode=aninfo_blind_2,
577 . i1=prop_id,
578 . c1=titr,
579 . i2=imid)
580 ENDIF
581 DO j=1,nummat
582 IF(ipm(1,j) == imid) THEN
583 stack_info%ISUB (3*(k-1) + 3) = j
584 GO TO 300
585 ENDIF
586 ENDDO
587 IF(ishxfem > 0) THEN
588 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
590 . msgtype=msgerror,
591 . anmode=aninfo_blind_2,
592 . i1=prop_id,
593 . c1=titr,
594 . i2=imid)
595 ENDIF
596 stack_info%ISUB (3*(k-1) + 3) = 0
597 300 CONTINUE
598 ENDIF
599 igeo(99) = ipos
600 IF(nsub > 0) THEN
601 kk = 0
602 DO ii = 1,nsub
603 idsub = stack_info%SUB ( 2*(ii - 1) + 1)
604 npt_sub = stack_info%SUB ( 2*(ii - 1) + 2)
605
606 IF(is_encrypted .EQV. .false. )WRITE(iout,3000)idsub
607 DO k=1,npt_sub
608 m1= kk + k
609 IF(is_encrypted .EQV. .false. ) THEN
610 WRITE(iout,2121)k,stack_info%PID(m1),stack_info%ANG(m1),
611 . stack_info%POS(m1)
612 IF(ishxfem > 0) WRITE(iout,2122)idmat_intp(m1),geo(20)
613 ENDIF
614 stack_info%ANG(m1)=stack_info%ANG(m1)*pi/hundred80
615 ENDDO
616 kk = kk + npt_sub
617 ENDDO
618 nisub= igeo(44)
619 DO k=1,nisub
620 ipid1 =stack_info%ISUB (3*(k - 1) + 1)
621 ipid2 =stack_info%ISUB (3*(k - 1) + 2)
622 imat =stack_info%ISUB (3*(k - 1) + 3)
623 IF( is_encrypted .EQV. .false. ) THEN
624 WRITE(iout,3100)k
625 IF(ishxfem > 0) THEN
626 WRITE(iout,3200)ipid1,ipid2,imat
627 ELSE
628 WRITE(iout,3300)ipid1,ipid2
629 ENDIF
630 ENDIF
631 ENDDO
632 ELSE
633 DO n=1,n1
634 IF(is_encrypted .EQV. .false. )THEN
635 WRITE(iout,2121)n,stack_info%PID(n),stack_info%ANG(n),
636 . stack_info%POS(n)
637 IF(n < n1 .AND. ishxfem > 0) WRITE(iout,2122)idmat_intp(n),geo(20)
638 ENDIF
639 stack_info%ANG(n)=stack_info%ANG(n)*pi/hundred80
640 ENDDO
641 ENDIF
642
643 DEALLOCATE (idmat_intp,idmat_sub)
644
645 RETURN
646 2110 FORMAT(
647 & 5x,'COMPOSITE STACK SHELL PROPERTY SET ',
648 & 'WITH VARIABLE THICKNESSES AND MATERIALS'/,
649 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
650
651 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
652 & 5x,'SHELL THICKNESS . . . . . . . . . . . .=',1pg20.13/,
653 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
654 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
655 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
656 & 5x,'SHELL HOURGLASS MEMBRANE DAMPING. . . .=',1pg20.13/,
657 & 5x,'SHELL HOURGLASS FLEXURAL DAMPING. . . .=',1pg20.13/,
658 & 5x,'SHELL HOURGLASS ROTATIONAL DAMPING. . .=',1pg20.13/,
659 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
660 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
661 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
662 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
663 & 5x,' < 0.0 : FRACTION OF FAILED LAYERS/PLYS ',/,
664 & 5x,'SHELL FAILURE FLAG. . . . . . . . . . .=',i10/,
665 & 5x,'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
666 & 5x,'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
667 & 5x,'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
668 & 5x,'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
669 & 5x,'X COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
670 & 5x,'Y COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
671 & 5x,'Z COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
672 & 5x,'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
673 2111 FORMAT(
674 & 5x,'COMPOSITE STACK SHELL PROPERTY SET ',
675 & 'WITH VARIABLE THICKNESSES AND MATERIALS'/,
676 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
677
678 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
679 & 5x,'SHELL THICKNESS . . . . . . . . . . . .=',1pg20.13/,
680 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
681 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
682 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
683 & 5x,'SHELL HOURGLASS MEMBRANE DAMPING. . . .=',1pg20.13/,
684 & 5x,'SHELL HOURGLASS FLEXURAL DAMPING. . . .=',1pg20.13/,
685 & 5x,'SHELL HOURGLASS ROTATIONAL DAMPING. . .=',1pg20.13/,
686 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
687 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
688 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
689 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
690 & 5x,' < 0.0 : FRACTION OF FAILED LAYERS/PLYS ',/,
691 & 5x,'SHELL FAILURE FLAG. . . . . . . . . . .=',i10/,
692 & 5x,'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
693 & 5x,'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
694 & 5x,'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
695 & 5x,'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
696 & 5x,'SKEW OF THE FIRST ORTHOTROPY DIRECTION.=',i10/,
697 & 5x,'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
698 2112 FORMAT(
699 & 5x,'COMPOSITE STACK SHELL PROPERTY SET ',
700 & 'WITH VARIABLE THICKNESSES AND MATERIALS'/,
701 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
702!
703 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
704 & 5x,'SHELL THICKNESS . . . . . . . . . . . .=',1pg20.13/,
705 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
706 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
707 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
708 & 5x,'DRILLING D.O.F. FLAG . . . . . . . . .=',i10/,
709 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
710 & 5x,'SHELL NUMERICAL DAMPING . . . . . . . .=',1pg20.13/,
711 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
712 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
713 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
714 & 5x,' < 0.0 : FRACTION OF FAILED LAYERS/PLYS ',/,
715 & 5x,'SHELL FAILURE FLAG. . . . . . . . . . .=',i10/,
716 & 5x,'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
717 & 5x,'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
718 & 5x,'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
719 & 5x,'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
720 & 5x,'X COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
721 & 5x,'Y COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
722 & 5x,'Z COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
723 & 5x,'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
724 2113 FORMAT(
725 & 5x,'COMPOSITE STACK SHELL PROPERTY SET ',
726 & 'WITH VARIABLE THICKNESSES AND MATERIALS'/,
727 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
728
729 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
730 & 5x,'SHELL THICKNESS . . . . . . . . . . . .=',1pg20.13/,
731 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
732 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
733 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
734 & 5x,'DRILLING D.O.F. FLAG . . . . . . . . .=',i10/,
735 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
736 & 5x,'SHELL NUMERICAL DAMPING . . . . . . . .=',1pg20.13/,
737 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
738 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
739 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
740 & 5x,' < 0.0 : FRACTION OF FAILED LAYERS/PLYS ',/,
741 & 5x,'SHELL FAILURE FLAG. . . . . . . . . . .=',i10/,
742 & 5x,'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
743 & 5x,'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
744 & 5x,'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
745 & 5x,'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
746 & 5x,'SKEW OF THE FIRST ORTHOTROPY DIRECTION.=',i10/,
747 & 5x,'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
748 2114 FORMAT(
749 & 5x,'PLY XFEM SHELL COMPOSITE FORMULATION IS ACTIVATED '/)
750 2121 FORMAT(
751 & 5x,' PLY ',i3/,
752 & 5x,' PLY PID NUMBER . . . . . . . . .=',i10/
753 & 5x,' ANGLE (DIR 1,PROJ(DIR 1 / SHELL).=',1pg20.13/,
754 & 5x,' POSITION. . . . . . . . . . . . .=',1pg20.13/)
755 2122 FORMAT(
756 & 5x,' INTER-PLY MID NUMBER . . . . . .=',i10/
757 & 5x,' INTER-PLY SHELL DAMPING . . . . . .=',1pg20.13/)
758 3000 FORMAT(
759 & 5x,' COMPOSITE SUBSTACK SHELL ID . . . . . . =',i10/ )
760 3100 FORMAT(
761 & 5x,' INTERFACE NUMBER BETWEEN-SUBSTACK . . .:',i10/ )
762 3200 FORMAT(
763 & 5x,' INTER-PLY_1 PID NUMBER . . . . . =',i10/,
764 & 5x,' INTER-PLY_2 PID NUMBER . . . . . .=',i10/,
765 & 5x,' INTER-PLY MID NUMBER . . . . . . =',i10/)
766 3300 FORMAT(
767 & 5x,' INTER-PLY_1 PID NUMBER . . . . . =',i10/,
768 & 5x,' INTER-PLY_2 PID NUMBER . . . . . .=',i10/)
subroutine hm_get_float_array_2indexes(name, rval, index1, index2, is_available, lsubmodel, unitab)
subroutine hm_get_float_array_index(name, rval, index, is_available, lsubmodel, unitab)
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_int_array_2indexes(name, ival, index1, index2, is_available, lsubmodel)
subroutine hm_get_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
integer, parameter nchartitle
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)
subroutine subrotvect(x, y, z, rtrans, sub_id, lsubmodel)