OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_mat15.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_mat15 ../starter/source/materials/mat/mat015/hm_read_mat15.F
25!||--- called by ------------------------------------------------------
26!|| hm_read_mat ../starter/source/materials/mat/hm_read_mat.F90
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| hm_get_floatv ../starter/source/devtools/hm_reader/hm_get_floatv.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_mat15(
39 . LSUBMODEL,MTAG ,UNITAB ,IPM ,PM ,
40 . MAT_ID ,TITR ,MATPARAM ,ISRATE ,PARMAT )
41C-----------------------------------------------
42C D e s c r i p t i o n
43C-----------------------------------------------
44C READ MAT LAW15 WITH HM READER
45C-----------------------------------------------
46C M o d u l e s
47C-----------------------------------------------
48 USE unitab_mod
49 USE elbuftag_mod
50 USE submodel_mod
51 USE matparam_def_mod
52 USE message_mod
54C-----------------------------------------------
55C I m p l i c i t T y p e s
56C-----------------------------------------------
57#include "implicit_f.inc"
58C-----------------------------------------------
59C C o m m o n B l o c k s
60C-----------------------------------------------
61#include "param_c.inc"
62#include "units_c.inc"
63C-----------------------------------------------
64C D u m m y A r g u m e n t s
65C-----------------------------------------------
66 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(*)
67 TYPE(MLAW_TAG_), INTENT(INOUT) :: MTAG
68 CHARACTER(LEN=NCHARTITLE), INTENT(IN) :: TITR
69 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
70 INTEGER, INTENT(IN) :: MAT_ID
71 INTEGER, INTENT(INOUT) :: IPM(NPROPMI),ISRATE
72 my_real, INTENT(INOUT) :: pm(npropm)
73 TYPE(MATPARAM_STRUCT_) ,INTENT(INOUT) :: MATPARAM
74 my_real, DIMENSION(100),INTENT(INOUT) :: parmat
75C-----------------------------------------------
76C L o c a l V a r i a b l e s
77C-----------------------------------------------
78 INTEGER IOFF,ICC,IFLAG
79 my_real
80 . n12, n21, e11, e22, g12, g23, g31, epst1, epst2, cb, cn,
81 . fmax, sigyt1, sigyt2, sigyc1, sigyc2, sigyt12, sigyc12,
82 . c1, ssp, f1, f2, f11, f22, f33, f12, ft1, wplamx,
83 . epsm1, epsm2, dmax, shrdam, shrmax, shrdmax,alpha,cc,eps0,
84 . cbt1,cnt1,sigmxt1,cct1,cbt2,cnt2,sigmxt2,cct2,detc, de,
85 . cbc1,cnc1,sigmxc1,ccc1,cbc2,cnc2,sigmxc2,ccc2,fcut,
86 . cbt12,cnt12,sigmxt12,cct12,cbc12,cnc12,sigmxc12,ccc12,
87 . eps1t1,eps2t1,sigrst1,wplamxt1,eps1t2,eps2t2,sigrst2,
88 . wplamxt2,eps1c1,eps2c1,sigrsc1,wplamxc1,eps1c2,eps2c2,
89 . sigrsc2,wplamxc2,eps1t12,eps2t12,sigrst12,wplamxt12,
90 . beta, tmax,s1,s2,s12,c11,c22,wplaref,rho0,rhor
91 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE
92C-----------------------------------------------
93C S o u r c e
94C-----------------------------------------------
95 mtag%L_DAM = 2 ! DAMT => EV(NB15)
96 mtag%L_DSUM = 6 ! SIGR => EV(NB16)
97
98 is_encrypted = .false.
99 is_available = .false.
100
101 CALL hm_option_is_encrypted(is_encrypted)
102
103 CALL hm_get_floatv('MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
104 CALL hm_get_floatv('Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
105 IF (rhor == zero) THEN
106 rhor = rho0
107 ENDIF
108 pm(1) = rhor
109 pm(89) = rho0
110
111 cb=zero
112 cn=zero
113 fmax=zero
114C
115 sigyt1=zero
116 sigyt2=zero
117 sigyc1=zero
118 sigyc2=zero
119 sigyc12=zero
120C
121 eps1t1 = zero
122 eps2t1 = zero
123C
124 eps1t2=zero
125 eps2t2=zero
126 israte = 0
127 fcut = zero
128
129 CALL hm_get_floatv('MAT_EA', e11, is_available, lsubmodel, unitab)
130 CALL hm_get_floatv('mat_eb', E22, IS_AVAILABLE, LSUBMODEL, UNITAB)
131 CALL HM_GET_FLOATV('mat_prab', N12, IS_AVAILABLE, LSUBMODEL, UNITAB)
132
133 CALL HM_GET_FLOATV('mat_gab', G12, IS_AVAILABLE, LSUBMODEL, UNITAB)
134 CALL HM_GET_FLOATV('mat_gbc', G23, IS_AVAILABLE, LSUBMODEL, UNITAB)
135 CALL HM_GET_FLOATV('mat_gca', G31, IS_AVAILABLE, LSUBMODEL, UNITAB)
136
137 CALL HM_GET_FLOATV('mat_beta', CB, IS_AVAILABLE, LSUBMODEL, UNITAB)
138 CALL HM_GET_FLOATV('mat_hard', CN, IS_AVAILABLE, LSUBMODEL, UNITAB)
139 CALL HM_GET_FLOATV('mat_sig', FMAX, IS_AVAILABLE, LSUBMODEL, UNITAB)
140
141 CALL HM_GET_FLOATV('wpmax', WPLAMX, IS_AVAILABLE, LSUBMODEL, UNITAB)
142 CALL HM_GET_FLOATV('wpref', WPLAREF, IS_AVAILABLE, LSUBMODEL, UNITAB)
143 CALL HM_GET_INTV('itype', IOFF, IS_AVAILABLE, LSUBMODEL)
144
145 CALL HM_GET_FLOATV('mat_sigyt1', SIGYT1, IS_AVAILABLE, LSUBMODEL, UNITAB)
146 CALL HM_GET_FLOATV('mat_sigyt2', SIGYT2, IS_AVAILABLE, LSUBMODEL, UNITAB)
147 CALL HM_GET_FLOATV('mat_sigyc1', SIGYC1, IS_AVAILABLE, LSUBMODEL, UNITAB)
148 CALL HM_GET_FLOATV('mat_sigyc2', SIGYC2, IS_AVAILABLE, LSUBMODEL, UNITAB)
149 CALL HM_GET_FLOATV('mat_alpha', ALPHA, IS_AVAILABLE, LSUBMODEL, UNITAB)
150
151 CALL HM_GET_FLOATV('mat_sigc12', SIGYT12, IS_AVAILABLE, LSUBMODEL, UNITAB)
152 CALL HM_GET_FLOATV('mat_sigt12', SIGYC12, IS_AVAILABLE, LSUBMODEL, UNITAB)
153 CALL HM_GET_FLOATV('mat_src', CC, IS_AVAILABLE, LSUBMODEL, UNITAB)
154 CALL HM_GET_FLOATV('mat_srp', EPS0, IS_AVAILABLE, LSUBMODEL, UNITAB)
155 CALL HM_GET_INTV('strflag', ICC, IS_AVAILABLE, LSUBMODEL)
156
157 CALL HM_GET_FLOATV('mat_beta', BETA, IS_AVAILABLE, LSUBMODEL, UNITAB)
158 CALL HM_GET_FLOATV('mat_tmax', TMAX, IS_AVAILABLE, LSUBMODEL, UNITAB)
159 CALL HM_GET_FLOATV('mchang_s1', S1, IS_AVAILABLE, LSUBMODEL, UNITAB)
160 CALL HM_GET_FLOATV('mchang_s2', S2, IS_AVAILABLE, LSUBMODEL, UNITAB)
161 CALL HM_GET_FLOATV('mchang_s12', S12, IS_AVAILABLE, LSUBMODEL, UNITAB)
162
163 CALL HM_GET_INTV('fsmooth', ISRATE, IS_AVAILABLE, LSUBMODEL)
164 CALL HM_GET_FLOATV('fcut', FCUT, IS_AVAILABLE, LSUBMODEL, UNITAB)
165 CALL HM_GET_FLOATV('mchang_c1', C11, IS_AVAILABLE, LSUBMODEL, UNITAB)
166 CALL HM_GET_FLOATV('mchang_c2', C22, IS_AVAILABLE, LSUBMODEL, UNITAB)
167
168.OR..OR. IF(E11==ZERO E22==ZERO
169.OR..OR. & G12==ZERO G23==ZERO G31==ZERO) THEN
170 CALL ANCMSG(MSGID=306,
171 . MSGTYPE=MSGERROR,
172 . ANMODE=ANINFO,
173 . I1=15,
174 . I2=MAT_ID,
175 . C1=TITR,
176 . C2='e11, e22, g12, g23, g31')
177 ENDIF
178C-----
179.AND..AND. IF(CC > ZERO EPS0 > ZERO ISRATE == 0) THEN
180 CALL ANCMSG(MSGID=1220,
181 . MSGTYPE=MSGWARNING,
182 . ANMODE=ANINFO_BLIND_1,
183 . I1=MAT_ID,
184 . C1=TITR)
185 ENDIF
186C-------------------------------------
187.AND..AND. IF (ICC/=2ISRATE==0FCUT/=ZERO) ISRATE=1
188.AND. IF (ISRATE > 0 FCUT == ZERO) FCUT = INFINITY
189 IF(CN==ZERO) CN = ONE
190 IF(FMAX==ZERO) FMAX = INFINITY
191 IF(WPLAMX==ZERO)WPLAMX = INFINITY
192 IF (WPLAREF == ZERO) WPLAREF = ONE
193 WPLAMX = WPLAMX / WPLAREF
194 IF(ALPHA==ZERO)ALPHA = ONE
195 IF(CC==ZERO) EPS0 = ONE
196 IF(ICC==ZERO) ICC = 1
197 IFLAG = 0
198.AND..AND..AND. IF(S1==ZEROS2==ZEROS12==ZERO
199.AND. . C11==ZEROC22==ZERO) IFLAG = 1
200
201 IF(S1==ZERO) S1 = INFINITY
202 IF(S2==ZERO) S2 = INFINITY
203 IF(S12==ZERO) S12 = INFINITY
204 IF(C11==ZERO) C11= INFINITY
205 IF(C22==ZERO) C22= INFINITY
206C--------------------------------------------------------
207 IF(TMAX==ZERO)WRITE(*,*)'stop error in tmax input'
208C--------------------------------------------------------
209 N21=N12*E22/E11
210 DETC=ONE-N12*N21
211 IF(DETC<=ZERO) THEN
212 CALL ANCMSG(MSGID=307,
213 . MSGTYPE=MSGERROR,
214 . ANMODE=ANINFO,
215 . I1=MAT_ID,
216 . C1=TITR)
217 ENDIF
218C--------------------------------------------------------
219 IF(CN>ONE) THEN
220 CALL ANCMSG(MSGID=213,
221 . MSGTYPE=MSGERROR,
222 . ANMODE=ANINFO,
223 . I1=15,
224 . I2=MAT_ID,
225 . C1=TITR)
226 ENDIF
227 DE = ONE
228C-------------------------------------
229 WRITE(IOUT, 900) TRIM(TITR),MAT_ID,15
230 WRITE(IOUT,1000)
231 IF(IS_ENCRYPTED)THEN
232 WRITE(IOUT,'(5x,a,//)')'confidential data'
233 ELSE
234 WRITE(IOUT, 950) RHO0
235 WRITE(IOUT,1100)E11,E22,N12
236 WRITE(IOUT,1300)G12,G23,G31
237C
238 WRITE(IOUT,1510)CB,CN,FMAX,WPLAMX,WPLAREF,IOFF
239 WRITE(IOUT,1550)SIGYT1,SIGYT2,SIGYC1,SIGYC2,ALPHA
240 WRITE(IOUT,1560)SIGYT12,SIGYC12
241 WRITE(IOUT,1610)CC,EPS0,ICC
242 WRITE(IOUT,1611) ISRATE,FCUT
243 WRITE(IOUT,1600)BETA, TMAX
244 WRITE(IOUT,2700) S1,S2,S12,C11,C22
245 ENDIF
246C-------------------------------------------------
247 PM(20)= MAX(E11,E22)/DETC
248 PM(24)= PM(20)
249 PM(26)=FIVE_OVER_6
250 PM(33)=E11
251 PM(34)=E22
252 PM(35)=N12
253 PM(36)=N21
254 PM(37)=G12
255 PM(38)=G23
256 PM(39)=G31
257 PM(41)=WPLAMX
258 PM(42)=IOFF
259 PM(44)=DE
260 PM(46)=CB
261 PM(47)=CN
262 PM(49)=FMAX
263 PM(68)=WPLAREF
264 PM(22)= THIRD*(G12+G23+G31)
265C-----------------------------------------
266 C1 = MAX(E11,E22)/DETC
267 SSP = SQRT(MAX(C1,G12,G23,G31)/MAX(PM(1),EM20))
268 PM(32)= C1
269 PM(27)= SSP
270 PM(52)=ONEP414*PM(17)*PM(1)*SSP
271C-----------------------------------------
272 PARMAT(4) = ISRATE
273 PARMAT(5) = FCUT
274C----------------------------------------
275C CONSTANTS FOR THE YIELD FUNCTION
276C-------------------------------------------
277 IF (SIGYT1<=0.) THEN
278 CALL ANCMSG(MSGID=538,
279 . MSGTYPE=MSGERROR,
280 . ANMODE=ANINFO,
281 . I1=MAT_ID,
282 . C1=TITR,
283 . C2='sigyt1')
284 ENDIF
285 IF (SIGYC1<=0.) THEN
286 CALL ANCMSG(MSGID=538,
287 . MSGTYPE=MSGERROR,
288 . ANMODE=ANINFO,
289 . I1=MAT_ID,
290 . C1=TITR,
291 . C2='sigyc1')
292 ENDIF
293 IF (SIGYT2<=0.) THEN
294 CALL ANCMSG(MSGID=538,
295 . MSGTYPE=MSGERROR,
296 . ANMODE=ANINFO,
297 . I1=MAT_ID,
298 . C1=TITR,
299 . C2='sigyt2')
300 ENDIF
301 IF (SIGYC2<=0.) THEN
302 CALL ANCMSG(MSGID=538,
303 . MSGTYPE=MSGERROR,
304 . ANMODE=ANINFO,
305 . I1=MAT_ID,
306 . C1=TITR,
307 . C2='sigyc2')
308 ENDIF
309 IF (SIGYT12<=0.) THEN
310 CALL ANCMSG(MSGID=538,
311 . MSGTYPE=MSGERROR,
312 . ANMODE=ANINFO,
313 . I1=MAT_ID,
314 . C1=TITR,
315 . C2='sigyt12')
316 ENDIF
317 IF (SIGYC12<=0.) THEN
318 CALL ANCMSG(MSGID=538,
319 . MSGTYPE=MSGERROR,
320 . ANMODE=ANINFO,
321 . I1=MAT_ID,
322 . C1=TITR,
323 . C2='sigyc12')
324 ENDIF
325C
326.AND. IF((SIGYC1>0.)(SIGYC2>0.))THEN
327 F1 = ONE/SIGYT1-ONE/SIGYC1
328 F2 = ONE/SIGYT2-ONE/SIGYC2
329 F11 = ONE/(SIGYT1*SIGYC1)
330 F22 = ONE/(SIGYT2*SIGYC2)
331 F33 = ONE/(SIGYT12*SIGYC12)
332 F12 = -ALPHA/(TWO*SQRT(SIGYT1*SIGYC1*SIGYT2*SIGYC2))
333C
334 FT1=F11*F22-FOUR*F12**2
335 IF(IS_ENCRYPTED)THEN
336 WRITE(IOUT,1650) F1,F2,F11,F22,F33,F12
337 ENDIF
338C IF (FT1<0.) WRITE (IOUT,5560) FT1
339C
340 PM(54)=F1
341 PM(55)=F2
342 PM(56)=F11
343 PM(57)=F22
344 PM(58)=F33
345 PM(59)=F12
346C
347 ELSE
348 F1 = 0
349 F2 = 0
350 F11 = 0
351 F22 = 0
352 F33 = 0
353 F12 = 0
354 ENDIF
355 PM(60)= BETA
356 PM(61)= TMAX
357
358C
359 PM(50)=CC
360 PM(51)=EPS0
361 PM(53)=ICC
362 IF(EPS0==ZERO) THEN
363 CALL ANCMSG(MSGID=298,
364 . MSGTYPE=MSGERROR,
365 . ANMODE=ANINFO,
366 . I1=15,
367 . I2=MAT_ID,
368 . C1=TITR)
369 ENDIF
370C---
371 PM(141)= SIGYT1
372 PM(142)= SIGYT2
373 PM(143)= SIGYC1
374 PM(144)= SIGYC2
375 PM(145)= SIGYT12
376 PM(146)= SIGYC12
377 PM(147) = IFLAG
378 PM(148) = S1
379 PM(149) = S2
380 PM(150) = C11
381 PM(151) = C22
382 PM(152) =S12
383c
384C---- Definition des variables internes (stockage elementaire)
385c
386 MTAG%G_PLA = 1
387 MTAG%L_PLA = 1 ! NB10
388 MTAG%G_TSAIWU = 1
389 MTAG%L_TSAIWU = 1
390
391 ! MATPARAM keywords
392 CALL INIT_MAT_KEYWORD(MATPARAM,"ORTHOTROPIC")
393
394 ! Properties compatibility
395 CALL INIT_MAT_KEYWORD(MATPARAM,"SHELL_ORTHOTROPIC")
396
397c-----------
398 CALL INIT_MAT_KEYWORD(MATPARAM,"ELASTO_PLASTIC")
399 CALL INIT_MAT_KEYWORD(MATPARAM,"COMPRESSIBLE")
400c-----------
401 RETURN
402 900 FORMAT(/
403 & 5X,A,/,
404 & 5X,'material number. . . . . . . . . . . . . . .=',I10/,
405 & 5X,'material law . . . . . . . . . . . . . . . .=',I10/)
406 950 FORMAT(
407 & 5X,'initial density . . . . . . . . . . . . .=',1PG20.13/)
408 1000 FORMAT(
409 & 5X,40H ORTHOTROPIC MATERIAL FOR SHELLS ,/,
410 & 5X,40H ------------------------------- ,//)
411 1100 FORMAT(
412 & 5X,40HYOUNG's modulus e11 . . . . . . . . . .=,e12.4/,
413 & 5x,40hyoung'S MODULUS E22 . . . . . . . . . .=,E12.4/,
414 & 5X,40HPOISSON's ratio n12 . . . . . . . . . .=,e12.4/)
415 1300 FORMAT(
416 & 5x,40hshear modulus g12 . . . . . . . . . .=,e12.4/,
417 & 5x,40hshear modulus g23 . . . . . . . . . .=,e12.4/,
418 & 5x,40hshear modulus g31 . . . . . . . . . .=,e12.4/)
419c
420 1510 FORMAT(
421 & 5x,'COMPOSITE HARDENING PARAMETER (B). . .=',1pg20.13/,
422 & 5x,'COMPOSITE HARDENING PARAMETER (N). . .=',1pg20.13/,
423 & 5x,'COMPOSITE MAXIMUM YIELD FUNCTION FMAX .=',1pg20.13/,
424 & 5x,'COMPOSITE MAXIMUM PLASTIC WORK WPLAMX .=',1pg20.13/,
425 & 5x,'REFERENCE PLASTIC WORK WPLAREF. . . . .=',1pg20.13/,
426 & 5x,'TOTAL ELEMENT FAILURE CRITERIA IOFF =',i10/,
427 & 5x,' IOFF=0: SHELL DELETE IF WPLA >= WPLAMX FOR 1 LAYER'/,
428 & 5x,' IOFF=1: SHELL DELETE IF WPLA >= WPLAMX FOR ALL LAYERS'/,
429 & 5x,' IOFF=2: SHELL DELETE IF FOR EACH LAYER :'/,
430 & 5x,' WPLA >= WPLAMX OR TENSILE FAILURE DIR 1'/,
431 & 5x,' IOFF=3: SHELL DELETE IF FOR EACH LAYER :'/,
432 & 5x,' WPLA >= WPLAMX OR TENSILE FAILURE DIR 2'/,
433 & 5x,' ioff=4: shell delete IF for each layer :'/,
434 & 5X,' wpla >= wplamx or tensile failure dir 1 and 2'/,
435 & 5X,' ioff=5: shell delete IF for all layers :'/,
436 & 5X,' wpla >= wplamx or tensile failure dir 1'/,
437 & 5X,' or'/,
438 & 5X,' wpla >= wplamx or tensile failure dir 2'/,
439 & 5X,' ioff=6: shell delete IF for each layer :'/,
440 & 5X,' wpla >= wplamx or tensile failure dir 1 or 2'//)
441 1550 FORMAT(
442 & 5X,'composite yield in tension dir-1 . . . . . .=',1PG20.13/,
443 & 5X,'composite yield in tension dir-2 . . . . . .=',1PG20.13/,
444 & 5X,'composite yield in compression dir-1 . . . .=',1PG20.13/,
445 & 5X,'composite yield in compression dir-2 . . . .=',1PG20.13/,
446 & 5X,'f12 reduction factor . . . . . . . . . . . .=',1PG20.13//)
447 1560 FORMAT(
448 & 5X,'composite yield in shear(+12) . . . .=',1PG20.13/,
449 & 5X,'composite yield in shear(-12) . . . .=',1PG20.13//)
450 1600 FORMAT(
451 & 5X,'shear scaling factor . . . . . . . . . . .=',1PG20.13/,
452 & 5X,'time of relaxation. . . . . . . . . . . . .=',1PG20.13/)
453 1650 FORMAT(
454 & 5X,' yield FUNCTION constants '/,
455 & 5X,' ------------------------ '//,
456 & 5X,'f1 , f2 . . . . . . . . . . . . . . . .=',2E12.4/,
457 & 5X,'f11, f22. . . . . . . . . . . . . . . .=',2E12.4/,
458 & 5X,'f33 . . . . . . . . . . . . . . . . . .=', E12.4/,
459 & 5X,'f12 . . . . . . . . . . . . . . . . . .=', E12.4//)
460 1610 FORMAT(
461 & 5X,'strain rate coefficient cc. . . . . . .=',1PG20.13/,
462 & 5X,'reference strain rate . . . . . . . . .=',1PG20.13/,
463 & 5X,'flag for strain rate on f-max wp-max. .=',I10//)
464 1611 FORMAT(
465 & 5X,'smooth strain rate option . . . . . . .=',I10/,
466 & 5X,'strain rate cutting frequency . . . . .=',1PG20.13/)
467 2700 FORMAT(
468 & 5X,'longitudinal tensile strength . . . . . .=',1PG20.13/,
469 & 5X,'transverse tension strength . . . . . .=',1PG20.13/,
470 & 5X,'shear strength . . . . . . . . . . . . .=',1PG20.13/,
471 & 5X,' longitudinal compressive strength . . .=',1PG20.13/,
472 & 5X,' transverse compressive strength . . .=',1PG20.13//)
473 RETURN
474 END
#define my_real
Definition cppsort.cpp:32
#define alpha
Definition eval.h:35
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_option_is_encrypted(is_encrypted)
#define max(a, b)
Definition macros.h:21
for(i8=*sizetab-1;i8 >=0;i8--)
integer, parameter nchartitle
program starter
Definition starter.F:39