OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_prop22.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| hm_read_prop22 ../starter/source/properties/thickshell/hm_read_prop22.F
25!||--- called by ------------------------------------------------------
26!|| hm_read_properties ../starter/source/properties/hm_read_properties.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| hm_get_float_array_index ../starter/source/devtools/hm_reader/hm_get_float_array_index.F
30!|| hm_get_floatv ../starter/source/devtools/hm_reader/hm_get_floatv.F
31!|| hm_get_int_array_index ../starter/source/devtools/hm_reader/hm_get_int_array_index.F
32!|| hm_get_intv ../starter/source/devtools/hm_reader/hm_get_intv.F
33!|| hm_option_is_encrypted ../starter/source/devtools/hm_reader/hm_option_is_encrypted.F
34!|| subrotvect ../starter/source/model/submodel/subrot.F
35!||--- uses -----------------------------------------------------
36!|| defaults_mod ../starter/source/modules/defaults_mod.F90
37!|| elbuftag_mod ../starter/share/modules1/elbuftag_mod.F
38!|| message_mod ../starter/share/message_module/message_mod.F
39!|| submodel_mod ../starter/share/modules1/submodel_mod.F
40!||====================================================================
41 SUBROUTINE hm_read_prop22(GEO,IGEO ,IGTYP,IG,TITR,UNITAB,LSUBMODEL,
42 . PM ,IPM ,RTRANS ,SUB_ID ,ISKN,PROP_TAG,
43 . DEFAULTS_SOLID)
44C-----------------------------------------------
45C ROUTINE DESCRIPTION :
46C ===================
47C READ PROPERTY TYPE01 WITH HM READER
48C-----------------------------------------------
49C DUMMY ARGUMENTS DESCRIPTION:
50C ===================
51C
52C NAME DESCRIPTION
53C
54C IGEO PROPERTY ARRAY(INTEGER)
55C GEO PROPERTY ARRAY(REAL)
56C UNITAB UNITS ARRAY
57C IG PROPERTY ID(INTEGER)
58C TITR MATERIAL TITLE
59C LSUBMODEL SUBMODEL STRUCTURE
60C-----------------------------------------------
61C============================================================================
62C M o d u l e s
63C-----------------------------------------------
64 USE unitab_mod
65 USE message_mod
66 USE submodel_mod
67 USE elbuftag_mod
68 USE multi_fvm_mod
69 USE defaults_mod
71C-----------------------------------------------
72C I m p l i c i t T y p e s
73C-----------------------------------------------
74#include "implicit_f.inc"
75C-----------------------------------------------
76C C o m m o n B l o c k s
77C-----------------------------------------------
78#include "units_c.inc"
79#include "com04_c.inc"
80#include "param_c.inc"
81#include "tablen_c.inc"
82#include "sphcom.inc"
83C-----------------------------------------------
84C D u m m y A r g u m e n t s
85C-----------------------------------------------
86C INPUT ARGUMENTS
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
90 my_real,
91 . INTENT(IN)::rtrans(ntransf,*),pm(npropm,*)
92 TYPE(submodel_data),INTENT(IN)::LSUBMODEL(*)
93C MODIFIED ARGUMENT
94 INTEGER,INTENT(INOUT)::IGEO(*)
95 my_real,
96 . INTENT(INOUT)::geo(*)
97 TYPE(prop_tag_) , DIMENSION(0:MAXPROP) :: PROP_TAG
98 TYPE(SOLID_DEFAULTS_), INTENT(IN) :: DEFAULTS_SOLID
99C-----------------------------------------------
100C L o c a l V a r i a b l e s
101C-----------------------------------------------
102C REAL
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
106 my_real
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
110 my_real
111 . an, dt, thk, tmin, tmax,vx,vy,vz,
112 . vdefmin,vdefmax,aspmax,asptet
113 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
114C-----------------------------------------------
115C E x t e r n a l F u n c t i o n s
116C-----------------------------------------------
117C=======================================================================
118 is_encrypted = .false.
119 is_available = .false.
120 nlymax= 200
121 ipang = 200
122 ipthk = ipang+nlymax
123 ippos = ipthk+nlymax
124 ipmat = 100
125C-----hide and removed flags:
126 iplast = 2
127 id = ig
128C----
129 icpre = 0
130 istrain = 1
131!--- defaults values
132 ihbe_ds= defaults_solid%ISOLID
133 isst_ds= defaults_solid%ISMSTR
134 icontrol_d=defaults_solid%ICONTROL
135C--------------------------------------------------
136C EXTRACT DATA (IS OPTION CRYPTED)
137C--------------------------------------------------
138 CALL hm_option_is_encrypted(is_encrypted)
139C--------------------------------------------------
140C EXTRACT DATAS (INTEGER VALUES)
141C--------------------------------------------------
142 CALL hm_get_intv('isolid',IHBE,IS_AVAILABLE,LSUBMODEL)
143 CALL HM_GET_INTV('ismstr',ISMSTR,IS_AVAILABLE,LSUBMODEL)
144c CALL HM_GET_INTV('Icpre',ICPRE,IS_AVAILABLE,LSUBMODEL)
145c CALL HM_GET_INTV('Istrain',ISTRAIN,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)
156C--------------------------------------------------
157C EXTRACT DATAS (REAL VALUES)
158C--------------------------------------------------
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)
171C-------for reading check
172c WRITE(IOUT,2100)IG,IHBE,ISMSTR,IPLAST,IINT,ICPRE,ICSTR,CVIS,QA,QB,
173c . DTMIN,ISTRAIN,NPTR,NPTS,NPTT
174Capply submodel transform to V (VX,VY,VZ)
175C
176 IF (SUB_ID /= 0)
177 . CALL SUBROTVECT(VX,VY,VZ,RTRANS,SUB_ID,LSUBMODEL)
178C-----------------------
179C--- Default values
180C-----------------------
181C ihbe
182 IF (IHBE == 0) IHBE = IHBE_DS
183.AND. IF (IHBE /= 14 IHBE /= 15 ) THEN
184 CALL ANCMSG(MSGID=549,
185 . MSGTYPE=MSGERROR,
186 . ANMODE=ANINFO_BLIND_1,
187 . I1=IG,
188 . C1=TITR,
189 . I2=IHBE,
190 . I3=22)
191 ENDIF
192C
193C jcvt
194C
195.OR. IF (IHBE == 14 IHBE == 15) JCVT = 2
196c IF (IHBE == 16) JCVT = 1
197C
198C smstr
199C
200 IF (ISMSTR == 0) ISMSTR=ISST_DS
201 IF (ISMSTR == 0) ISMSTR=4
202.OR. IF (ISST_DS == -2ISMSTR<0) ISMSTR=4
203c IF(GEO( 3)/=ZERO.AND.IGEO( 5)== 0)IGEO( 5)=NINT(GEO( 3))
204C
205C icpre/icstr
206C
207C ICPRE = 0
208.AND. IF (IHBE == 14 ICSTR == 0) ICSTR = 10
209 IF (ICSTR > 111) ICSTR=0
210.AND. IF (IHBE == 14
211.AND..AND. . (ICSTR /= 1ICSTR /= 10ICSTR /= 100)) THEN
212 CALL ANCMSG(MSGID=677,
213 . MSGTYPE=MSGERROR,
214 . ANMODE=ANINFO_BLIND_1,
215 . I1=IG,
216 . C1=TITR,
217 . I2=ICSTR)
218 END IF
219C
220C iint Isolid=16 incompatible to ortho
221C
222 IF (IHBE == 15) IINT = 1
223C
224C npt
225C
226 NLY = 0
227 IP = 0
228 SELECT CASE (IHBE)
229 CASE(15)
230c NPT = NPTT
231 NLY = NPT
232 IP = 3
233 CASE(14)
234 SELECT CASE (ICSTR)
235 CASE(100)
236 NLY = NPTR
237 IP = 2
238.OR. IF (NPTS < 2 NPTT < 2 ) THEN
239 CALL ANCMSG(MSGID=563,
240 . MSGTYPE=MSGERROR,
241 . ANMODE=ANINFO_BLIND_1,
242 . I1=IG,
243 . C1=TITR,
244 . I2=NPT,
245 . I3=IHBE)
246 ENDIF
247 CASE(10)
248 NLY = NPTS
249 IP = 3
250.OR. IF (NPTR < 2 NPTT < 2 ) THEN
251 CALL ANCMSG(MSGID=563,
252 . MSGTYPE=MSGERROR,
253 . ANMODE=ANINFO_BLIND_1,
254 . I1=IG,
255 . C1=TITR,
256 . I2=NPT,
257 . I3=IHBE)
258 ENDIF
259 CASE(1)
260 NLY = NPTT
261 IP = 1
262.OR. IF (NPTS < 2 NPTR < 2 ) THEN
263 CALL ANCMSG(MSGID=563,
264 . MSGTYPE=MSGERROR,
265 . ANMODE=ANINFO_BLIND_1,
266 . I1=IG,
267 . C1=TITR,
268 . I2=NPT,
269 . I3=IHBE)
270 ENDIF
271 END SELECT
272 IF (NLY ==0) THEN
273 NLY =IINT
274 ELSE
275 IINT = 1
276 ENDIF
277 END SELECT
278 IF (NLY<=0) THEN
279 CALL ANCMSG(MSGID=27,
280 . MSGTYPE=MSGERROR,
281 . ANMODE=ANINFO_BLIND_1,
282 . I1=IG,
283 . C1=TITR)
284 ENDIF
285 IF (NLY>NLYMAX) THEN
286 CALL ANCMSG(MSGID=28,
287 . MSGTYPE=MSGERROR,
288 . ANMODE=ANINFO_BLIND_1,
289 . I2=NLYMAX,
290 . I1=IG,
291 . C1=TITR)
292 NLY =NLYMAX
293 ENDIF
294!
295 IF (ICONTROL==0) ICONTROL=ICONTROL_D
296 IF (ICONTROL>1) ICONTROL=0
297C
298C viscosity
299C
300 IF (IHBE == 14) THEN
301 CVIS = ZERO
302 ELSEIF (CVIS == ZERO) THEN
303 CVIS = EM01
304 ENDIF
305C igeo(31) flag for default qa qb for law 70 can be used for other law
306.AND. IF(QA == ZERO QB == ZERO) IGEO(31) = 1
307 IF (QA == ZERO) QA = ONEP1
308 IF (QB == ZERO) QB = FIVEEM2
309C
310 IF(ASHEAR==ZERO)ASHEAR=ONE
311 IF(NLY==1) ASHEAR= EM10
312 AN=SQRT(VX*VX+VY*VY+VZ*VZ)
313 IF(AN < EM10)THEN
314 VX=ONE
315 VY=ZERO
316 VZ=ZERO
317 ELSE
318 AN=ONE/AN
319 VX=VX*AN
320 VY=VY*AN
321 VZ=VZ*AN
322 ENDIF
323 ISK = 0
324 IF (IDSK/=0) THEN
325 DO J=0,NUMSKW+MIN(1,NSPCOND)*NUMSPH+NSUBMOD
326 IF(IDSK==ISKN(4,J+1)) THEN
327 ISK=J+1
328 GO TO 10
329 ENDIF
330 ENDDO
331 CALL ANCMSG(MSGID=184,
332 . MSGTYPE=MSGERROR,
333 . ANMODE=ANINFO,
334 . C1='property',
335 . I1=IG,
336 . C2='property',
337 . C3=TITR,
338 . I2=IDSK)
339 10 CONTINUE
340 ENDIF
341 IF (IP <= 0) THEN
342 DO J=0,NUMSKW
343 IF(ISK == ISKN(4,J+1)) THEN
344 IP=-(J+1)
345 GO TO 20
346 ENDIF
347 ENDDO
348 CALL ANCMSG(MSGID=137,
349 . ANMODE=ANINFO,
350 . MSGTYPE=MSGERROR,
351 . C1='property',
352 . C2='property',
353 . I1=IG,
354 . I2=ISK,
355 . C3=TITR)
35620 CONTINUE
357 ENDIF
358C---------------------
359 IGEO(2) = IP
360 IGEO(4) = NPT
361 IGEO(5) = ISMSTR
362 IGEO(6) = IREP
363 IGEO(7) = ISK
364 IGEO(9) = IPLAST-1
365 IGEO(10) = IHBE
366 IGEO(13) = ICPRE
367 IGEO(14) = ICSTR
368 IGEO(15) = IINT
369 IGEO(16) = JCVT-1
370 IGEO(30) = NLY
371 IGEO(12) = ISTRAIN
372 IGEO(97) = ICONTROL
373C
374 GEO(1) = ZERO
375 GEO(7) = VX
376 GEO(8) = VY
377 GEO(9) = VZ
378 GEO(13) = CVIS
379 GEO(14) = QA
380 GEO(15) = QB
381 GEO(38) = ASHEAR
382C
383 GEO(172) = DTMIN
384 GEO(190)= VDEFMIN
385 GEO(191)= VDEFMAX
386 GEO(192)= ASPMAX
387 GEO(193)= ASPTET
388C---------------------
389 THK =ZERO
390 DO K=1,NLY
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)
395 THK=THK+GEO(IPTHK+K)
396 ENDDO
397C--------------
398 IERRS = INT(THK*EP02)
399 IF (IABS(IERRS-100)>1) THEN
400 CALL ANCMSG(MSGID=675,
401 . MSGTYPE=MSGERROR,
402 . ANMODE=ANINFO_BLIND_1,
403 . I1=IG,
404 . C1=TITR)
405 ENDIF
406C--- Position of the layers-----------
407 IF (IPOS>0)THEN
408 TMIN = EM20
409 TMAX =-EM20
410 DO K=1,NLY
411 DT = HALF*GEO(IPTHK+K)
412 TMIN = MIN(TMIN,GEO(IPPOS+K)-DT)
413 TMAX = MAX(TMAX,GEO(IPPOS+K)+DT)
414 ENDDO
415C------------[-0.5,0.5]----------
416 THK = ABS(TMAX-TMIN-ONE)
417.OR..OR. IF ( TMIN<-HALFTMAX>HALFTHK>EM10) THEN
418 CALL ANCMSG(MSGID=674,
419
420 . MSGTYPE=MSGWARNING,
421 . ANMODE=ANINFO_BLIND_1,
422 . I1=IG,
423 . C1=TITR)
424 ENDIF
425 ELSE
426C--- Automatic layers of the layers position-> (-1.1)
427 GEO(IPPOS+1) = -HALF +HALF*GEO(IPTHK+1)
428 DO K=2,NLY
429 GEO(IPPOS+K)=GEO(IPPOS+K-1)+
430 . HALF*(GEO(IPTHK+K)+GEO(IPTHK+K-1))
431 ENDDO
432 ENDIF
433C TEST MATERIAUX: NON incompability---------
434 ICOMPA = 0
435 DO 100 K=1,NLY
436 DO J=1,NUMMAT
437 IF(IPM(1,J)==NUML(K)) THEN
438 IGEO(IPMAT+K)=J
439.OR. IF(NINT(PM(19,J))==14NINT(PM(19,J))==24
440.OR. . NINT(PM(19,J))==25) ICOMPA = J
441 GO TO 100
442 ENDIF
443 ENDDO
444C ERROR NO DEFINITION OF COMP. ERRONEOUS
445 CALL ANCMSG(MSGID=676,
446 . MSGTYPE=MSGERROR,
447 . ANMODE=ANINFO_BLIND_1,
448 . I1=IG,
449 . C1=TITR,
450 . I2=NUML(K))
451 IGEO(IPMAT+K)=1
452 100 CONTINUE
453
454C----------------------
455 IF(IS_ENCRYPTED)THEN
456 WRITE(IOUT,1000)IG
457 ELSE
458 IF(ISK==0)THEN
459 IF(IGEO(31) == 1)THEN
460
461 WRITE(IOUT,2100)IG,IHBE,ISMSTR,NPT,ICSTR,
462 . CVIS,QA,QB,DTMIN,NLY,IPOS,ASHEAR,IREP,
463 . VX,VY,VZ,ICONTROL
464 ELSE
465 WRITE(IOUT,2000)IG,IHBE,ISMSTR,NPT,ICSTR,
466 . CVIS,QA,QB,DTMIN,NLY,IPOS,ASHEAR,IREP,
467 . VX,VY,VZ,ICONTROL
468 ENDIF
469 ELSE
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
473 ELSE
474 WRITE(IOUT,2001)IG,IHBE,ISMSTR,NPT,ICSTR,
475 . CVIS,QA,QB,DTMIN,NLY,IPOS,ASHEAR,IREP,ISKN(4,ISK),ICONTROL
476 ENDIF
477 ENDIF
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
482 END IF
483 ENDIF
484C
485 DO K=1,NLY
486 M1=IPANG+K
487 M2=IPTHK+K
488 M3=IPPOS+K
489.NOT. IF(IS_ENCRYPTED) WRITE(IOUT,3000) K,GEO(M1),GEO(M2),GEO(M3),NUML(K)
490 GEO(M2)=TWO*GEO(M2)
491 GEO(M3)=TWO*GEO(M3)
492 ENDDO
493C----Initialization in lecgeo:
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
506C
507 IGEO(1) =IG
508 IGEO(11)=IGTYP
509 IGEO(17)=1
510 GEO(12)= IGTYP + 0.1
511C IF(GEO(171)/=ZERO.AND.IGEO(10)== 0)IGEO(10)=NINT(GEO(171))
512
513C---
514 RETURN
515C---
516 1000 FORMAT(//,
517 & 5X,'composite layered thick shell property set'/,
518 & 5X,'------------------------------------'/,
519 & 5X,'property set number . . . . . . . . . .=',I10/,
520 & 5X,'confidential data'//)
521 2000 FORMAT(//,
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/)
541 2001 FORMAT(//,
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/)
559 2100 FORMAT(//,
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/)
583 2101 FORMAT(//,
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/)
605 3000 FORMAT(
606 & 5x,'LAYER :',i3/,
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/)
611 3001 FORMAT(
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/)
616C
617
618 END SUBROUTINE hm_read_prop22
#define my_real
Definition cppsort.cpp:32
subroutine damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)
Definition damping.F:882
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine hm_read_prop22(geo, igeo, igtyp, ig, titr, unitab, lsubmodel, pm, ipm, rtrans, sub_id, iskn, prop_tag, defaults_solid)
subroutine area(d1, x, x2, y, y2, eint, stif0)
integer, parameter nchartitle