OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_mat68.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_mat68 ../starter/source/materials/mat/mat068/hm_read_mat68.F
25!||--- called by ------------------------------------------------------
26!|| hm_read_mat ../starter/source/materials/mat/hm_read_mat.F90
27!||--- calls -----------------------------------------------------
28!|| hm_get_floatv ../starter/source/devtools/hm_reader/hm_get_floatv.F
29!|| hm_get_floatv_dim ../starter/source/devtools/hm_reader/hm_get_floatv_dim.F
30!|| hm_get_intv ../starter/source/devtools/hm_reader/hm_get_intv.F
31!|| hm_option_is_encrypted ../starter/source/devtools/hm_reader/hm_option_is_encrypted.F
32!|| init_mat_keyword ../starter/source/materials/mat/init_mat_keyword.F
33!||--- uses -----------------------------------------------------
34!|| elbuftag_mod ../starter/share/modules1/elbuftag_mod.F
35!|| message_mod ../starter/share/message_module/message_mod.F
36!|| submodel_mod ../starter/share/modules1/submodel_mod.F
37!||====================================================================
38 SUBROUTINE hm_read_mat68(UPARAM ,MAXUPARAM,NUPARAM ,ISRATE , IMATVIS ,
39 . NUVAR ,IFUNC ,MAXFUNC ,NFUNC , PARMAT ,
40 . UNITAB ,MAT_ID ,TITR ,MTAG , LSUBMODEL,
41 . PM ,IPM ,MATPARAM )
42C-----------------------------------------------
43C D e s c r i p t i o n
44C-----------------------------------------------
45C READ MAT LAW68 WITH HM READER
46C
47C DUMMY ARGUMENTS DESCRIPTION:
48C ===================
49C
50C NAME DESCRIPTION
51C
52C PM MATERIAL ARRAY(REAL)
53C UNITAB UNITS ARRAY
54C ID MATERIAL ID(INTEGER)
55C TITR MATERIAL TITLE
56C LSUBMODEL SUBMODEL STRUCTURE
57C
58C-----------------------------------------------
59C M o d u l e s
60C-----------------------------------------------
61 USE unitab_mod
62 USE elbuftag_mod
63 USE message_mod
64 USE submodel_mod
65 USE matparam_def_mod
67C-----------------------------------------------
68C I m p l i c i t T y p e s
69C-----------------------------------------------
70#include "implicit_f.inc"
71C-----------------------------------------------
72C C o m m o n B l o c k s
73C-----------------------------------------------
74#include "units_c.inc"
75#include "com01_c.inc"
76#include "param_c.inc"
77C-----------------------------------------------
78C D u m m y A r g u m e n t s
79C-----------------------------------------------
80 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
81 my_real, INTENT(INOUT) :: PM(NPROPM),PARMAT(100),UPARAM(MAXUPARAM)
82 INTEGER, INTENT(INOUT) :: IPM(NPROPMI),ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM, NUVAR,IMATVIS
83 TYPE(mlaw_tag_),INTENT(INOUT) :: MTAG
84 INTEGER,INTENT(IN) :: MAT_ID
85 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
86 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(NSUBMOD)
87 TYPE(matparam_struct_) ,INTENT(INOUT) :: MATPARAM
88C-----------------------------------------------
89C L o c a l V a r i a b l e s
90C-----------------------------------------------
91 my_real
92 . e11,e22,e33,g12,g23,g31,emx11,emx22,emx33,emx12,emx23,emx31,
93 . emf11,emf22,emf33,emf12,emf23,emf31,
94 . fac1,fac2,fac3,fac4,fac5,fac6,fac7,fac8,fac9,
95 . fac10,fac11,fac12,fac13,fac14,fac15,fac16,fac17,fac18
96 my_real fac_c,fac_l,fac_t,fac_m,dmin,dmax
97 INTEGER I11,I22,I33,I12,I23,I31,I21,I32,I13,IF1,IF2
98 INTEGER J11,J22,J33,J12,J23,J31,J21,J32,J13
99 my_real :: rho0, rhor, fac_unit
100 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
101C-----------------------------------------------
102C S o u r c e L i n e s
103C-----------------------------------------------
104 ifrwv = max(1,ifrwv)
105
106 is_encrypted = .false.
107 is_available = .false.
108 israte = 0
109 imatvis = 0
110 mtag%G_GAMA = 6
111 mtag%L_SIGL = 6
112 mtag%L_SIGD = 6
113 mtag%L_EPSA = 1 ! hyperelastic energy needed for mullins
114 nuparam=38
115 nfunc=18
116 nuvar=18
117
118 CALL hm_option_is_encrypted(is_encrypted)
119 !line+1
120 CALL hm_get_floatv('MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
121 CALL hm_get_floatv('Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
122 !line-2
123 CALL hm_get_floatv('MAT_EA' ,e11 ,is_available, lsubmodel, unitab)
124 CALL hm_get_floatv('MAT_EB' ,e22 ,is_available, lsubmodel, unitab)
125 CALL hm_get_floatv('MAT_EC' ,e33 ,is_available, lsubmodel, unitab)
126 !line-3
127 CALL hm_get_floatv('MAT_GAB' ,g12 ,is_available, lsubmodel, unitab)
128 CALL hm_get_floatv('MAT_GBC' ,g23 ,is_available, lsubmodel, unitab)
129 CALL hm_get_floatv('MAT_GCA' ,g31 ,is_available, lsubmodel, unitab)
130 !line-4
131 CALL hm_get_intv ('FUN_A1' ,i11 ,is_available, lsubmodel)
132 CALL hm_get_intv ('FUN_B1' ,i22 ,is_available, lsubmodel)
133 CALL hm_get_intv ('FUN_A2' ,i33 ,is_available, lsubmodel)
134 CALL hm_get_intv ('Gflag' ,if1 ,is_available, lsubmodel)
135 CALL hm_get_floatv('FScale11' ,fac1 ,is_available, lsubmodel, unitab)
136 CALL hm_get_floatv('fscale22' ,FAC2 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
137 CALL HM_GET_FLOATV('fscale33' ,FAC3 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
138 !line-5
139 CALL HM_GET_FLOATV('mat_epsr1' ,EMX11 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
140 CALL HM_GET_FLOATV('mat_epsr2' ,EMX22 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
141 CALL HM_GET_FLOATV('mat_epsr3' ,EMX33 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
142 !line-6
143 CALL HM_GET_INTV ('fun_a3' ,I12 ,IS_AVAILABLE, LSUBMODEL)
144 CALL HM_GET_INTV ('fun_b3' ,I23 ,IS_AVAILABLE, LSUBMODEL)
145 CALL HM_GET_INTV ('fun_a4' ,I31 ,IS_AVAILABLE, LSUBMODEL)
146 CALL HM_GET_INTV ('vflag' ,IF2 ,IS_AVAILABLE, LSUBMODEL)
147 CALL HM_GET_FLOATV('fscale12' ,FAC4 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
148 CALL HM_GET_FLOATV('fscale23' ,FAC5 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
149 CALL HM_GET_FLOATV('fscale31' ,FAC6 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
150 !line-7
151 CALL HM_GET_FLOATV('mat_epsr4' ,EMX12 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
152 CALL HM_GET_FLOATV('mat_epsr5' ,EMX23 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
153 CALL HM_GET_FLOATV('mat_epsr6' ,EMX31 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
154 !line-8
155 CALL HM_GET_INTV ('fun_b4' ,I21 ,IS_AVAILABLE, LSUBMODEL)
156 CALL HM_GET_INTV ('fun_b5' ,I32 ,IS_AVAILABLE, LSUBMODEL)
157 CALL HM_GET_INTV ('fun_b6' ,I13 ,IS_AVAILABLE, LSUBMODEL)
158 CALL HM_GET_FLOATV('fscale21' ,FAC7 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
159 CALL HM_GET_FLOATV('fscale32' ,FAC8 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
160 CALL HM_GET_FLOATV('fscale13' ,FAC9 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
161 !line-9
162 CALL HM_GET_INTV ('mat_yfun11_2' ,J11 ,IS_AVAILABLE, LSUBMODEL)
163 CALL HM_GET_INTV ('mat_yfun22_2' ,J22 ,IS_AVAILABLE, LSUBMODEL)
164 CALL HM_GET_INTV ('mat_yfun33_2' ,J33 ,IS_AVAILABLE, LSUBMODEL)
165 CALL HM_GET_FLOATV('fscale11_2' ,FAC10 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
166 CALL HM_GET_FLOATV('fscale22_2' ,FAC11 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
167 CALL HM_GET_FLOATV('fscale33_2' ,FAC12 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
168 !line-10
169 CALL HM_GET_FLOATV('mat_eps11_2' ,EMF11 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
170 CALL HM_GET_FLOATV('mat_eps22_2' ,EMF22 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
171 CALL HM_GET_FLOATV('mat_eps33_2' ,EMF33 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
172 !line-11
173 CALL HM_GET_INTV ('mat_yfun12_2' ,J12 ,IS_AVAILABLE, LSUBMODEL)
174 CALL HM_GET_INTV ('mat_yfun23_2' ,J23 ,IS_AVAILABLE, LSUBMODEL)
175 CALL HM_GET_INTV ('mat_yfun31_2' ,J31 ,IS_AVAILABLE, LSUBMODEL)
176 CALL HM_GET_FLOATV('fscale12_2' ,FAC13 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
177 CALL HM_GET_FLOATV('fscale23_2' ,FAC14 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
178 CALL HM_GET_FLOATV('fscale31_2' ,FAC15 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
179 !line-12
180 CALL HM_GET_FLOATV('mat_eps12_2' ,EMF12 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
181 CALL HM_GET_FLOATV('mat_eps23_2' ,EMF23 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
182 CALL HM_GET_FLOATV('mat_eps31_2' ,EMF31 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
183 !line-13
184 CALL HM_GET_INTV ('mat_yfun21_2' ,J21 ,IS_AVAILABLE, LSUBMODEL)
185 CALL HM_GET_INTV ('mat_yfun32_2' ,J32 ,IS_AVAILABLE, LSUBMODEL)
186 CALL HM_GET_INTV ('mat_yfun13_2' ,J13 ,IS_AVAILABLE, LSUBMODEL)
187 CALL HM_GET_FLOATV('fscale21_2' ,FAC16 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
188 CALL HM_GET_FLOATV('fscale32_2' ,FAC17 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
189 CALL HM_GET_FLOATV('fscale13_2' ,FAC18 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
190 !units
191 CALL HM_GET_FLOATV_DIM('fscale11' ,FAC_UNIT,IS_AVAILABLE, LSUBMODEL, UNITAB)
192
193 !---DEFAULT VALUES
194 IF(RHOR == ZERO)RHOR=RHO0
195 PM(1) =RHOR
196 PM(89)=RHO0
197 IF (FAC1 == ZERO) FAC1 = ONE*FAC_UNIT
198 IF (FAC2 == ZERO) FAC2 = ONE*FAC_UNIT
199 IF (FAC3 == ZERO) FAC3 = ONE*FAC_UNIT
200 IF (FAC4 == ZERO) FAC4 = ONE*FAC_UNIT
201 IF (FAC5 == ZERO) FAC5 = ONE*FAC_UNIT
202 IF (FAC6 == ZERO) FAC6 = ONE*FAC_UNIT
203 IF (FAC7 == ZERO) FAC7 = ONE*FAC_UNIT
204 IF (FAC8 == ZERO) FAC8 = ONE*FAC_UNIT
205 IF (FAC9 == ZERO) FAC9 = ONE*FAC_UNIT
206 IF (FAC10== ZERO) FAC10 = ONE*FAC_UNIT
207 IF (FAC11== ZERO) FAC11 = ONE*FAC_UNIT
208 IF (FAC12== ZERO) FAC12 = ONE*FAC_UNIT
209 IF (FAC13== ZERO) FAC13 = ONE*FAC_UNIT
210 IF (FAC14== ZERO) FAC14 = ONE*FAC_UNIT
211 IF (FAC15== ZERO) FAC15 = ONE*FAC_UNIT
212 IF (FAC16== ZERO) FAC16 = ONE*FAC_UNIT
213 IF (FAC17== ZERO) FAC17 = ONE*FAC_UNIT
214 IF (FAC18== ZERO) FAC18 = ONE*FAC_UNIT
215
216 !---STORAGE
217 UPARAM(1)=E11
218 UPARAM(2)=E22
219 UPARAM(3)=E33
220 UPARAM(4)=G12
221 UPARAM(5)=G23
222 UPARAM(6)=G31
223 UPARAM(7)=IF1
224 UPARAM(8)=IF2
225 UPARAM(9) =EMX11
226 UPARAM(10)=EMX22
227 UPARAM(11)=EMX33
228 UPARAM(12)=EMX12
229 UPARAM(13)=EMX23
230 UPARAM(14)=EMX31
231 IF(UPARAM(9) == ZERO)UPARAM(9) =INFINITY
232 IF(UPARAM(10) == ZERO)UPARAM(10)=INFINITY
233 IF(UPARAM(11) == ZERO)UPARAM(11)=INFINITY
234 IF(UPARAM(12) == ZERO)UPARAM(12)=INFINITY
235 IF(UPARAM(13) == ZERO)UPARAM(13)=INFINITY
236 IF(UPARAM(14) == ZERO)UPARAM(14)=INFINITY
237 UPARAM(15)=EMF11
238 UPARAM(16)=EMF22
239 UPARAM(17)=EMF33
240 UPARAM(18)=EMF12
241 UPARAM(19)=EMF23
242 UPARAM(20)=EMF31
243 IF(UPARAM(15) == ZERO)UPARAM(15)=INFINITY
244 IF(UPARAM(16) == ZERO)UPARAM(16)=INFINITY
245 IF(UPARAM(17) == ZERO)UPARAM(17)=INFINITY
246 IF(UPARAM(18) == ZERO)UPARAM(18)=INFINITY
247 IF(UPARAM(19) == ZERO)UPARAM(19)=INFINITY
248 IF(UPARAM(20) == ZERO)UPARAM(20)=INFINITY
249 UPARAM(21)=FAC1
250 UPARAM(22)=FAC2
251 UPARAM(23)=FAC3
252 UPARAM(24)=FAC4
253 UPARAM(25)=FAC5
254 UPARAM(26)=FAC6
255 UPARAM(27)=FAC7
256 UPARAM(28)=FAC8
257 UPARAM(29)=FAC9
258 UPARAM(30)=FAC10
259 UPARAM(31)=FAC11
260 UPARAM(32)=FAC12
261 UPARAM(33)=FAC13
262 UPARAM(34)=FAC14
263 UPARAM(35)=FAC15
264 UPARAM(36)=FAC16
265 UPARAM(37)=FAC17
266 UPARAM(38)=FAC18
267
268 PARMAT(1)= MAX(E11,E22,E33,G12,G23,G31)
269
270 IFUNC(1)=I11
271 IFUNC(2)=I22
272 IFUNC(3)=I33
273 IFUNC(4)=I12
274 IFUNC(5)=I23
275 IFUNC(6)=I31
276 IFUNC(7)=I21
277 IFUNC(8)=I32
278 IFUNC(9)=I13
279 IF(J11 == 0)J11=I11
280 IF(J22 == 0)J22=I22
281 IF(J33 == 0)J33=I33
282 IF(J12 == 0)J12=I12
283 IF(J23 == 0)J23=I23
284 IF(J31 == 0)J31=I31
285 IF(J21 == 0)J21=I21
286 IF(J32 == 0)J32=I32
287 IF(J13 == 0)J13=I13
288 IFUNC(10)=J11
289 IFUNC(11)=J22
290 IFUNC(12)=J33
291 IFUNC(13)=J12
292 IFUNC(14)=J23
293 IFUNC(15)=J31
294 IFUNC(16)=J21
295 IFUNC(17)=J32
296 IFUNC(18)=J13
297
298 !Formulation for solid elements time step computation.
299 DMIN = MIN(E11*E22, E22*E33,E11*E33)
300 DMAX = MAX(E11,E22,E33)
301 PARMAT(16) = 1
302 PARMAT(17) = DMIN/DMAX/DMAX
303c
304 CALL INIT_MAT_KEYWORD(MATPARAM,"COMPRESSIBLE")
305 CALL INIT_MAT_KEYWORD(MATPARAM,"HOOK")
306 CALL INIT_MAT_KEYWORD(MATPARAM,"ORTHOTROPIC")
307 ! Properties compatibility
308 CALL INIT_MAT_KEYWORD(MATPARAM,"SOLID_ORTHOTROPIC")
309c
310 !---LISTING OUTPUT
311 WRITE(IOUT,1001) TRIM(TITR),MAT_ID,68
312 WRITE(IOUT,1000)
313 IF(IS_ENCRYPTED)THEN
314 WRITE(IOUT,'(5x,a,//)')'confidential data'
315 ELSE
316 WRITE(IOUT,1002) RHO0
317 WRITE(IOUT,1100)E11,E22,E33,G12,G23,G31,
318 . I11,I22,I33,I12,I23,I31,I21,I32,I13,
319 . FAC1,FAC2,FAC3,FAC4,FAC5,FAC6,FAC7,FAC8,FAC9,
320 . J11,J22,J33,J12,J23,J31,J21,J32,J13,
321 . FAC10,FAC11,FAC12,FAC13,FAC14,FAC15,FAC16,FAC17,FAC18
322 IF(IF1+IF2/=0)WRITE(IOUT,1200)IF1,IF2
323 IF(EMX11+EMX22+EMX33+EMX12+EMX23+EMX31/=0)WRITE(IOUT,1300)
324 . EMX11,EMX22,EMX33,EMX12,EMX23,EMX31
325 ENDIF
326
327 RETURN
328
329 !---OUTPUT FORMAT
330 1000 FORMAT(
331 & 5X,40H HONEYCOMS LAW - COSSERA FORMULATION ,/,
332 & 5X,40H ----------------------------------- ,//)
333 1001 FORMAT(
334 & 5X,A,/,
335 & 5X,'material number . . . . . . . . . . . . =',I10/,
336 & 5X,'material law. . . . . . . . . . . . . . =',I10/)
337 1002 FORMAT(
338 & 5X,'initial density . . . . . . . . . . . . =',1PG20.13/)
339 1100 FORMAT(
340 & 5X,'e11 . . . . . . . . . . . . . . . . . .=',1PG20.13/
341 & 5X,'e22 . . . . . . . . . . . . . . . . . .=',1PG20.13/
342 & 5X,'e33 . . . . . . . . . . . . . . . . . .=',1PG20.13/
343 & 5X,'g12 . . . . . . . . . . . . . . . . . .=',1PG20.13/
344 & 5X,'g23 . . . . . . . . . . . . . . . . . .=',1PG20.13/
345 & 5X,'g31 . . . . . . . . . . . . . . . . . .=',1PG20.13/
346 & 5X,'initial stress curves . . . . . . . . .=',/
347 & 5X,'yield stress 11 FUNCTION number . . . .=',I10/
348 & 5X,'yield stress 22 function number . . . .=',I10/
349 & 5X,'yield stress 33 function number . . . .=',I10/
350 & 5X,'yield stress 12 function number . . . .=',I10/
351 & 5X,'yield stress 23 function number . . . .=',I10/
352 & 5X,'yield stress 31 function number . . . .=',I10/
353 & 5X,'yield stress 21 function number . . . .=',I10/
354 & 5X,'yield stress 32 function number . . . .=',I10/
355 & 5X,'yield stress 13 function number . . . .=',I10/
356 & 5X,'function 11 scale factor . . . . . . . =',1PG20.13/
357 & 5X,'function 22 scale factor . . . . . . . =',1PG20.13/
358 & 5X,'function 33 scale factor . . . . . . . =',1PG20.13/
359 & 5X,'function 12 scale factor . . . . . . . =',1PG20.13/
360 & 5X,'function 23 scale factor . . . . . . . =',1PG20.13/
361 & 5X,'function 31 scale factor . . . . . . . =',1PG20.13/
362 & 5X,'function 21 scale factor . . . . . . . =',1PG20.13/
363 & 5X,'function 32 scale factor . . . . . . . =',1PG20.13/
364 & 5X,'function 13 scale factor . . . . . . . =',1PG20.13/
365 & 5X,'residual stress curves . . . . . . . . .=',/
366 & 5X,'yield stress 11 function number . . . .=',I10/
367 & 5X,'yield stress 22 function number . . . .=',I10/
368 & 5X,'yield stress 33 function number . . . .=',I10/
369 & 5X,'yield stress 12 function number . . . .=',I10/
370 & 5X,'yield stress 23 function number . . . .=',I10/
371 & 5X,'yield stress 31 function number . . . .=',I10/
372 & 5X,'yield stress 21 function number . . . .=',I10/
373 & 5X,'yield stress 32 function number . . . .=',I10/
374 & 5X,'yield stress 13 function number . . . .=',I10/
375 & 5X,'function 11 scale factor . . . . . . . =',1PG20.13/
376 & 5X,'function 22 scale factor . . . . . . . =',1PG20.13/
377 & 5X,'function 33 scale factor . . . . . . . =',1PG20.13/
378 & 5X,'function 12 scale factor . . . . . . . =',1PG20.13/
379 & 5X,'function 23 scale factor . . . . . . . =',1pg20.13/
380 & 5x,'FUNCTION 31 SCALE FACTOR . . . . . . . =',1pg20.13/
381 & 5x,'FUNCTION 21 SCALE FACTOR . . . . . . . =',1pg20.13/
382 & 5x,'FUNCTION 32 SCALE FACTOR . . . . . . . =',1pg20.13/
383 & 5x,'FUNCTION 13 SCALE FACTOR . . . . . . . =',1pg20.13//)
384 1200 FORMAT(
385 & 5x,'YIELD FUNCTION 11,22,33 FLAG . . . . .=',i10/
386 & 5x,'YIELD FUNCTION 12,23,31 FLAG . . . . .=',i10//)
387 1300 FORMAT(
388 & 5x,'TENSION FAILURE STRAIN 11 . . . . . . .=',1pg20.13/
389 & 5x,'TENSION FAILURE STRAIN 22 . . . . . . .=',1pg20.13/
390 & 5x,'TENSION FAILURE STRAIN 33 . . . . . . .=',1pg20.13/
391 & 5x,'SHEAR FAILURE STRAIN 12 . . . . . . . .=',1pg20.13/
392 & 5x,'SHEAR FAILURE STRAIN 23 . . . . . . . .=',1pg20.13/
393 & 5x,'SHEAR FAILURE STRAIN 31 . . . . . . . .=',1pg20.13//)
394 END
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine hm_read_mat68(uparam, maxuparam, nuparam, israte, imatvis, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, mat_id, titr, mtag, lsubmodel, pm, ipm, matparam)
#define max(a, b)
Definition macros.h:21
integer, parameter nchartitle