45
46
47
53 USE defaults_mod
54
55
56
57#include "implicit_f.inc"
58
59
60
61#include "units_c.inc"
62#include "com04_c.inc"
63#include "param_c.inc"
64#include "scr17_c.inc"
65#include "sphcom.inc"
66#include "tablen_c.inc"
67
68
69
70 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
71 INTEGER IGEO(NPROPGI),IPM(NPROPMI,*),SUB_ID,IGTYP,IG
72
74 . geo(npropg), pm(npropm,*)
76 . rtrans(ntransf,*)
77 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
78 CHARACTER(LEN=NCHARTITLE)::IDTITL
79 TYPE(PROP_TAG_) , DIMENSION(0:MAXPROP) :: PROP_TAG
80 TYPE(SHELL_DEFAULTS_), INTENT(IN) :: DEFAULTS_SHELL
81
82
83
84 CHARACTER LAW_ID*4
85 CHARACTER ISS*3
86 INTEGER NUML(100), NLY, NLYMAX, N, J, IERREL, M1, M2, M3,
87 . M4, K, N2, N3, ISTRAIN, MLAWLY1,ISHEAR,IHBE,,IREP,
88 . IDSK, ISK, IPANG, IPPHI, IPTHK, IPPOS, IPOS, IPMAT, PID1,
89 . ISKN(LISKN,*),ISMSTR,ISROT,IHBEOUTP,ISORTH,IHBE_OLD,IPWEIGHT
90
92 . an, vx, vy, vz, thickt, dt, tmin, tmax, ashear,pthk,cvis,pun,
93 . zshift
94 INTEGER ISH3N,IRP
95 INTEGER ID,IUN
96 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
97 INTEGER IHBE_D,IPLA_D,ISTR_D,ITHK_D,ISHEA_D,ISST_D,
98 . ISH3N_D, ISTRA_D,NPTS_D,IDRIL_D
99 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
100
101
102
103 DATA iun/1/
104 DATA pun/0.1/
105
106 is_encrypted = .false.
107 is_available = .false.
108
109 nlymax= 100
110 ipmat = 100
111 ipang = 200
112 ipthk = 300
113 ippos = 400
114 ipphi = 500
115 ipweight = 900
116 idsk = 0
117 ipos = 0
118 irep = 2
119 irp = 0
120
121 ihbe_d = defaults_shell%ishell
122 ish3n_d= defaults_shell%ish3n
123 isst_d = defaults_shell%ismstr
124 ipla_d = defaults_shell%iplas
125 ithk_d = defaults_shell%ithick
126 idril_d= defaults_shell%idrill
127 ishea_d = 0
128 npts_d = 0
129 istra_d = 1
130
131
132
133
134 ishear = 0
135
136
137 isrot = 0
138
139
140
141 igeo(1)=ig
142 igeo(11)=igtyp
143 geo(12) =igtyp+pun
144
145
146
148
149
150
151 CALL hm_get_intv(
'ISHELL',ihbe,is_available,lsubmodel)
152 CALL hm_get_intv(
'Ismstr',ismstr,is_available,lsubmodel)
153 CALL hm_get_intv(
'ISH3N',ish3n,is_available,lsubmodel)
154
156
157 CALL hm_get_intv(
'ITHICK',ithk,is_available,lsubmodel)
158
159 CALL hm_get_intv(
'SKEW_CSID',idsk,is_available,lsubmodel)
160 CALL hm_get_intv(
'Ipos',ipos,is_available,lsubmodel)
162
163 DO k=1,nly
165 ENDDO
166
167
168
169 CALL hm_get_floatv(
'P_Thick_Fail',pthk,is_available,lsubmodel,unitab)
170
171 CALL hm_get_floatv(
'Hm',geo(13),is_available,lsubmodel,unitab)
172 CALL hm_get_floatv(
'Hf',geo(14),is_available,lsubmodel,unitab)
173 CALL hm_get_floatv(
'Hr',geo(15),is_available,lsubmodel,unitab)
174 CALL hm_get_floatv(
'Dm',geo(16),is_available,lsubmodel,unitab)
175 CALL hm_get_floatv(
'Dn',geo(17),is_available,lsubmodel,unitab)
176
177 CALL hm_get_floatv(
'THICK',geo(1),is_available,lsubmodel,unitab)
178 CALL hm_get_floatv(
'AREA_SHEAR',ashear,is_available,lsubmodel,unitab)
179
180 CALL hm_get_floatv(
'VECTOR_X',vx,is_available,lsubmodel,unitab)
181 CALL hm_get_floatv(
'VECTOR_Y',vy,is_available,lsubmodel,unitab)
182 CALL hm_get_floatv(
'VECTOR_Z',vz,is_available,lsubmodel,unitab)
183
184 DO k=1,nly
189 IF (geo(ipphi+k) == zero) geo(ipphi+k) = ninty
190 geo(ipweight+k)= one
191 ENDDO
192
193
194
195 IF (sub_id /= 0)
196 .
CALL subrotvect(vx,vy,vz,rtrans,sub_id,lsubmodel)
197
198 IF (pthk == zero) pthk = one-em06
199 pthk =
min(pthk, one)
200 pthk =
max(pthk,-one)
201 geo(42) = pthk
202
203
204 istrain=1
205
206 IF(ihbe==0)ihbe=ihbe_d
207 ihbeoutp=ihbe
208 IF (ihbe == 4 .AND. ish3n==0 .AND. ish3n_d == 1) THEN
210 . msgtype=msgwarning,
211 . anmode=aninfo_blind_1,
212 . i1=ig,
213 . c1=idtitl)
214 ENDIF
215 IF (ihbe==22.OR.ihbe==23) THEN
217 . msgtype=msgwarning,
218 . anmode=aninfo_blind_1,
219 . i1=ig,
220 . c1=idtitl)
221 ihbe=24
222 ENDIF
223 IF(ish3n==0) ish3n = ish3n_d
224 igeo(18) = ish3n
225 IF (geo(16) == zero) igeo(31) = 1
226
227 IF (ihbe==24) THEN
228 IF (geo(17)==zero) geo(17)=zep015
229 ENDIF
230
231 IF(ismstr==0)ismstr=isst_d
232 IF (isst_d == -2) ismstr = -1
233 IF(ihbe==3)THEN
234 IF(geo(13)==zero)geo(13)=em01
235 IF(geo(14)==zero)geo(14)=em01
236 IF(geo(15)==zero)geo(15)=em02
237 ELSE
238 IF(geo(13)==zero)geo(13)=em02
239 IF(geo(14)==zero)geo(14)=em02
240 IF(geo(15)==zero)geo(15)=em02
241 ENDIF
242
243 IF (ihbe==24) THEN
244 geo(13)=geo(17)
245 geo(17)=one
246 ENDIF
247
248
249 igeo(10)=ihbe
250 geo(171)=ihbe
251
252
253
254 igeo(20)=isrot
255
256 IF (ismstr == 0) ismstr=4
257 IF (ismstr==3 .AND. ihbe/=0 .AND. ihbe/=2) THEN
258 ismstr = 4
260 . msgtype=msgwarning,
261 . anmode=aninfo_blind_2,
262 . i1=ig,
263 . c1=idtitl)
264 ENDIF
265 igeo(5)= ismstr
266 geo(3) = ismstr
267
268 IF (ashear == zero) ashear=five_over_6
269 IF (nly == -1) nly = npts_d
270 IF (nly == 0) nly = 1
271 IF (nly == 1) ashear = zero
272 an = sqrt(vx*vx+vy*vy+vz*vz)
273 IF(an < em10)THEN
274 vx=one
275 vy=zero
276 vz=zero
277 IF (irp==23) THEN
279 . msgtype=msgerror,
280 . anmode=aninfo,
281 . c1='PROPERTY',
282 . i1=ig,
283 . c2='PROPERTY',
284 . c3=titr,
285 . i2=irp)
286 END IF
287 ELSE
288 vx=vx/an
289 vy=vy/an
290 vz=vz/an
291 ENDIF
292 isk = 0
293 IF (idsk /= 0) THEN
295 IF(idsk == iskn(4,j+1)) THEN
296 isk=j+1
297 GO TO 10
298 ENDIF
299 END DO
301 . msgtype=msgerror,
302 . anmode=aninfo,
303 . c1='PROPERTY',
305 . c2='PROPERTY',
306 . c3=titr,
307 . i2=idsk)
308 10 CONTINUE
309 ENDIF
310 IF (irp==22.AND.isk==0) THEN
312
313 . anmode=aninfo,
314 . c1='PROPERTY',
315 . i1=ig,
316 . c2='PROPERTY',
317 . c3=titr,
318 . i2=irp)
319 END IF
320 igeo(2)=isk
321 igeo(6)=irep
322 geo(7) =vx
323 geo(8) =vy
324 geo(9) =vz
325 IF(ithk == 0)ithk=ithk_d
326 IF(ithk_d==-2)ithk=-1
327 IF(ishear == 0)ishear=ishea_d
328
329 geo(11)=istrain
330 ihbe = nint(geo(171))
331 geo(35)=ithk
332 geo(37)=ishear
333 geo(38)=ashear
334 igeo(14) = irp
335
336 IF(is_encrypted)THEN
337 WRITE(iout,1000)ig
338 1000 FORMAT(
339 & 5x,'COMPOSITE FABRIC LAYERED SHELL PROPERTY SET '/,
340 & 5x,'------------------------------------'/,
341 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
342 & 5x,'CONFIDENTIAL DATA'//)
343 ELSE
344 IF(isk == 0)THEN
345 IF (ihbe > 11 .AND. ihbe < 29) THEN
346 WRITE(iout,2010)ig,nly,istrain,geo(1),igeo(5),ihbe,
347 . ish3n,
348 . geo(16),geo(
349
350 ELSE
351 WRITE(iout,1010)ig,nly
352 . ish3n,
353 . geo(13),geo(14),geo(15),geo(16),
354 . ashear,geo(42),ishear,ithk,
355 . geo(7),geo(8),geo(9),igeo
356 ENDIF
357 ELSE
358 IF (ihbe > 11 .AND. ihbe < 29) THEN
359 WRITE(iout,2011)ig,nly,istrain,geo(1),igeo(5),ihbe,
360 . ish3n,geo(16),
361 . geo(13),ashear,geo(42),ishear,ithk,idsk,igeo(14)
362 ELSE
363 WRITE(iout,1011)ig,nly,istrain,geo(1),igeo(5),ihbe,
364 . ish3n,
365 . geo(13),geo(14),geo(15),geo(16),
366 . ashear,geo(42),ishear,ithk,idsk,igeo(14)
367 ENDIF
368 ENDIF
369 ENDIF
370
371 IF (nly > nlymax) THEN
372 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
374 . msgtype=msgerror,
375 . anmode=aninfo_blind_1,
376 . i1=ig,
377 . c1=titr,
378 . i2=nlymax)
379 ENDIF
380 nly =
min(nly,nlymax)
381 igeo(4) = nly
382 igeo(99) = ipos
383 zshift = zero
384
385 IF (ipos > 0)THEN
386 tmin = ep20
387 tmax =-ep20
388
389 DO n=1,nly
390 dt = half*geo(ipthk+n)
391 tmin =
min(tmin,geo(ippos+n)-dt)
392 tmax =
max(tmax,geo(ippos+n)+dt)
393 ENDDO
394 thickt = tmax - tmin
395 zshift = half*(tmax + tmin)
396 geo(200)=thickt
397 DO n=1,nly
398 geo(ipthk+n)=geo(ipthk+n) /
max(thickt,em20)
399 geo(ippos+n)=geo(ippos+n) /
max(thickt,em20)
400 ENDDO
401 ELSE
402 thickt = zero
403 DO n=1,nly
404 thickt=thickt+geo(ipthk+n)
405 ENDDO
406 DO n=1,nly
407 geo(ipthk+n)=geo(ipthk+n) /
max(thickt,em20)
408 ENDDO
409
410 geo(ippos+1) = -half + half*geo(ipthk+1)
411 DO n=2,nly
412 geo(ippos+n) = geo(ippos+n
413 . + half*(geo(ipthk+n)+geo(ipthk+n-1))
414 ENDDO
415 geo(200)=thickt
416 ENDIF
417 geo(199) = zshift
418
419 ierrel=nint(abs((thickt-geo(1))/geo(1))*ep02)
420 IF(ierrel > ten) THEN
421 pid1=igeo(1)
422 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
424 . msgtype=msgwarning,
425 . anmode=aninfo_blind_1,
426 . i2=ierrel,
427 . i1=pid1,
428 . c1=titr)
429 ENDIF
430
431
432
433 DO j=1,nummat
434 IF (ipm(1,j) == numl(1)) THEN
435
436 mlawly1= nint(pm(19,j))
437 IF(mlawly1 == 58 .OR. mlawly1 == 158 .OR. mlawly1 == 98) GO TO 250
438 IF(mlawly1>=29.AND.mlawly1<=31) GO TO 250
439 IF(mlawly1==99) GO TO 250
440 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
441 CALL fretitl2(titr1,ipm(npropmi-ltitr+1,j),ltitr)
443 . anmode=aninfo,
444 . msgtype=msgerror,
445 . i1=ig,
446 . c1=titr,
447 . i2=numl(1),
448 . c2=titr1,
449 . i3=mlawly1)
450 GO TO 250
451 ENDIF
452 ENDDO
453 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
455 . anmode=aninfo,
456 . msgtype=msgerror,
457 . i1=ig,
458 . c1=titr,
459 . i2=numl(1))
460 igeo(ipmat+1) = 1
461 250 CONTINUE
462
463 DO 350 n=2,nly
464 DO j=1,nummat
465 IF(ipm(1,j) == numl(n)) THEN
466 igeo(ipmat+n) = j
467 IF(nint(pm(19,j)) == mlawly1GO TO 350
468 WRITE(law_id,'(I2)')mlawly1
469 IF (mlawly1==99) law_id='USER'
470 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
471 CALL fretitl2(titr1,ipm(npropmi-ltitr+1,j),ltitr)
473 . msgtype=msgerror,
474 . anmode=aninfo_blind_1,
475 . i1=ig,
476 . c1=titr,
477 . i2=numl(n),
478 . c2=titr1,
479 . c3=law_id)
480 GO TO 350
481 ENDIF
482 ENDDO
483 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
485 . anmode=aninfo,
486 . msgtype=msgerror,
487 . i1=ig,
488 . c1=titr,
489 . i2=numl(1))
490 igeo(ipmat+n) = 1
491 350 CONTINUE
492
493 DO n=1,nly
494 m1=ipang+n
495 m2=ipthk+n
496 m3=ippos+n
497 m4=ipphi+n
498 IF(.NOT. is_encrypted)WRITE(iout,3000) n,geo(m1),geo(m4),
499 . geo(m2)*geo(1),geo(m3)*geo(1),numl(n)
500 geo(m1)=geo(m1)*pi/hundred80
501 geo(m4)=geo(m4)*pi/hundred80
502 ENDDO
503
504
505
506 IF (ismstr==3 .AND. ihbe/=0 .AND. ihbe/=2) THEN
507 ismstr = 4
509 . msgtype=msgwarning,
510 . anmode=aninfo_blind_2,
511 . i1=ig,
512 . c1=idtitl)
513 ENDIF
514 IF(ihbe == 3)THEN
515 IF(geo(13)==zero) geo(13)=em01
516 IF(geo(14)==zero) geo(14)=em01
517 IF(geo(15)==zero) geo(15)=em02
518 ELSEIF(ihbe < 10)THEN
519 IF(geo(13)==zero) geo(13)=em02
520 IF(geo(14)==zero) geo(14)=em02
521 IF(geo(15)==zero) geo(15)=em02
522 ENDIF
523 geo(3)=ismstr
524 igeo(5)=ismstr
525
526
527
528 ihbe=nint(geo(171))
529 IF(ihbe==0)THEN
530 geo(171)=0
531 ELSEIF(ihbe==1)THEN
532 geo(171)=1
533 ELSEIF(ihbe==2)THEN
534 geo(171)=0
535 ELSEIF(ihbe>=3.AND.ihbe<100.AND.ihbe/=4)THEN
536 geo(171)=ihbe-1
537 ENDIF
538 ishear = geo(37)
539 IF(ishear==0)THEN
540 geo(37)=0
541 ELSEIF(ishear==1)THEN
542 geo(37)=1
543 ELSEIF(ishear==2)THEN
544 geo(37)=0
545 ENDIF
546
547
548
549 igeo(1) =ig
550 igeo(11)=igtyp
551 isorth = 0
552 igeo(17)=isorth
553 IF(geo( 3)/=zero.AND.igeo( 5)== 0)igeo( 5)=nint(geo( 3))
554 IF(geo(39)/=zero.AND.igeo( 9)== 0)igeo( 9)=nint(geo(39))
555 IF(geo(171)/=zero.AND.igeo(10)== 0)
556 . igeo(10)=nint(geo(171))
557
558
559
560 prop_tag(igtyp)%G_SIG = 0
561 prop_tag(igtyp)%G_FOR = 5
562 prop_tag(igtyp)%G_MOM = 3
563 prop_tag(igtyp)%G_THK = 1
564 prop_tag(igtyp)%G_EINT= 2
565 prop_tag(igtyp)%G_EINS= 0
566 prop_tag(igtyp)%L_SIG = 5
567 prop_tag(igtyp)%L_THK = 0
568 prop_tag(igtyp)%L_EINT= 2
569 prop_tag(igtyp)%L_EINS= 0
570 prop_tag(igtyp)%G_VOL = 0
571 prop_tag(igtyp)%L_VOL = 0
572 prop_tag(igtyp)%LY_DMG = 2
573
574 prop_tag(igtyp)%LY_GAMA = 6
575 prop_tag(igtyp)%LY_DIRA = 2
576 prop_tag(igtyp)%LY_DIRB = 2
577 prop_tag(igtyp)%LY_PLAPT = 1
578 prop_tag(igtyp)%LY_SIGPT = 5
579 prop_tag(igtyp)%G_FORPG = 5
580 prop_tag(igtyp)%G_MOMPG = 3
581 prop_tag(igtyp)%G_STRPG = 8
582
583
584 RETURN
585
586 1010 FORMAT(
587 & 5x,'COMPOSITE LAYERED SHELL PROPERTY SET ',
588 & 'WITH VARIABLE THICKNESSES AND MATERIALS'/,
589 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
590 & 5x,'NUMBER OF LAYERS. . . . . . . . . . . .=',i10/,
591 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
592 & 5x,'SHELL THICKNESS . . . . . . . . . . . .=',1pg20.13/,
593 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
594 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
595 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
596 & 5x,'SHELL HOURGLASS MEMBRANE DAMPING. . . .=',1pg20.13/,
597 & 5x,'SHELL HOURGLASS FLEXURAL DAMPING. . . .=',1pg20.13/,
598 & 5x,'SHELL HOURGLASS ROTATIONAL DAMPING. . .=',1pg20.13/,
599 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20
600 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
601 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
602 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
603 & 5x' < 0.0 : FRACTION OF FAILED LAYERS ',/,
604 & 5x,'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
605 & 5x,'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
606 & 5x,'X COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
607 & 5x'Y COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
608 & 5x,'Z COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
609 & 5x,'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
610 1011 FORMAT(
611 & 5x,'COMPOSITE LAYERED SHELL PROPERTY SET ',
612 & 'WITH VARIABLE THICKNESSES AND MATERIALS'/,
613 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
614 & 5x,'NUMBER OF LAYERS. . . . . . . . . . . .=',i10/,
615 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
616 & 5x,'SHELL THICKNESS . . . . . . . . . . . .=',1pg20.13/,
617 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
618 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
619 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
620 & 5x,'SHELL HOURGLASS MEMBRANE DAMPING. . . .=',1pg20.13/,
621 & 5x,'SHELL HOURGLASS FLEXURAL DAMPING. . . .=',1pg20.13/,
622 & 5x,'SHELL HOURGLASS ROTATIONAL DAMPING. . .=',1pg20.13/,
623 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
624 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
625 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
626 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
627 & 5x,' < 0.0 : FRACTION OF FAILED LAYERS ',/,
628 & 5x,'shear formulation flag. . . . . . . . .=',I10/,
629 & 5X,'thickness variation flag. . . . . . . .=',I10/,
630 & 5X,'skew of
the first orthotropy direction.=
',I10/,
631 & 5X,'reference direction flag in shell plane=',I10/)
632 2010 FORMAT(
633 & 5X,'composite layered shell property set ',
634 & 'with variable thicknesses and materials'/,
635 & 5X,'property set number . . ',I10/,
636 & 5X,'number',I10/,
637 & 5X,'post processing strain flag . . . . . .=',I10/,
638 & 5X,'shell thickness . . . . . . . . . . . .=',1PG20.13/,
639 & 5X,'small strain flag . . . . . . . . . . .=',I10/,
640 & 5X,'shell formulation flag. . . . . . . . .=',I10/,
641 & 5X,'3node shell formulation flag. . . . . .=',I10/,
642 & 5X,'shell membrane
damping. . . . . . . . .=
',1PG20.13/,
643 & 5X,'shell numerical
damping . . . . . . . .=
',1PG20.13/,
644 & 5X,'shear
area reduction factor . . . . . .=
',1PG20.13/,
645 & 5X,'element deletion PARAMETER. . . . . . .=',1PG20.13/,
646 & 5X,' > 0.0 : fraction of failed thickness ',/,
647 & 5X,' < 0.0 : fraction of failed layers ',/,
648 & 5X,'shear formulation flag. . . . . . . . .=',I10/,
649 & 5X,'thickness variation flag. . . . . . . .=',I10/,
650 & 5X,'x component of dir 1 of orthotropy. . .=',1PG20.13/,
651 & 5X,'y component of dir 1 of orthotropy. . .=',1PG20.13/,
652 & 5X,'z component of dir 1 of orthotropy. . .=',1PG20.13/,
653 & 5X,'reference direction flag in shell plane=',I10/)
654 2011 FORMAT(
655 & 5X,'composite layered shell property set ',
656 & 'with variable thicknesses and materials'/,
657 & 5X,'property set number . . . . . . . . . .=',I10/,
658 & 5X,'number of layers. . . . . . . . . . . .=',I10/,
659 & 5X,'post processing strain flag . . . . . .=',I10/,
660 & 5X,'shell thickness . . . . . . . . . . . .=',1PG20.13/,
661 & 5X,'small strain flag . . . . . . . . . . .=',I10/,
662 & 5X,'shell formulation flag. . . . . . . . .=',I10/,
663 & 5X,'3node shell formulation flag. . . . . .=',I10/,
664 & 5X,'shell membrane
damping. . . . . . . . .=
',1PG20.13/,
665 & 5X,'shell numerical
damping . . . . . . . .=
',1PG20.13/,
666 & 5X,'shear
area reduction factor . . . . . .=
',1PG20.13/,
667 & 5X,'element deletion PARAMETER. . . . . . .=',1PG20.13/,
668 & 5X,' > 0.0 : fraction of failed thickness ',/,
669 & 5X,' < 0.0 : fraction of failed layers ',/,
670 & 5X,'shear formulation flag. . . . . . . . .=',I10/,
671 & 5X,'thickness variation flag. . . . . . . .=',I10/,
672 & 5X,'skew of
the first orthotropy direction.=
',I10/,
673 & 5X,'reference direction flag in shell plane=',I10/)
674 3000 FORMAT(
675 & 5X,'layer ',I3/,
676 & 5X,' angle(dir 1,proj(vect / shell) .=',1PG20.13/,
677 & 5X,' angle(dir 1,dir 2) . . . . . . .=',1PG20.13/,
678 & 5X,' thickness . . . . . . . . . . . .=',1PG20.13/,
679 & 5X,' position. . . . . . . . . . . . .=',1PG20.13/,
680 & 5X,' material number . . . . . . . . .=',I10/)
subroutine damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)
end diagonal values have been computed in the(sparse) matrix id.SOL
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_index(name, ival, index, is_available, lsubmodel)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine area(d1, x, x2, y, y2, eint, stif0)
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)