34
35
36
38 USE matparam_def_mod
40 USE matparam_def_mod, ONLY : matparam_struct_
42
43
44
45
46
47
48
49
50
51#include "implicit_f.inc"
52
53
54
55#include "param_c.inc"
56#include "com04_c.inc"
57#include "tabsiz_c.inc"
58
59
60
61 TYPE(MATPARAM_STRUCT_) ,DIMENSION(NUMMAT), INTENT(INOUT) :: MATPARAM_TAB
62 INTEGER,TARGET,INTENT(INOUT) :: IPM(NPROPMI,NUMMAT)
63 my_real,
TARGET,
INTENT(INOUT) :: pm(npropm,nummat),bufmat(sbufmat)
64 TYPE(MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
65 TYPE(MLAW_TAG_) , DIMENSION(NUMMAT) , INTENT(INOUT) :: MLAW_TAG
66
67
68
69 INTEGER II,ILAW,IFORM,IADBUF,MAT_ID,NPAR
70 CHARACTER(LEN=NCHARTITLE) :: TITR
71 my_real,
DIMENSION(:),
POINTER :: uparam
72
73
74
75 DO ii=1,nummat-1
76 titr = matparam_tab(ii)%TITLE
77 ilaw = ipm(2,ii)
78 IF(ilaw/=51)cycle
79 iadbuf = ipm(7,ii)
80 npar = ipm(9,ii)
81 iadbuf =
max(1,iadbuf)
82 uparam => bufmat(iadbuf:iadbuf+npar-1)
83 iform = nint(uparam(31))
84 ipm(62, ii) = iform
85 mat_id = ipm(1,ii)
86 IF(iform == 12)THEN
87 CALL fill_buffer_51( ipm, pm, uparam, bufmat, mat_id, titr, ii, mat_param, mlaw_tag)
88 pm(38,ii) = uparam(42)
89 IF(pm(38,ii)==zero)pm(38,ii)=-1e20
90 ENDIF
91 ENDDO
92
93
94 RETURN
subroutine fill_buffer_51(ipm, pm, uparam, bufmat, user_id, titr, internal_id, mat_param, mlaw_tag)
integer, parameter nchartitle