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 ,
42 . B1 , B2 , R1 , R2 ,W,
43 . VDET , PCJ , IBFRAC , PEXT ,VIS,
44 . VISV ,LSUBMODEL,UNITAB)
53#include "implicit_f.inc"
57 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
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) ,
67 . b1,b2,r1,r2,w,vdet,pcj,
71 TYPE(SUBMODEL_DATA),
INTENT(IN) :: LSUBMODEL(NSUBMOD)
75 LOGICAL :: IS_AVAILABLE
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)
109 ELSEIF(ipla(i)==1)
THEN
135 ELSEIF(ipla(i)==2)
THEN
183 ELSEIF(ipla(i)==1)
THEN
209 ELSEIF(ipla(i)==2)
THEN
257 ELSEIF(ipla(i)==1)
THEN
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)
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)
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)