45
46
47
50
51
52
53#include "implicit_f.inc"
54
55
56
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
71 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(NSUBMOD)
72
73
74
75 LOGICAL :: IS_AVAILABLE
76 INTEGER :: I
77
78
79
80
81
82
83
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
109 ELSEIF(ipla(i)==1)THEN
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)
325
326 RETURN
subroutine hm_get_float_array_index(name, rval, index, is_available, lsubmodel, unitab)
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)