OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_mat12.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_mat12 ../starter/source/materials/mat/mat012/hm_read_mat12.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_mat12(
39 . LSUBMODEL ,MTAG ,UNITAB ,IPM ,PM ,
40 . MAT_ID ,TITR ,ISRATE ,MATPARAM)
41C-----------------------------------------------
42C M o d u l e s
43C-----------------------------------------------
44 USE unitab_mod
45 USE elbuftag_mod !MAXEOS
46 USE message_mod
47 USE submodel_mod
48 USE matparam_def_mod
50C-----------------------------------------------
51C ROUTINE DESCRIPTION :
52C ===================
53C READ MAT LAW21 WITH HM READER
54C-----------------------------------------------
55C DUMMY ARGUMENTS DESCRIPTION:
56C ===================
57C UNITAB UNITS ARRAY
58C MAT_ID MATERIAL ID(INTEGER)
59C TITR MATERIAL TITLE
60C LSUBMODEL SUBMODEL STRUCTURE
61C-----------------------------------------------
62C I m p l i c i t T y p e s
63C-----------------------------------------------
64#include "implicit_f.inc"
65C-----------------------------------------------
66C C o m m o n B l o c k s
67C-----------------------------------------------
68#include "com01_c.inc"
69#include "units_c.inc"
70#include "param_c.inc"
71C-----------------------------------------------
72C D u m m y A r g u m e n t s
73C-----------------------------------------------
74 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
75 INTEGER, INTENT(IN) :: MAT_ID
76 INTEGER, INTENT(INOUT) :: ISRATE
77 INTEGER, DIMENSION(NPROPMI) ,INTENT(INOUT) :: IPM
78 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
79 my_real, DIMENSION(NPROPM) ,INTENT(INOUT) :: pm
80 TYPE(submodel_data), DIMENSION(*),INTENT(IN) :: LSUBMODEL
81 TYPE(mlaw_tag_), INTENT(INOUT) :: MTAG
82 TYPE(matparam_struct_) ,INTENT(INOUT) :: MATPARAM
83C-----------------------------------------------
84C L o c a l V a r i a b l e s
85C-----------------------------------------------
86 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
87 INTEGER ICC,IFLAG
89 . n12, n23, n31, e11, e22, e33, g12, g23, g31, sigt1, sigt2,
90 . sigt3, delta, ca, cb, cn, fmax, sigyt1, sigyt2, sigyc1,
91 . sigyc2,sigyt3,sigyc3,sigyt12, sigyc12, sigyt23, sigyc23,
92 . sigy12t,sigyt13, sigyc13, f3,f33,
93 . f6,f66,f13, alpha, efib, epsft,
94 . epsfc, c11, c22, c33, c12, c13, c23, detc, d11, d12, d13, d22,
95 . d23, d33, d21, d31, d32, a11, a12, a13, a22, a23, a33, c1, ssp,
96 . f1, f2, f4, f5, f11, f22, f44, f55, f12, f23, ft1, ft2,
97 . cc,eps0,dmin,wplaref,rhor,rho0
98 CHARACTER*64 :: chain
99C-----------------------------------------------
100C S o u r c e L i n e s
101C-----------------------------------------------
102 is_encrypted = .false.
103 is_available = .false.
104 israte = 0
105
106 CALL hm_option_is_encrypted(is_encrypted)
107
108 CALL hm_get_floatv('MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
109 CALL hm_get_floatv('Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
110
111 CALL hm_get_floatv('MAT_EA' ,e11 ,is_available, lsubmodel, unitab)
112 CALL hm_get_floatv('MAT_EB' ,e22 ,is_available, lsubmodel, unitab)
113 CALL hm_get_floatv('MAT_EC' ,e33 ,is_available, lsubmodel, unitab)
114
115 CALL hm_get_floatv('MAT_PRAB' ,n12 ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv('MAT_PRBC' ,n23 ,is_available, lsubmodel, unitab)
117 CALL hm_get_floatv('MAT_PRCA' ,n31 ,is_available, lsubmodel, unitab)
118
119 CALL hm_get_floatv('MAT_GAB' ,g12 ,is_available, lsubmodel, unitab)
120 CALL hm_get_floatv('MAT_GBC' ,g23 ,is_available, lsubmodel, unitab)
121 CALL hm_get_floatv('MAT_GCA' ,g31 ,is_available, lsubmodel, unitab)
122
123 CALL hm_get_floatv('MAT_SIGT1' ,sigt1 ,is_available, lsubmodel, unitab)
124 CALL hm_get_floatv('MAT_SIGT2' ,sigt2 ,is_available, lsubmodel, unitab)
125 CALL hm_get_floatv('MAT_SIGT3' ,sigt3 ,is_available, lsubmodel, unitab)
126 CALL hm_get_floatv('MAT_DAMAGE' ,delta ,is_available, lsubmodel, unitab)
127
128 CALL hm_get_floatv('MAT_BETA' ,cb ,is_available, lsubmodel, unitab)
129 CALL hm_get_floatv('MAT_HARD' ,cn ,is_available, lsubmodel, unitab)
130 CALL hm_get_floatv('MAT_SIG' ,fmax ,is_available, lsubmodel, unitab)
131 CALL hm_get_floatv('WPREF' ,wplaref ,is_available, lsubmodel, unitab)
132
133 CALL hm_get_floatv('MAT_SIGYT1' ,sigyt1 ,is_available, lsubmodel, unitab)
134 CALL hm_get_floatv('MAT_SIGYT2' ,sigyt2 ,is_available, lsubmodel, unitab)
135 CALL hm_get_floatv('MAT_SIGYC1' ,sigyc1 ,is_available, lsubmodel, unitab)
136 CALL hm_get_floatv('MAT_SIGYC2' ,sigyc2 ,is_available, lsubmodel, unitab)
137
138 CALL hm_get_floatv('MAT_SIGT12' ,sigyt12 ,is_available, lsubmodel, unitab)
139 CALL hm_get_floatv('MAT_SIGC12' ,sigyc12 ,is_available, lsubmodel, unitab)
140 CALL hm_get_floatv('MAT_SIGT23' ,sigyt23 ,is_available, lsubmodel, unitab)
141 CALL hm_get_floatv('MAT_SIGC23' ,sigyc23 ,is_available, lsubmodel, unitab)
142
143 CALL hm_get_floatv('MAT_SIGYT3' ,sigyt3 ,is_available, lsubmodel, unitab)
144 CALL hm_get_floatv('MAT_SIGYC3' ,sigyc3 ,is_available, lsubmodel, unitab)
145 CALL hm_get_floatv('MAT_SIGYT13' ,sigyt13 ,is_available, lsubmodel, unitab)
146 CALL hm_get_floatv('MAT_SIGYC13' ,sigyc13 ,is_available, lsubmodel, unitab)
147
148 CALL hm_get_floatv('MAT_ALPHA' ,alpha ,is_available, lsubmodel, unitab)
149 CALL hm_get_floatv('MAT_EFIB' ,efib ,is_available, lsubmodel, unitab)
150 CALL hm_get_floatv('MAT_SRC' ,cc ,is_available, lsubmodel, unitab)
151 CALL hm_get_floatv('MAT_SRP' ,eps0 ,is_available, lsubmodel, unitab)
152
153 CALL hm_get_intv ('STRFLAG' ,icc ,is_available,lsubmodel)
154
155 IF (rhor==zero) rhor=rho0
156 pm(1) = rhor
157 pm(89)= rho0
158
159 IF(e11 == zero .OR.e22 == zero .OR. e33 == zero) THEN
160 CALL ancmsg(msgid=306,
161 . msgtype=msgerror,
162 . anmode=aninfo,
163 . i1=12,
164 . i2=mat_id,
165 . c1=titr,
166 . c2='E11, E22 or E33')
167 ENDIF
168 IF(n2d > 0) THEN
169 CALL ancmsg(msgid=305,
170 . msgtype=msgerror,
171 . anmode=aninfo,
172 . i1=12,
173 . i2=mat_id,
174 . c1=titr)
175 ENDIF
176C
177
178
179 IF(wplaref == zero) wplaref = one
180 IF(alpha==one)alpha= zep99
181 IF(delta==zero)delta= fiveem2
182 IF(sigt1==zero)sigt1= infinity
183 IF(sigt2==zero)sigt2= sigt1
184 IF(sigt3==zero)sigt3= sigt1
185 IF(sigyt1==zero)sigyt1= infinity
186 IF(sigyc1==zero)sigyc1= sigyt1
187 IF(sigyt2==zero)sigyt2= sigyt1
188 IF(sigyc2==zero)sigyc2= sigyc1
189 IF(sigyt3 == zero) sigyt3 = sigyt2
190 IF(sigyc3 == zero) sigyc3 = sigyc2
191 IF(sigyt12 == zero) sigyt12 = infinity
192 IF(sigyc12 == zero) sigyc12 = infinity
193 IF(sigyt23 == zero) sigyt23 = infinity
194 IF(sigyc23 == zero) sigyc23 = infinity
195 IF(sigyt13 == zero) sigyt13 = sigyt12
196 IF(sigyc13 == zero) sigyc13 = sigyc12
197 ca=one
198 IF(cn==zero) cn = one
199 IF(fmax==zero)fmax= ep10
200 IF(cc==zero) eps0 = one
201 IF(icc==0.) icc = 1
202 epsfc=-infinity
203 epsft= infinity
204C-------------------------------------
205 WRITE(iout,1001) trim(titr),mat_id,12
206 WRITE(iout,1000)
207 IF(is_encrypted)THEN
208 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
209 ELSE
210 WRITE(iout,1002) rho0,rhor
211 WRITE(iout,1100) e11,e22,e33
212 WRITE(iout,1200) n12,n23,n31
213 WRITE(iout,1300) g12,g23,g31
214 WRITE(iout,1400) sigt1,sigt2,sigt3,delta
215 WRITE(iout,1510) cb,cn,fmax,wplaref
216 WRITE(iout,1550) sigyt1,sigyt2,sigyc1,sigyc2
217 WRITE(iout,1560) sigyt12,sigyc12,sigyt23,sigyc23
218 WRITE(iout,1610) alpha,efib
219 WRITE(iout,1620) cc,eps0,icc
220 ENDIF
221C--------------------------------------------------------
222 c11 = one/e11
223 c22 = one/e22
224 c33 = one/e33
225 c12 =-n12/e11
226 c13 =-n31/e33
227 c23 =-n23/e22
228C-------------------------
229C INVERSION
230C-------------------------
231 detc= c11*c22*c33-c11*c23*c23-c12*c12*c33+c12*c13*c23
232 + +c13*c12*c23-c13*c22*c13
233 IF(detc <= zero) THEN
234 CALL ancmsg(msgid=307,
235 . msgtype=msgerror,
236 . anmode=aninfo,
237 . i1=mat_id,
238 . c1=titr)
239 ENDIF
240 d11 = (c22*c33-c23*c23)/detc
241 d12 =-(c12*c33-c13*c23)/detc
242 d13 = (c12*c23-c13*c22)/detc
243 d22 = (c11*c33-c13*c13)/detc
244 d23 =-(c11*c23-c13*c12)/detc
245 d33 = (c11*c22-c12*c12)/detc
246 d21 = d12
247 d31 = d13
248 d32 = d23
249C-----------------------
250C VERIF
251 a11 = c11*d11+c12*d21+c13*d31
252 a12 = c11*d12+c12*d22+c13*d32
253 a13 = c11*d13+c12*d23+c13*d33
254 a22 = c12*d12+c22*d22+c23*d23
255 a23 = c12*d13+c22*d23+c23*d33
256 a33 = c13*d13+c23*d23+c33*d33
257C-----------------------------------------
258 pm(20)= max(e11,e22,e33)
259 pm(21)= third*(n12+n31+n23)
260 pm(22)= third*(g12+g23+g31)
261 pm(25)= 1.
262 pm(26)= cb
263 pm(27)= cn
264C
265 pm(28) = max(onep0001,fmax)
266 c1 = max(d11,d22,d33)
267 ssp = sqrt(c1/max(pm(1),em20))
268 pm(32)= c1
269 pm(37)=-infinity
270 pm(38)= efib
271 pm(39)= alpha
272C
273C STORE D-MATRIX FOR THE COMPOSITE AS A WHOLE
274C
275C
276 pm(40)= d11
277 pm(41)= d12
278 pm(42)= d13
279 pm(43)= d22
280 pm(44)= d23
281 pm(45)= d33
282 pm(46)= g12
283 pm(47)= g23
284 pm(48)= g31
285C
286 pm(49)= ssp
287 pm(68)=wplaref
288
289C
290C CONSTANTS FOR THE YIELD FUNCTION
291C
292 f1 = one/sigyt1-one/sigyc1
293 f2 = one/sigyt2-one/sigyc2
294 f3 = one/sigyt3-one/sigyc3
295 f4 = one/sigyt12-one/sigyc12
296 f5 = one/sigyt23-one/sigyc23
297 f6 = one/sigyt13-one/sigyc13
298 f11 = one/(sigyt1*sigyc1)
299 f22 = one/(sigyt2*sigyc2)
300 f33 = one/(sigyt3*sigyc3)
301 f44 = one/(sigyt12*sigyc12)
302 f55 = one/(sigyt23*sigyc23)
303 f66 = one/(sigyt13*sigyc13)
304 f12 = -half/sqrt(sigyt1*sigyc1*sigyt2*sigyc2)
305 f23 = -half/sqrt(sigyt2*sigyc2*sigyt3*sigyc3)
306 f13= - half/sqrt(sigyt1*sigyc1*sigyt3*sigyc3)
307 ft1=f11*f22- four*f12**2
308 ft2=f22**2- four*f23**2
309 IF(.NOT.is_encrypted)THEN
310 WRITE(iout,1650) f1,f2,f3,f4,f5,f6,f11,f22,f33,f44,f55,f66,f12,f23,f13,ft1,ft2
311 ENDIF
312 pm(50)=cc
313 pm(51)=eps0
314 pm(52)=icc
315 IF(eps0==zero) THEN
316 CALL ancmsg(msgid=298,
317 . msgtype=msgerror,
318 . anmode=aninfo,
319 . i1=12,
320 . i2=mat_id,
321 . c1=titr)
322 ENDIF
323 pm(53)=f1
324 pm(54)=f2
325 pm(55)=f3
326 pm(56)=f4
327 pm(57)=f5
328 pm(58)=f6
329 pm(59)=f11
330 pm(60)=f22
331 pm(61)=f33
332 pm(62)=f44
333 pm(63)=f55
334 pm(64)=f66
335 pm(65)=f12
336 pm(66)= f23
337 pm(67)= f13
338 pm(73)=c11
339 pm(74)=c22
340 pm(75)=c33
341 pm(76)=c12
342 pm(77)=c23
343 pm(78)=c13
344 pm(79)=delta
345 pm(81)= sigt1
346 pm(82)= sigt2
347 pm(83)= sigt3
348 pm(84)= epsft
349 pm(85)= epsfc
350CC Formulation for solid elements time step computation.
351 ipm(252)=1
352 dmin = min(d11*d22-d12**2,d22*d33-d23**2,d11*d33-d13**2)
353 pm(105) =dmin/c1**2
354C-----------------------------------------
355c
356C---- Definition des variables internes (stockage elementaire)
357c
358 mtag%G_PLA = 1
359 mtag%L_PLA = 1
360 mtag%L_SIGF = 1
361 mtag%L_EPSF = 1
362 mtag%L_DAM = 5
363 mtag%L_EPE = 6 ! strain in crack directions
364 mtag%G_TSAIWU = 1
365 mtag%L_TSAIWU = 1
366
367!-------------------------------------------------------------
368 matparam%IEOS = 18 ! linear by default
369
370 ! MATPARAM Keywords
371
372 CALL init_mat_keyword(matparam,"HOOK")
373 CALL init_mat_keyword(matparam,"ORTHOTROPIC")
374
375 ! Properties compatibility
376 CALL init_mat_keyword(matparam,"SOLID_ORTHOTROPIC")
377 CALL init_mat_keyword(matparam,"SPH")
378
379 ! Material compatibility with /EOS option
380 CALL init_mat_keyword(matparam,"EOS")
381c-----------
382 CALL init_mat_keyword(matparam,"ELASTO_PLASTIC")
383 CALL init_mat_keyword(matparam,"COMPRESSIBLE")
384c----------------------------------------
385 IF(.NOT.is_encrypted)THEN
386 WRITE(iout,'(A)')' COMPOSITE CONSTITUTIVE LAW'
387 WRITE(iout,'( 1P3G20.13 )') pm(40),pm(41),pm(42)
388 WRITE(iout,'(20X,1P2G20.13 )') pm(43),pm(44)
389 WRITE(iout,'(40X, 1PG20.13/)') pm(45)
390 ENDIF
391C--------------------------------
392 RETURN
393C
394 1000 FORMAT(
395 & 5x,' ORTHOTROPIC MATERIAL WITH FIBERS ',/,
396 & 5x,' --------------------------------- ',//)
397 1001 FORMAT(/
398 & 5x,a,/,
399 & 5x,'MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
400 & 5x,'MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
401 1002 FORMAT(
402 & 5x,'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/,
403 & 5x,'REFERENCE DENSITY . . . . . . . . . . .=',1pg20.13)
404 1100 FORMAT(
405 & 5x,'YOUNG MODULUS E11 . . . . . . . . . . .=',1pg20.13/,
406 & 5x,'YOUNG MODULUS E22 . . . . . . . . . . .=',1pg20.13/,
407 & 5x,'YOUNG MODULUS E33 . . . . . . . . . . .=',1pg20.13//)
408 1200 FORMAT(
409 & 5x,'POISSON RATIO N12 . . . . . . . . . . .=',1pg20.13/,
410 & 5x,'POISSON RATIO N23 . . . . . . . . . . .=',1pg20.13/,
411 & 5x,'POISSON RATIO N31 . . . . . . . . . . .=',1pg20.13//)
412 1300 FORMAT(
413 & 5x,'SHEAR MODULUS G12 . . . . . . . . . .=',1pg20.13/,
414 & 5x,'SHEAR MODULUS G23 . . . . . . . . . .=',1pg20.13/,
415 & 5x,'SHEAR MODULUS G31 . . . . . . . . . .=',1pg20.13//)
416 1400 FORMAT(
417 & 5x,'MATRIX TENSILE FAILURE STRESS DIR-1 . .=',1pg20.13/,
418 & 5x,'MATRIX TENSILE FAILURE STRESS DIR-2 . .=',1pg20.13/,
419 & 5x,'MATRIX TENSILE FAILURE STRESS DIR-3 . .=',1pg20.13/,
420 & 5x,'DAMAGE PARAMETER . . . . . . . . . . . =',1pg20.13//)
421 1500 FORMAT(
422 & 5x,'COMPOSITE YIELD STRESS (A) . . . . . .=',1pg20.13/,
423 & 5x,'COMPOSITE HARDENING PARAMETER (B). . .=',1pg20.13/,
424 & 5x,'COMPOSITE HARDENING PARAMETER (N). . .=',1pg20.13/,
425 & 5x,'COMPOSITE MAXIMUM STRESS. . . . . . . .=',1pg20.13//)
426 1510 FORMAT(
427 & 5x,'COMPOSITE HARDENING PARAMETER (B). . .=',1pg20.13/,
428 & 5x,'COMPOSITE HARDENING PARAMETER (N). . .=',1pg20.13/,
429 & 5x,'COMPOSITE MAXIMUM YIELD FUNCTION FMAX .=',1pg20.13/,
430 & 5x,'REFERENCE PLASTIC WORK WPLAREF .=',1pg20.13//)
431 1550 FORMAT(
432 & 5x,'COMPOSITE YIELD IN TRACTION (1) . . . .=',1pg20.13/,
433 & 5x,'COMPOSITE YIELD IN TRACTION (2-3) . . =',1pg20.13/,
434 & 5x,'COMPOSITE YIELD IN COMPRESSION (1) . =',1pg20.13/,
435 & 5x,'COMPOSITE YIELD IN COMPRESSION (2-3). =',1pg20.13//)
436 1560 FORMAT(
437 & 5x,'COMPOSITE YIELD IN SHEAR (+12) . . . . =',1pg20.13/,
438 & 5x,'COMPOSITE YIELD IN SHEAR (-12) . . . . =',1pg20.13/,
439 & 5x,'COMPOSITE YIELD IN SHEAR (+23) . . . . =',1pg20.13/,
440 & 5x,'COMPOSITE YIELD IN SHEAR (-23) . . . . =',1pg20.13//)
441 1600 FORMAT(
442 & 5x,'FIBER VOLUME FRACTION . . . . . . . . .=',1pg20.13/,
443 & 5x,'FIBER MODULUS . . . . . . . . . . . . .=',1pg20.13/,
444 & 5x,'FIBER TENSILE FAILURE STRAIN. . . . . .=',1pg20.13/,
445 & 5x,'FIBER COMPRESSIVE FAILURE STRAIN. . . .=',1pg20.13//)
446 1610 FORMAT(
447 & 5x,'FIBER VOLUME FRACTION . . . . . . . . .=',1pg20.13/,
448 & 5x,'FIBER MODULUS . . . . . . . . . . . . .=',1pg20.13//)
449 1620 FORMAT(
450 & 5x,'STRAIN RATE COEFFICIENT CC. . . . . . .=',1pg20.13/,
451 & 5x,'REFERENCE STRAIN RATE . . . . . . . . .=',1pg20.13/,
452 & 5x,'FLAG FOR STRAIN RATE ON F-MAX Wp-MAX. .=',i10//)
453 1650 FORMAT(
454 & 5x,' YIELD FUNCTION CONSTANTS ,'/,
455 & 5x,' ------------------------ ,'//,
456 & 5x,'F1 , F2 , F3 . . . . . . . . . . . . .=',3e12.4/,
457 & 5x,'F4 , F5 , F6. . . . . . . . . . . . . .=',3e12.4/,
458 & 5x,'F11, F22, F33 . . . . . . . . . . . . =',3e12.4/,
459 & 5x,'F44, F55, F66 . . . . . . . . . . . . . =',3e12.4/,
460 & 5x,'F12, F23, F13 . . . . . . . . . . . . ..=',3e12.4/,
461 & 5x,'FT1, FT2. . . . . . . . . . . . . . . .=',2e12.4//)
462 RETURN
463 END
464
465
466
#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_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine hm_read_mat12(lsubmodel, mtag, unitab, ipm, pm, mat_id, titr, israte, matparam)
subroutine init_mat_keyword(matparam, keyword)
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
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)
Definition message.F:889