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 "com04_c.inc"
67#include "param_c.inc"
68#include "scr16_c.inc"
69#include "sphcom.inc"
70
71
72
73 INTEGER, INTENT(IN) :: PROP_ID,SUB_ID
74 INTEGER, INTENT(INOUT) :: IGEO_STACK(NPROPGI)
75 INTEGER, INTENT(IN) :: IPM(NPROPMI,NUMMAT)
76 INTEGER :: ISKN(LISKN,*)
77 my_real,
INTENT(INOUT) :: geo_stack(npropg)
78 my_real,
INTENT(IN) :: pm(npropm,nummat),rtrans(ntransf,*)
79 CHARACTER(LEN = NCHARTITLE) :: TITR
80 TYPE (UNIT_TYPE_), INTENT(IN) :: UNITAB
81 TYPE (SUBMODEL_DATA), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
82 TYPE(STACK_INFO_) , TARGET :: STACK_INFO
83 TYPE(SHELL_DEFAULTS_), INTENT(IN) :: DEFAULTS_SHELL
84
85
86
87 INTEGER :: I,J,K,KK,M1,ISHELL,ISH3N,ISMSTR,ISROT,ISTRAIN,IINT,ITHK,
88 . IORTH,IPOS,IGMAT,ISHEAR,IPLAST,NPLY,NP,NSUB,NISUB,IGTYP,IMID,
89 . ISK,IDSK,PLY_ID,IPID0,IDSUB,INTER,IS,LAMIN,IPID1,IPID2,NPT_SUB,IRP,
90 . NPLY_MAX
91 INTEGER IHBE_D,IPLA_D,ISTR_D,ITHK_D,ISHEA_D,ISST_D,
92 . ISH3N_D, ISTRA_D,NPTS_D,IDRIL_D
93 my_real :: pthk,zshift,hm,hf,hr,dm,dn,ashear,vx,vy,vz,failexp,cvis,
94 .
norm,ang,pos,pthkly,weight
95 LOGICAL :: IS_AVAILABLE, IS_ENCRYPTED, LFOUND
96
97 is_available = .false.
98 is_encrypted = .false.
99
100 igtyp = 52
101 igmat = 1
102 istrain = 1
103 cvis = zero
104 irp = 0
105
106 ihbe_d = defaults_shell%ishell
107 ish3n_d= defaults_shell%ish3n
108 isst_d = defaults_shell%ismstr
109 ipla_d = defaults_shell%iplas
110 ithk_d = defaults_shell%ithick
111 idril_d= defaults_shell%idrill
112 ishea_d = 0
113 npts_d = 0
114 istra_d = 1
115
116
117
118
120
121
122
123
124
125 CALL hm_get_intv(
'LAM_Ishell', ishell, is_available, lsubmodel)
126 CALL hm_get_intv(
'LAM_Ismstr', ismstr, is_available, lsubmodel)
127 CALL hm_get_intv(
'LAM_ISH3N' , ish3n , is_available, lsubmodel)
128 CALL hm_get_intv(
'LAM_Idrill', isrot , is_available, lsubmodel)
129 CALL hm_get_floatv(
'P_Thick_Fail', pthk, is_available, lsubmodel, unitab)
130 CALL hm_get_floatv(
'LAM_Z0' , zshift, is_available, lsubmodel, unitab)
131
132
133 CALL hm_get_floatv(
'LAM_Hm', hm, is_available, lsubmodel, unitab)
134 CALL hm_get_floatv(
'LAM_Hf', hf, is_available, lsubmodel, unitab)
135 CALL hm_get_floatv(
'LAM_Hr', hr, is_available, lsubmodel, unitab)
136 CALL hm_get_floatv(
'LAM_Dm', dm, is_available, lsubmodel, unitab)
137 CALL hm_get_floatv(
'LAM_Dn', dn, is_available, lsubmodel, unitab)
138
139
140 CALL hm_get_floatv(
'LAM_Ashear',ashear ,is_available, lsubmodel, unitab)
141 CALL hm_get_intv (
'LAM_Iint' ,iint ,is_available, lsubmodel)
142 CALL hm_get_intv (
'LAM_Ithick' ,ithk ,is_available, lsubmodel)
143
144
145 CALL hm_get_floatv(
'LAM_Vx' ,vx ,is_available, lsubmodel, unitab)
146 CALL hm_get_floatv(
'LAM_Vy' ,vy ,is_available, lsubmodel, unitab)
147 CALL hm_get_floatv(
'LAM_Vz' ,vz ,is_available, lsubmodel, unitab)
148 CALL hm_get_intv(
'LAM_SKEW_CSID' ,idsk ,is_available, lsubmodel)
149 CALL hm_get_intv(
'LAM_Iorth' ,iorth ,is_available, lsubmodel)
150 CALL hm_get_intv(
'LAM_Ipos' ,ipos ,is_available, lsubmodel)
151 CALL hm_get_intv(
'LAM_Ip',irp,is_available,lsubmodel)
152
153
154
155
156
157 CALL hm_get_intv(
'laminateconfig' ,lamin, is_available, lsubmodel)
158
159 nsub = 0
160 nisub = 0
161 IF (lamin > 0) THEN
162 nply = 0
163 CALL hm_get_intv(
'sublaminateidlistmax' ,nsub, is_available, lsubmodel)
164 CALL hm_get_intv(
'interfacepairsize' ,nisub, is_available, lsubmodel)
165
166 DO is = 1,nsub
169 stack_info%SUB(2*(is-1) + 1) = idsub
170 stack_info%SUB(2*(is-1) + 2) = npt_sub
171
172 DO i = 1,npt_sub
178 IF(PLY_ID > 0) THEN
179 NPLY = NPLY + 1
180 IF (PTHKLY == ZERO) PTHKLY = ONE-EM06
181 PTHKLY = MIN(PTHKLY, ONE)
182 PTHKLY = MAX(PTHKLY,-ONE)
183 IF (WEIGHT == ZERO) WEIGHT = ONE
184 STACK_INFO%PID(NPLY) = PLY_ID
185 STACK_INFO%ANG(NPLY) = ANG
186 STACK_INFO%POS(NPLY) = POS
187 STACK_INFO%THKLY(NPLY) = PTHKLY
188 STACK_INFO%WEIGHT(NPLY) = WEIGHT
189 ENDIF
190 END DO
191 END DO
192
193 IF (NISUB > 0) THEN
194 DO I=1,NISUB
195 CALL HM_GET_INT_ARRAY_INDEX('interfacepairplyids',IPID1 , 2*(I - 1) + 1 ,IS_AVAILABLE,LSUBMODEL)
196 CALL HM_GET_INT_ARRAY_INDEX('interfacepairplyids',IPID2 , 2*I ,IS_AVAILABLE,LSUBMODEL)
197 STACK_INFO%ISUB(3*(I-1) + 1) = IPID1
198 STACK_INFO%ISUB(3*(I-1) + 2) = IPID2
199 END DO
200 END IF
201 ELSE ! property defined by a list of plies
202 CALL HM_GET_INTV('plyidlistmax' ,NPLY_MAX ,IS_AVAILABLE ,LSUBMODEL)
203 NPLY = 0
204 DO I=1,NPLY_MAX
205 CALL HM_GET_INT_ARRAY_INDEX ('plyidlist' ,PLY_ID,I,IS_AVAILABLE,LSUBMODEL)
206 CALL HM_GET_FLOAT_ARRAY_INDEX('lam_stack_phi',ANG,I,IS_AVAILABLE,LSUBMODEL,UNITAB)
207 CALL HM_GET_FLOAT_ARRAY_INDEX('lam_stack_zi' ,POS,I,IS_AVAILABLE,LSUBMODEL,UNITAB)
208 CALL HM_GET_FLOAT_ARRAY_INDEX('p_thick_fail_lam' ,PTHKLY,I,IS_AVAILABLE,LSUBMODEL,UNITAB)
209 CALL HM_GET_FLOAT_ARRAY_INDEX('f_weight_i' ,WEIGHT,I,IS_AVAILABLE,LSUBMODEL,UNITAB)
210
211 IF(PLY_ID > 0) THEN
212 NPLY = NPLY + 1
213 IF (PTHKLY == ZERO) PTHKLY = ONE-EM06
214 PTHKLY = MIN(PTHKLY, ONE)
215 PTHKLY = MAX(PTHKLY,-ONE)
216 IF (WEIGHT == ZERO) WEIGHT = ONE
217 STACK_INFO%PID(NPLY) = PLY_ID
218 STACK_INFO%ANG(NPLY) = ANG
219 STACK_INFO%POS(NPLY) = POS
220 STACK_INFO%THKLY(NPLY) = PTHKLY
221 STACK_INFO%WEIGHT(NPLY) = WEIGHT
222 ENDIF
223 END DO
224 END IF
225
226
227
228 IF (PTHK == ZERO) PTHK = ONE-EM06
229 PTHK = MIN(PTHK, ONE)
230 PTHK = MAX(PTHK,-ONE)
231 IF (ISHELL == 0) ISHELL = IHBE_D
232
233 IF (ISH3N == 0) ISH3N = ISH3N_D
234 IF (ITHK == 0) ITHK = ITHK_D
235 IF (ITHK_D==-2) ITHK = -1
236 ISHEAR = ISHEA_D
237 IF (ISHEAR == 1) THEN
238 ISHEAR = 1
239 ELSEIF (ISHEAR==2) THEN
240 ISHEAR = 0
241 ENDIF
242 IPLAST = IPLA_D
243 IF (IPLA_D == -2) IPLAST = -1
244
245 IF (ISROT == 0) ISROT = IDRIL_D
246 IF (ISROT == 2) ISROT = 0
247.AND..AND. IF (ISMSTR== 10 ISROT > 0 IDROT == 0) IDROT = 1 ! rotational dofs
248 IF (ISMSTR == 0) ISMSTR = 2
249.AND..AND. IF (ISMSTR == 3 ISHELL /= 0 ISHELL /= 2) THEN
250 ISMSTR = 2
251 CALL ANCMSG(MSGID=319, MSGTYPE=MSGWARNING, ANMODE=ANINFO_BLIND_2,
252 . I1=PROP_ID,
253 . C1=TITR)
254 ENDIF
255.AND. IF (IINT /= 1 IINT /= 2) IINT = 1 ! by default - uniform distribution (integration)
256
257 IF (ASHEAR == ZERO) ASHEAR = FIVE_OVER_6
258
259.AND..AND. IF (ISHELL == 4 ISH3N==0 ISH3N_D == 1) THEN
260 CALL ANCMSG(MSGID=680, MSGTYPE=MSGWARNING, ANMODE=ANINFO_BLIND_1,
261 . I1=PROP_ID, C1=TITR)
262 ENDIF
263.OR. IF (ISHELL==22 ISHELL==23) THEN
264 CALL ANCMSG(MSGID=539, MSGTYPE=MSGWARNING, ANMODE=ANINFO_BLIND_1,
265 . I1=PROP_ID, C1=TITR)
266 ISHELL = 24
267 ENDIF
268
269 IF (ISHELL == 24) THEN
270 IF (CVIS==ZERO) CVIS = ONE
271 IF (DN == ZERO) DN = ZEP015
272 ENDIF
273
274 IF (ISHELL == 3) THEN
275 IF (HM == ZERO) HM = EM01
276 IF (HF == ZERO) HF = EM01
277 IF (HR == ZERO) HR = EM02
278 ELSE
279 IF (HM == ZERO) HM = EM02
280 IF (HF == ZERO) HF = EM02
281 IF (HR == ZERO) HR = EM02
282 ENDIF
283.AND. IF (ISHELL > 11 ISHELL < 29) THEN
284 HM = DN
285 DN = CVIS
286 ENDIF
287
288 NORM = SQRT(VX*VX+VY*VY+VZ*VZ)
289 IF (NORM < EM10) THEN
290 VX=ONE
291 VY=ZERO
292 VZ=ZERO
293 IF (IRP==23) THEN
294 CALL ANCMSG(MSGID=1922,
295 . MSGTYPE=MSGERROR,
296 . ANMODE=ANINFO,
297 . C1='property',
298 . I1=PROP_ID,
299 . C2='property',
300 . C3=TITR,
301 . I2=IRP)
302 END IF
303 ELSE
304 VX=VX/NORM
305 VY=VY/NORM
306 VZ=VZ/NORM
307 ENDIF
308
309
310
311 IF (SUB_ID > 0) CALL SUBROTVECT(VX,VY,VZ,RTRANS,SUB_ID,LSUBMODEL)
312
313
314
315 ISK = 0
316 IF (IDSK /= 0) THEN
317 DO I=0,NUMSKW+MIN(1,NSPCOND)*NUMSPH+NSUBMOD
318 IF (IDSK == ISKN(4,I+1)) THEN
319 ISK = I+1
320 EXIT
321 ENDIF
322 ENDDO
323 IF (ISK == 0) THEN
324 CALL ANCMSG(MSGID=184, MSGTYPE=MSGERROR, ANMODE=ANINFO,
325 . C1='stack',
326 . I1=PROP_ID,
327 . C2='stack',
328 . C3=TITR,
329 . I2=IDSK)
330 ENDIF
331 ENDIF
332.AND. IF (IRP==22ISK==0) THEN
333 CALL ANCMSG(MSGID=1923,
334 . MSGTYPE=MSGERROR,
335 . ANMODE=ANINFO,
336 . C1='property',
337 . I1=PROP_ID,
338 . C2='property',
339 . C3=TITR,
340 . I2=IRP)
341 END IF
342
343 IPID0 = STACK_INFO%PID(1)
344 DO K=2,NPLY
345 IF (STACK_INFO%PID(K) == IPID0) THEN
346 CALL ANCMSG(MSGID=1584,MSGTYPE=MSGERROR,ANMODE=ANINFO_BLIND_2,
347 . I1=IDSUB,
348 . I2=IPID0)
349 ENDIF
350 ENDDO
351
352 DO 250 K=1,NPLY
353 IMID = STACK_INFO%MID_IP(K)
354 DO J=1,NUMMAT
355 IF (IPM(1,J) == IMID) THEN
356 STACK_INFO%MID_IP(K) = J
357 GO TO 250
358 ENDIF
359 ENDDO
360 STACK_INFO%MID_IP(K) = 0
361 250 CONTINUE
362
363
364 IF (NISUB > 0) THEN
365 DO 300 K=1,NISUB
366 IMID = STACK_INFO%ISUB (3*(K-1) + 3)
367 DO J=1,NUMMAT
368 IF (IPM(1,J) == IMID) THEN
369 STACK_INFO%ISUB (3*(K-1) + 3) = J
370 GO TO 300
371 ENDIF
372 ENDDO
373 STACK_INFO%ISUB (3*(K-1) + 3) = 0
374 300 CONTINUE
375 ENDIF
376
377 IF (DM == ZERO) IGEO_STACK(31) = 1
378 IGEO_STACK(1) = PROP_ID
379 IGEO_STACK(2) = ISK
380 IGEO_STACK(4) = NPLY
381 IGEO_STACK(5) = ISMSTR
382 IGEO_STACK(6) = IORTH ! IREP
383 IGEO_STACK(10) = ISHELL
384 IGEO_STACK(11) = IGTYP
385 IGEO_STACK(18) = ISH3N
386 IGEO_STACK(20) = ISROT
387 IGEO_STACK(43) = NSUB ! number of substack
388 IGEO_STACK(44) = NISUB ! number of interface
389 IGEO_STACK(47) = IINT
390 IGEO_STACK(48) = 0
391 IGEO_STACK(98) = IGMAT
392 IGEO_STACK(99) = IPOS
393 IGEO_STACK(14) = IRP
394
395 GEO_STACK(3) = ISMSTR
396 GEO_STACK(6) = NPLY ! double stockage
397 GEO_STACK(7) = VX
398 GEO_STACK(8) = VY
399 GEO_STACK(9) = VZ
400 GEO_STACK(11) = ISTRAIN
401 GEO_STACK(12) = IGTYP
402 GEO_STACK(13) = HM
403 GEO_STACK(14) = HF
404 GEO_STACK(15) = HR
405 GEO_STACK(16) = DM
406 GEO_STACK(17) = DN
407 GEO_STACK(35) = ITHK
408 GEO_STACK(37) = ISHEAR
409 GEO_STACK(39) = IPLAST
410 GEO_STACK(38) = ASHEAR
411 GEO_STACK(42) = PTHK
412 GEO_STACK(43) = ONE
413 GEO_STACK(199)= ZSHIFT
414 GEO_STACK(212) = GEO_STACK(212) * PI / HUNDRED80
415 IF (ISHELL==0) THEN
416 GEO_STACK(171) = 0
417 ELSEIF (ISHELL == 1) THEN
418 GEO_STACK(171)=1
419 ELSEIF (ISHELL == 2) THEN
420 GEO_STACK(171)=0
421.AND..AND. ELSEIF (ISHELL >= 3 ISHELL < 100 ISHELL /= 4) THEN
422 GEO_STACK(171)=ISHELL-1
423 ENDIF
424
425
426
427 IF (IS_ENCRYPTED) THEN
428 WRITE(IOUT, 1000)
429 ELSE
430 WRITE(IOUT,1200) PROP_ID
431 IF (ISK == 0) THEN
432.AND. IF (ISHELL > 11 ISHELL < 29) THEN
433 WRITE(IOUT,2100)ISTRAIN,ISMSTR,ISHELL,ISH3N,ISROT,
434 . GEO_STACK(16),GEO_STACK(13),GEO_STACK(38),PTHK,ISHEAR,ITHK,
435 . IPLAST,IORTH,GEO_STACK(7),GEO_STACK(8),GEO_STACK(9),IGEO_STACK(47),IGEO_STACK(14)
436 ELSE
437 WRITE(IOUT,2200)ISTRAIN,ISMSTR,ISHELL,ISH3N,ISROT,
438 . HM,HF,HR,DM,ASHEAR,
439 . PTHK,ISHEAR,ITHK,IPLAST,IORTH,
440 . VX,VY,VZ,IINT,IGEO_STACK(14)
441 ENDIF
442 ELSE
443.AND. IF (ISHELL > 11 ISHELL < 29) THEN
444 WRITE(IOUT,2300)ISTRAIN,ISMSTR,ISHELL,ISH3N,ISROT,
445 . GEO_STACK(16),GEO_STACK(13),GEO_STACK(38),PTHK,ISHEAR,ITHK,
446 . IPLAST,IORTH,IDSK,IGEO_STACK(47),IGEO_STACK(14)
447 ELSE
448 WRITE(IOUT,2400)ISTRAIN,ISMSTR,ISHELL,ISH3N,HM,HF,HR,DM,
449 . ASHEAR,PTHK,ISHEAR,ITHK,IPLAST,IORTH,IDSK,IINT,IGEO_STACK(14)
450 ENDIF
451 ENDIF
452
453 IF (NSUB > 0) THEN
454 KK = 0
455 DO IS = 1,NSUB
456 IDSUB = STACK_INFO%SUB(2*(IS - 1) + 1)
457 NPT_SUB = STACK_INFO%SUB(2*(IS - 1) + 2)
458 WRITE(IOUT,3000) IS
459 DO K=1,NPT_SUB
460 M1 = KK + K
461 WRITE(IOUT,2800)K,STACK_INFO%PID(M1),STACK_INFO%ANG(M1),!STACK_INFO%POS(M1),
462 . STACK_INFO%THKLY(M1),STACK_INFO%WEIGHT(M1)
463 STACK_INFO%ANG(M1)=STACK_INFO%ANG(M1)*PI/HUNDRED80
464 ENDDO
465 KK = KK + NPT_SUB
466 ENDDO
467
468 DO K=1,NISUB
469 IPID1 = STACK_INFO%ISUB(3*(K - 1) + 1)
470 IPID2 = STACK_INFO%ISUB(3*(K - 1) + 2)
471 WRITE(IOUT,3100) K
472 WRITE(IOUT,3300) IPID1,IPID2
473 ENDDO
474
475 ELSE ! NSUB = 0
476
477 DO I=1,NPLY
478 WRITE(IOUT,2800)I,STACK_INFO%PID(I),STACK_INFO%ANG(I),
479 . STACK_INFO%THKLY(I),STACK_INFO%WEIGHT(I)
480 STACK_INFO%ANG(I) = STACK_INFO%ANG(I)*PI/HUNDRED80
481 ENDDO
482 END IF ! NSUB
483
484 END IF
485
486 1000 FORMAT(
487 & 5X,' composite stack shell property set '/,
488 & 5X,' confidential data'//)
489 1200 FORMAT (
490 & 5X,'composite stack shell object set ',
491 & 'with variable thicknesses and materials ',
492 & 'AND VARIABLE NUMBER OF INTEGRATION POINTS THROUGH EACH LAYER'/,
493 & 5x,'STACK SET NUMBER . . . . . . . . . .=',i10/)
494 2100 FORMAT(
495 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
496 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
497 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
498 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
499 & 5x,'DRILLING D.O.F. FLAG . . . . . . . . .=',i10/,
500 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
501 & 5x,'SHELL NUMERICAL DAMPING . . . . . . . .=',1pg20.13/,
502 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
503 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
504 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
505 & 5x,' < 0.0 : FRACTION OF FAILED LAYERS/PLYS ',/,
506 & 5x,'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
507 & 5x,'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
508 & 5x,'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
509 & 5x,'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
510 & 5x,'X COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
511 & 5x,'Y COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
512 & 5x,'Z COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
513 & 5x,'INTEGRATION FORMULATION FLAG. . . . . .=',i10/,
514 & 5x,'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
515 2200 FORMAT(
516 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
517 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
518 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
519 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
520 & 5x,'DRILLING D.O.F. FLAG . . . . . . . . .=',i10/,
521 & 5x,'SHELL HOURGLASS MEMBRANE DAMPING. . . .=',1pg20.13/,
522 & 5x,'SHELL HOURGLASS FLEXURAL DAMPING. . . .=',1pg20.13/,
523 & 5x,'SHELL HOURGLASS ROTATIONAL DAMPING. . .=',1pg20.13/,
524 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
525 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
526 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
527 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
528 & 5x,' < 0.0 : FRACTION OF FAILED LAYERS/PLYS ',/,
529 & 5x,'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
530 & 5x,'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
531 & 5x,'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
532 & 5x,'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
533 & 5x,'X COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
534 & 5x,'Y COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
535 & 5x,'Z COMPONENT OF DIR 1 OF ORTHOTROPY. . .=',1pg20.13/,
536 & 5x,'INTEGRATION FORMULATION FLAG. . . . . .=',i10/,
537 & 5x,'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
538 2300 FORMAT(
539 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
540 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
541 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
542 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
543 & 5x,'DRILLING D.O.F. FLAG . . . . . . . . .=',i10/,
544 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
545 & 5x,'SHELL NUMERICAL DAMPING . . . . . . . .=',1pg20.13/,
546 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
547 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
548 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
549 & 5x,' < 0.0 : FRACTION OF FAILED LAYERS/PLYS ',/,
550 & 5x,'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
551 & 5x,'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
552 & 5x,'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
553 & 5x,'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
554 & 5x,'SKEW OF THE FIRST ORTHOTROPY DIRECTION.=',i10/,
555 & 5x,'INTEGRATION FORMULATION FLAG. . . . . .=',i10/,
556 & 5x,'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
557 2400 FORMAT(
558 & 5x,'POST PROCESSING STRAIN FLAG . . . . . .=',i10/,
559 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
560 & 5x,'SHELL FORMULATION FLAG. . . . . . . . .=',i10/,
561 & 5x,'3NODE SHELL FORMULATION FLAG. . . . . .=',i10/,
562 & 5x,'SHELL HOURGLASS MEMBRANE DAMPING. . . .=',1pg20.13/,
563 & 5x,'SHELL HOURGLASS FLEXURAL DAMPING. . . .=',1pg20.13/,
564 & 5x,'SHELL HOURGLASS ROTATIONAL DAMPING. . .=',1pg20.13/,
565 & 5x,'SHELL MEMBRANE DAMPING. . . . . . . . .=',1pg20.13/,
566 & 5x,'ELEMENT DELETION PARAMETER. . . . . . .=',1pg20.13/,
567 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
568 & 5x,' < 0.0 : FRACTION OF FAILED LAYERS/PLYS ',/,
569 & 5x,'SHEAR AREA REDUCTION FACTOR . . . . . .=',1pg20.13/,
570 & 5x,'SHEAR FORMULATION FLAG. . . . . . . . .=',i10/,
571 & 5x,'THICKNESS VARIATION FLAG. . . . . . . .=',i10/,
572 & 5x,'PLASTICITY FORMULATION FLAG . . . . . .=',i10/,
573 & 5x,'LOCAL ORTOTHROPY SYSTEM FLAG. . . . . .=',i10/,
574 & 5x,'SKEW OF THE FIRST ORTHOTROPY DIRECTION.=',i10/,
575 & 5x,'INTEGRATION FORMULATION FLAG. . . . . .=',i10/,
576 & 5x,'REFERENCE DIRECTION FLAG IN SHELL PLANE=',i10/)
577 2800 FORMAT(
578 & 5x,' PLY ',i3/,
579 & 5x,' PLY PID NUMBER . . . . . . . . .=',i10/
580 & 5x,' ANGLE (DIR 1,PROJ(DIR 1 / SHELL).=',1pg20.13/,
581 & 5x,' PLY FAILURE PARAMETER . . . . . .=',1pg20.13/,
582 & 5x,' > 0.0 : FRACTION OF FAILED THICKNESS ',/,
583 & 5x,' < 0.0 : FRACTION OF FAILED INTG. POINTS',/,
584 & 5x,' WEIGHT FACTOR FOR PLY FAILURE . .=',1pg20.13/)
585 3000 FORMAT(
586 & 5x,' COMPOSITE SUBSTACK SHELL NUMBER . . . =',i10/ )
587 3100 FORMAT(
588 & 5x,' INTERFACE NUMBER BETWEEN-SUBSTACK . .:',i10/ )
589 3300 FORMAT(
590 & 5x,' INTER-PLY_1 PID NUMBER . . . . . =',i10/,
591 & 5x,' INTER-PLY_2 PID NUMBER . . . . . .=',i10/)
592
593 RETURN
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
subroutine hm_get_float_array_2indexes(name, rval, index1, index2, 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