OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_mat51_iform11.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_mat51_iform11 ../starter/source/materials/mat/mat051/hm_read_mat51_iform11.F
25!||--- called by ------------------------------------------------------
26!|| hm_read_mat51 ../starter/source/materials/mat/mat051/hm_read_mat51.F
27!||--- calls -----------------------------------------------------
28!|| hm_get_float_array_index ../starter/source/devtools/hm_reader/hm_get_float_array_index.F
29!|| hm_get_floatv ../starter/source/devtools/hm_reader/hm_get_floatv.F
30!|| hm_get_int_array_index ../starter/source/devtools/hm_reader/hm_get_int_array_index.f
31!||--- uses -----------------------------------------------------
32!|| submodel_mod ../starter/share/modules1/submodel_mod.F
33!||====================================================================
35 . AV, RHO0_, E0, PM, C0 ,
36 . C1, C2, C3, C4, C5 ,
37 . IPLA, GG, Y, BB, N ,
38 . CC, EPDR, CM, T0, TMELT,
39 . THETL, SPH, PLAMX, SIGMX, XKA,
40 . XKB, NU, A0, A1, A2 ,
41 . AMX,
42 . B1 , B2 , R1 , R2 ,W,
43 . VDET , PCJ , IBFRAC , PEXT ,VIS,
44 . VISV ,LSUBMODEL,UNITAB)
45C-----------------------------------------------
46C M o d u l e s
47C-----------------------------------------------
48 USE submodel_mod
49 USE unitab_mod
50C-----------------------------------------------
51C I m p l i c i t T y p e s
52C-----------------------------------------------
53#include "implicit_f.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
58 INTEGER IPLA(4)
60 . av(4), rho0_(4), e0(4), pm(4), c0(4) ,
61 . c1(4), c2(4), c3(4), c4(4), c5(4) ,
62 . gg(4), y(4), bb(4), n(4) ,
63 . cc(4), epdr(4), cm(4), t0(4), tmelt(4),
64 . thetl(4),sph(4) , plamx(4), sigmx(4), xka(4) ,
65 . xkb(4), nu(4), a0(4), a1(4), a2(4) ,
66 . amx(4),
67 . b1,b2,r1,r2,w,vdet,pcj,
68 . pext,vis,visv
69 INTEGER :: IBFRAC
70 my_real BID
71 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(NSUBMOD)
72C-----------------------------------------------
73C L o c a l P a r a m e t e r s
74C-----------------------------------------------
75 LOGICAL :: IS_AVAILABLE
76 INTEGER :: I
77C-----------------------------------------------
78C P r e c o n d i t i o n
79C-----------------------------------------------
80 !PRECONDITION
81C-----------------------------------------------
82C S o u r c e L i n e s
83C-----------------------------------------------
84 CALL hm_get_floatv('PEXT' ,pext ,is_available, lsubmodel, unitab)
85 CALL hm_get_floatv('MAT_NU' ,vis ,is_available, lsubmodel, unitab)
86 CALL hm_get_floatv('MAT_Lamda' ,visv ,is_available, lsubmodel, unitab)
87
88 i=1
89 IF(ipla(i)==0)THEN
90 CALL hm_get_float_array_index('MAT_ETAN' ,av(i) ,i ,is_available, lsubmodel, unitab)
91 CALL hm_get_float_array_index('MAT_BETA' ,rho0_(i) ,i ,is_available, lsubmodel, unitab)
92 CALL hm_get_float_array_index('MAT_E0' ,e0(i) ,i ,is_available, lsubmodel, unitab)
93 CALL hm_get_float_array_index('MAT_PC' ,pm(i) ,i ,is_available, lsubmodel, unitab)
94 CALL hm_get_float_array_index('MAT_C0' ,c0(i) ,i ,is_available, lsubmodel, unitab)
95 CALL hm_get_float_array_index('MAT_C1' ,c1(i) ,i ,is_available, lsubmodel, unitab)
96 CALL hm_get_float_array_index('MAT_C2' ,c2(i) ,i ,is_available, lsubmodel, unitab)
97 CALL hm_get_float_array_index('MAT_C3' ,c3(i) ,i ,is_available, lsubmodel, unitab)
98 CALL hm_get_float_array_index('MAT_C4' ,c4(i) ,i ,is_available, lsubmodel, unitab)
99 CALL hm_get_float_array_index('MAT_C5' ,c5(i) ,i ,is_available, lsubmodel, unitab)
100 CALL hm_get_float_array_index('MAT_EPS' ,gg(i) ,i ,is_available, lsubmodel, unitab)
101 CALL hm_get_float_array_index('MAT_M' ,t0(i) ,i ,is_available, lsubmodel, unitab)
102 CALL hm_get_float_array_index('MAT_TMAX' ,tmelt(i) ,i ,is_available, lsubmodel, unitab)
103 CALL hm_get_float_array_index('MAT_BULK' ,thetl(i) ,i ,is_available, lsubmodel, unitab)
104 CALL hm_get_float_array_index('DAMP1' ,sph(i) ,i ,is_available, lsubmodel, unitab)
105 CALL hm_get_float_array_index('MAT_A0' ,plamx(i) ,i ,is_available, lsubmodel, unitab)
106 CALL hm_get_float_array_index('MAT_A1' ,sigmx(i) ,i ,is_available, lsubmodel, unitab)
107 CALL hm_get_float_array_index('MAT_A2' ,xka(i) ,i ,is_available, lsubmodel, unitab)
108 CALL hm_get_float_array_index('MAT_AMAX' ,xkb(i) ,i ,is_available, lsubmodel, unitab)
109 ELSEIF(ipla(i)==1)THEN
110 CALL hm_get_float_array_index('MAT_ETAN' ,av(i) ,i ,is_available, lsubmodel, unitab)
111 CALL hm_get_float_array_index('MAT_BETA' ,rho0_(i) ,i ,is_available, lsubmodel, unitab)
112 CALL hm_get_float_array_index('MAT_E0' ,e0(i) ,i ,is_available, lsubmodel, unitab)
113 CALL hm_get_float_array_index('mat_pc' ,PM(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
114 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c0' ,C0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
115 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c1' ,C1(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
116 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c2' ,C2(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
117 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c3' ,C3(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
118 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c4' ,C4(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
119 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c5' ,C5(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
120 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_eps' ,GG(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
121 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_ea' ,Y(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
122 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_eb' ,BB(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
123 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_ec' ,N(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
124 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_prab' ,CC(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
125 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_prbc' ,EPDR(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
126 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_prca' ,CM(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
127 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_m' ,T0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
128 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_tmax' ,TMELT(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
129 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_bulk' ,THETL(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
130 CALL HM_GET_FLOAT_ARRAY_INDEX('damp1' ,SPH(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
131 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_a0' ,PLAMX(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
132 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_a1' ,SIGMX(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
133 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_a2' ,XKA(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
134 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_amax' ,XKB(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
135 ELSEIF(IPLA(I)==2)THEN
136 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_etan' ,AV(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
137 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_beta' ,RHO0_(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
138 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_e0' ,E0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
139 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_pc' ,PM(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
140 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c0' ,C0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
141 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c1' ,C1(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
142 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c2' ,C2(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
143 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c3' ,C3(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
144 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c4' ,C4(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
145 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_c5' ,C5(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
146 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_eps' ,A0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
147 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_ea' ,A1(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
148 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_eb' ,A2(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
149 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_ec' ,AMX(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
150 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_prab' ,y(i) ,i ,is_available, lsubmodel, unitab)
151 CALL hm_get_float_array_index('MAT_PRBC' ,nu(i) ,i ,is_available, lsubmodel, unitab)
152 CALL hm_get_float_array_index('MAT_M' ,t0(i) ,i ,is_available, lsubmodel, unitab)
153 CALL hm_get_float_array_index('MAT_TMAX' ,tmelt(i) ,i ,is_available, lsubmodel, unitab)
154 CALL hm_get_float_array_index('MAT_BULK' ,thetl(i) ,i ,is_available, lsubmodel, unitab)
155 CALL hm_get_float_array_index('DAMP1' ,sph(i) ,i ,is_available, lsubmodel, unitab)
156 CALL hm_get_float_array_index('MAT_A0' ,plamx(i) ,i ,is_available, lsubmodel, unitab)
157 CALL hm_get_float_array_index('MAT_A1' ,sigmx(i) ,i ,is_available, lsubmodel, unitab)
158 CALL hm_get_float_array_index('MAT_A2' ,xka(i) ,i ,is_available, lsubmodel, unitab)
159 CALL hm_get_float_array_index('MAT_AMAX' ,xkb(i) ,i ,is_available, lsubmodel, unitab)
160 ENDIF
161
162 i=2
163 IF(ipla(i)==0)THEN
164 CALL hm_get_float_array_index('MAT_SIGYC1' ,av(i) ,i ,is_available, lsubmodel, unitab)
165 CALL hm_get_float_array_index('MAT_SIGYC2' ,rho0_(i) ,i ,is_available, lsubmodel, unitab)
166 CALL hm_get_float_array_index('MAT_SIGT12' ,e0(i) ,i ,is_available, lsubmodel, unitab)
167 CALL hm_get_float_array_index('MAT_SIGT23' ,pm(i) ,i ,is_available, lsubmodel, unitab)
168 CALL hm_get_float_array_index('MAT_SIGC12' ,c0(i) ,i ,is_available, lsubmodel, unitab)
169 CALL hm_get_float_array_index('MAT_SIGC23' ,c1(i) ,i ,is_available, lsubmodel, unitab)
170 CALL hm_get_float_array_index('MAT_ALPHA' ,c2(i) ,i ,is_available, lsubmodel, unitab)
171 CALL hm_get_float_array_index('MAT_EFIB' ,c3(i) ,i ,is_available, lsubmodel, unitab)
172 CALL hm_get_float_array_index('MAT_REDFACT' ,c4(i) ,i ,is_available, lsubmodel, unitab)
173 CALL hm_get_float_array_index('MAT_K_UNLOAD',c5(i) ,i ,is_available, lsubmodel, unitab)
174 CALL hm_get_float_array_index('MAT_FtFc' ,gg(i) ,i ,is_available, lsubmodel, unitab)
175 CALL hm_get_float_array_index('MAT_FbFc' ,t0(i) ,i ,is_available, lsubmodel, unitab)
176 CALL hm_get_float_array_index('MAT_F2Fc' ,tmelt(i) ,i ,is_available, lsubmodel, unitab)
177 CALL hm_get_float_array_index('MAT_SoFc' ,thetl(i) ,i ,is_available, lsubmodel, unitab)
178 CALL hm_get_float_array_index('MAT_PPRES' ,sph(i) ,i ,is_available, lsubmodel, unitab)
179 CALL hm_get_float_array_index('MAT_YPRES' ,plamx(i) ,i ,is_available, lsubmodel, unitab)
180 CALL hm_get_float_array_index('MAT_BPMOD' ,sigmx(i) ,i ,is_available, lsubmodel, unitab)
181 CALL hm_get_float_array_index('MAT_DIL_Y' ,xka(i) ,i ,is_available, lsubmodel, unitab)
182 CALL hm_get_float_array_index('MAT_DIL_F' ,xkb(i) ,i ,is_available, lsubmodel, unitab)
183 ELSEIF(ipla(i)==1)THEN
184 CALL hm_get_float_array_index('MAT_SIGYC1' ,av(i) ,i ,is_available, lsubmodel, unitab)
185 CALL hm_get_float_array_index('MAT_SIGYC2' ,rho0_(i) ,i ,is_available, lsubmodel, unitab)
186 CALL hm_get_float_array_index('MAT_SIGT12' ,e0(i) ,i ,is_available, lsubmodel, unitab)
187 CALL hm_get_float_array_index('MAT_SIGT23' ,pm(i) ,i ,is_available, lsubmodel, unitab)
188 CALL hm_get_float_array_index('MAT_SIGC12' ,c0(i) ,i ,is_available, lsubmodel, unitab)
189 CALL hm_get_float_array_index('MAT_SIGC23' ,c1(i) ,i ,is_available, lsubmodel, unitab)
190 CALL hm_get_float_array_index('MAT_ALPHA' ,c2(i) ,i ,is_available, lsubmodel, unitab)
191 CALL hm_get_float_array_index('MAT_EFIB' ,c3(i) ,i ,is_available, lsubmodel, unitab)
192 CALL hm_get_float_array_index('MAT_REDFACT' ,c4(i) ,i ,is_available, lsubmodel, unitab)
193 CALL hm_get_float_array_index('MAT_K_UNLOAD',c5(i) ,i ,is_available, lsubmodel, unitab)
194 CALL hm_get_float_array_index('MAT_FtFc' ,gg(i) ,i ,is_available, lsubmodel, unitab)
195 CALL hm_get_float_array_index('MAT_COMPAC' ,y(i) ,i ,is_available, lsubmodel, unitab)
196 CALL hm_get_float_array_index('MAT_CAP_BEG' ,bb(i) ,i ,is_available, lsubmodel, unitab)
197 CALL hm_get_float_array_index('MAT_CAP_END' ,n(i) ,i ,is_available, lsubmodel, unitab)
198 CALL hm_get_float_array_index('MAT_TPMOD' ,cc(i) ,i ,is_available, lsubmodel, unitab)
199 CALL hm_get_float_array_index('MAT_E2' ,epdr(i) ,i ,is_available, lsubmodel, unitab)
200 CALL hm_get_float_array_index('MAT_G0' ,cm(i) ,i ,is_available, lsubmodel, unitab)
201 CALL hm_get_float_array_index('MAT_FbFc' ,t0(i) ,i ,is_available, lsubmodel, unitab)
202 CALL hm_get_float_array_index('MAT_F2Fc' ,tmelt(i) ,i ,is_available, lsubmodel, unitab)
203 CALL hm_get_float_array_index('MAT_SoFc' ,thetl(i) ,i ,is_available, lsubmodel, unitab)
204 CALL hm_get_float_array_index('MAT_PPRES' ,sph(i) ,i ,is_available, lsubmodel, unitab)
205 CALL hm_get_float_array_index('MAT_YPRES' ,plamx(i) ,i ,is_available, lsubmodel, unitab)
206 CALL hm_get_float_array_index('MAT_BPMOD' ,sigmx(i) ,i ,is_available, lsubmodel, unitab)
207 CALL hm_get_float_array_index('MAT_DIL_Y' ,xka(i) ,i ,is_available, lsubmodel, unitab)
208 CALL hm_get_float_array_index('MAT_DIL_F' ,xkb(i) ,i ,is_available, lsubmodel, unitab)
209 ELSEIF(ipla(i)==2)THEN
210 CALL hm_get_float_array_index('MAT_SIGYC1' ,av(i) ,i ,is_available, lsubmodel, unitab)
211 CALL hm_get_float_array_index('MAT_SIGYC2' ,rho0_(i) ,i ,is_available, lsubmodel, unitab)
212 CALL hm_get_float_array_index('MAT_SIGT12' ,e0(i) ,i ,is_available, lsubmodel, unitab)
213 CALL hm_get_float_array_index('MAT_SIGT23' ,pm(i) ,i ,is_available, lsubmodel, unitab)
214 CALL hm_get_float_array_index('MAT_SIGC12' ,c0(i) ,i ,is_available, lsubmodel, unitab)
215 CALL hm_get_float_array_index('MAT_SIGC23' ,c1(i) ,i ,is_available, lsubmodel, unitab)
216 CALL hm_get_float_array_index('MAT_ALPHA' ,c2(i) ,i ,is_available, lsubmodel, unitab)
217 CALL hm_get_float_array_index('MAT_EFIB' ,c3(i) ,i ,is_available, lsubmodel, unitab)
218 CALL hm_get_float_array_index('MAT_REDFACT' ,c4(i) ,i ,is_available, lsubmodel, unitab)
219 CALL hm_get_float_array_index('MAT_K_UNLOAD',c5(i) ,i ,is_available, lsubmodel, unitab)
220 CALL hm_get_float_array_index('MAT_FtFc' ,a0(i) ,i ,is_available, lsubmodel, unitab)
221 CALL hm_get_float_array_index('MAT_COMPAC' ,a1(i) ,i ,is_available, lsubmodel, unitab)
222 CALL hm_get_float_array_index('MAT_CAP_BEG' ,a2(i) ,i ,is_available, lsubmodel, unitab)
223 CALL hm_get_float_array_index('mat_cap_end' ,AMX(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
224 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_tpmod' ,Y(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
225 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_e2' ,NU(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
226 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_fbfc' ,T0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
227 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_f2fc' ,TMELT(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
228 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_sofc' ,THETL(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
229 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_ppres' ,SPH(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
230 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_ypres' ,PLAMX(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
231 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_bpmod' ,SIGMX(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
232 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_dil_y' ,XKA(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
233 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_dil_f' ,XKB(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
234 ENDIF
235
236 I=3
237 IF(IPLA(I)==0)THEN
238 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_ssig' ,AV(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
239 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_setan' ,RHO0_(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
240 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_pdir1' ,E0(I) ,I ,IS_AVAILABLE, LSUBMODEL, UNITAB)
241 CALL HM_GET_FLOAT_ARRAY_INDEX('mat_pdir2' ,pm(i) ,i ,is_available, lsubmodel, unitab)
242 CALL hm_get_float_array_index('MAT_PDIR3' ,c0(i) ,i ,is_available, lsubmodel, unitab)
243 CALL hm_get_float_array_index('MAT_EPST1' ,c1(i) ,i ,is_available, lsubmodel, unitab)
244 CALL hm_get_float_array_index('MAT_EPSM1' ,c2(i) ,i ,is_available, lsubmodel, unitab)
245 CALL hm_get_float_array_index('MAT_EPST2' ,c3(i) ,i ,is_available, lsubmodel, unitab)
246 CALL hm_get_float_array_index('MAT_EPSM2' ,c4(i) ,i ,is_available, lsubmodel, unitab)
247 CALL hm_get_float_array_index('WPMAX' ,c5(i) ,i ,is_available, lsubmodel, unitab)
248 CALL hm_get_float_array_index('MAT_EPSF1' ,gg(i) ,i ,is_available, lsubmodel, unitab)
249 CALL hm_get_float_array_index('MAT_EPSF2' ,t0(i) ,i ,is_available, lsubmodel, unitab)
250 CALL hm_get_float_array_index('MAT_DAMAGE2' ,tmelt(i) ,i ,is_available, lsubmodel, unitab)
251 CALL hm_get_float_array_index('MAT_P0' ,thetl(i) ,i ,is_available, lsubmodel, unitab)
252 CALL hm_get_float_array_index('MAT_PHI ' ,sph(i) ,i ,is_available, lsubmodel, unitab)
253 CALL hm_get_float_array_index('MAT_GAMA0' ,plamx(i) ,i ,is_available, lsubmodel, unitab)
254 CALL hm_get_float_array_index('MAT_E1' ,sigmx(i) ,i ,is_available, lsubmodel, unitab)
255 CALL hm_get_float_array_index('MAT_ETA1' ,xka(i) ,i ,is_available, lsubmodel, unitab)
256 CALL hm_get_float_array_index('MAT_ETA2' ,xkb(i) ,i ,is_available, lsubmodel, unitab)
257 ELSEIF(ipla(i)==1)THEN
258 CALL hm_get_float_array_index('MAT_SSIG' ,av(i) ,i ,is_available, lsubmodel, unitab)
259 CALL hm_get_float_array_index('MAT_SETAN' ,rho0_(i) ,i ,is_available, lsubmodel, unitab)
260 CALL hm_get_float_array_index('MAT_PDIR1' ,e0(i) ,i ,is_available, lsubmodel, unitab)
261 CALL hm_get_float_array_index('MAT_PDIR2' ,pm(i) ,i ,is_available, lsubmodel, unitab)
262 CALL hm_get_float_array_index('MAT_PDIR3' ,c0(i) ,i ,is_available, lsubmodel, unitab)
263 CALL hm_get_float_array_index('MAT_EPST1' ,c1(i) ,i ,is_available, lsubmodel, unitab)
264 CALL hm_get_float_array_index('MAT_EPSM1' ,c2(i) ,i ,is_available, lsubmodel, unitab)
265 CALL hm_get_float_array_index('MAT_EPST2' ,c3(i) ,i ,is_available, lsubmodel, unitab)
266 CALL hm_get_float_array_index('MAT_EPSM2' ,c4(i) ,i ,is_available, lsubmodel, unitab)
267 CALL hm_get_float_array_index('WPMAX' ,c5(i) ,i ,is_available, lsubmodel, unitab)
268 CALL hm_get_float_array_index('MAT_EPSF1' ,gg(i) ,i ,is_available, lsubmodel, unitab)
269 CALL hm_get_float_array_index('MAT_GI' ,y(i) ,i ,is_available, lsubmodel, unitab)
270 CALL hm_get_float_array_index('MAT_DECAY' ,bb(i) ,i ,is_available, lsubmodel, unitab)
271 CALL hm_get_float_array_index('MAT_CO1' ,n(i) ,i ,is_available, lsubmodel, unitab)
272 CALL hm_get_float_array_index('MAT_CO2' ,cc(i) ,i ,is_available, lsubmodel, unitab)
273 CALL hm_get_float_array_index('MAT_CO3' ,epdr(i) ,i ,is_available, lsubmodel, unitab)
274 CALL hm_get_float_array_index('MAT_NUt' ,cm(i) ,i ,is_available, lsubmodel, unitab)
275 CALL hm_get_float_array_index('MAT_EPSF2' ,t0(i) ,i ,is_available, lsubmodel, unitab)
276 CALL hm_get_float_array_index('MAT_DAMAGE2' ,tmelt(i) ,i ,is_available, lsubmodel, unitab)
277 CALL hm_get_float_array_index('MAT_P0' ,thetl(i) ,i ,is_available, lsubmodel, unitab)
278 CALL hm_get_float_array_index('MAT_PHI ' ,sph(i) ,i ,is_available, lsubmodel, unitab)
279 CALL hm_get_float_array_index('MAT_GAMA0' ,plamx(i) ,i ,is_available, lsubmodel, unitab)
280 CALL hm_get_float_array_index('MAT_E1' ,sigmx(i) ,i ,is_available, lsubmodel, unitab)
281 CALL hm_get_float_array_index('MAT_ETA1' ,xka(i) ,i ,is_available, lsubmodel, unitab)
282 CALL hm_get_float_array_index('MAT_ETA2' ,xkb(i) ,i ,is_available, lsubmodel, unitab)
283 ELSEIF(ipla(i)==2)THEN
284 CALL hm_get_float_array_index('MAT_SSIG' ,av(i) ,i ,is_available, lsubmodel, unitab)
285 CALL hm_get_float_array_index('MAT_SETAN' ,rho0_(i) ,i ,is_available, lsubmodel, unitab)
286 CALL hm_get_float_array_index('MAT_PDIR1' ,e0(i) ,i ,is_available, lsubmodel, unitab)
287 CALL hm_get_float_array_index('MAT_PDIR2' ,pm(i) ,i ,is_available, lsubmodel, unitab)
288 CALL hm_get_float_array_index('MAT_PDIR3' ,c0(i) ,i ,is_available, lsubmodel, unitab)
289 CALL hm_get_float_array_index('MAT_EPST1' ,c1(i) ,i ,is_available, lsubmodel, unitab)
290 CALL hm_get_float_array_index('MAT_EPSM1' ,c2(i) ,i ,is_available, lsubmodel, unitab)
291 CALL hm_get_float_array_index('MAT_EPST2' ,c3(i) ,i ,is_available, lsubmodel, unitab)
292 CALL hm_get_float_array_index('MAT_EPSM2' ,c4(i) ,i ,is_available, lsubmodel, unitab)
293 CALL hm_get_float_array_index('WPMAX' ,c5(i) ,i ,is_available, lsubmodel, unitab)
294 CALL hm_get_float_array_index('MAT_EPSF1' ,a0(i) ,i ,is_available, lsubmodel, unitab)
295 CALL hm_get_float_array_index('MAT_GI' ,a1(i) ,i ,is_available, lsubmodel, unitab)
296 CALL hm_get_float_array_index('MAT_DECAY' ,a2(i) ,i ,is_available, lsubmodel, unitab)
297 CALL hm_get_float_array_index('MAT_CO1' ,amx(i) ,i ,is_available, lsubmodel, unitab)
298 CALL hm_get_float_array_index('MAT_CO2' ,y(i) ,i ,is_available, lsubmodel, unitab)
299 CALL hm_get_float_array_index('MAT_CO3' ,nu(i) ,i ,is_available, lsubmodel, unitab)
300 CALL hm_get_float_array_index('MAT_EPSF2' ,t0(i) ,i ,is_available, lsubmodel, unitab)
301 CALL hm_get_float_array_index('MAT_DAMAGE2' ,tmelt(i) ,i ,is_available, lsubmodel, unitab)
302 CALL hm_get_float_array_index('MAT_P0' ,thetl(i) ,i ,is_available, lsubmodel, unitab)
303 CALL hm_get_float_array_index('MAT_PHI ' ,sph(i) ,i ,is_available, lsubmodel, unitab)
304 CALL hm_get_float_array_index('MAT_GAMA0' ,plamx(i) ,i ,is_available, lsubmodel, unitab)
305 CALL hm_get_float_array_index('MAT_E1' ,sigmx(i) ,i ,is_available, lsubmodel, unitab)
306 CALL hm_get_float_array_index('MAT_ETA1' ,xka(i) ,i ,is_available, lsubmodel, unitab)
307 CALL hm_get_float_array_index('MAT_ETA2' ,xkb(i) ,i ,is_available, lsubmodel, unitab)
308 ENDIF
309
310 i=4
311 CALL hm_get_float_array_index('MLAW51_ALPHA' ,av(4) ,i ,is_available, lsubmodel, unitab)
312 CALL hm_get_float_array_index('MLAW51_Rho' ,rho0_(4),i ,is_available, lsubmodel, unitab)
313 CALL hm_get_float_array_index('MLAW51_E0' ,e0(4) ,i ,is_available, lsubmodel, unitab)
314 CALL hm_get_float_array_index('MLAW51_Pmin' ,pm(4) ,i ,is_available, lsubmodel, unitab)
315 CALL hm_get_float_array_index('MLAW51_C0' ,c0(4) ,i ,is_available, lsubmodel, unitab)
316 CALL hm_get_float_array_index('MLAW51_B1' ,b1 ,i ,is_available, lsubmodel, unitab)
317 CALL hm_get_float_array_index('MLAW51_B2' ,b2 ,i ,is_available, lsubmodel, unitab)
318 CALL hm_get_float_array_index('MLAW51_R1' ,r1 ,i ,is_available, lsubmodel, unitab)
319 CALL hm_get_float_array_index('MLAW51_R2' ,r2 ,i ,is_available, lsubmodel, unitab)
320 CALL hm_get_float_array_index('MLAW51_W' ,w ,i ,is_available, lsubmodel, unitab)
321 CALL hm_get_float_array_index('MLAW51_D' ,vdet ,i ,is_available, lsubmodel, unitab)
322 CALL hm_get_float_array_index('MLAW51_PCJ' ,pcj ,i ,is_available, lsubmodel, unitab)
323 CALL hm_get_float_array_index('MLAW51_C14' ,c1(4) ,i ,is_available, lsubmodel, unitab)
324 CALL hm_get_int_array_index ('MAT_IBFRAC' ,ibfrac ,i ,is_available, lsubmodel)
325C-----------------------------------------------
326 RETURN
327 END SUBROUTINE
#define my_real
Definition cppsort.cpp:32
subroutine hm_get_float_array_index(name, rval, index, is_available, lsubmodel, unitab)
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine hm_read_mat51_iform11(av, rho0_, e0, pm, c0, c1, c2, c3, c4, c5, ipla, gg, y, bb, n, cc, epdr, cm, t0, tmelt, thetl, sph, plamx, sigmx, xka, xkb, nu, a0, a1, a2, amx, b1, b2, r1, r2, w, vdet, pcj, ibfrac, pext, vis, visv, lsubmodel, unitab)
program starter
Definition starter.F:39