62 SUBROUTINE read_monvol(T_MONVOL, T_MONVOL_METADATA, ITAB, ITABM1, IPM, IGEO,
63 . X, PM, GEO, IXC, IXTG, SENSORS,
64 . UNITAB, NPC, NPT, PLD, IGRSURF, IGRBRIC, NOM_OPT,IFRAME, XFRAME,
89 use element_mod ,
only : nixc,nixtg
93#include "implicit_f.inc"
100#include "scr17_c.inc"
104#include "param_c.inc"
107#include "units_c.inc"
111 TYPE(),
DIMENSION(NVOLU + NMONVOL),
INTENT(INOUT) :: T_MONVOL
112 TYPE(MONVOL_METADATA_),
INTENT(INOUT) :: T_MONVOL_METADATA
113 TYPE(UNIT_TYPE_),
INTENT(IN) :: UNITAB
114 my_real,
INTENT(IN) :: x(3, numnod), geo(npropg, numgeo), pm(npropm, nummat), pld(2, *),
116 INTEGER,
INTENT(IN) :: NPC(*), NPT(*), ITAB(*), ITABM1(*),
117 . ixc(nixc, numelc), ixtg(nixtg, numeltg),ipm(npropmi, nummat),
118 . igeo(npropgi, numgeo),iframe(liskn,*)
119 INTEGER,
INTENT(INOUT) :: NOM_OPT(LNOPT1, *)
120 TYPE (SURF_),
INTENT(INOUT),
DIMENSION(NSURF) :: IGRSURF
121 TYPE (GROUP_),
DIMENSION(NGRBRIC),
INTENT(IN) :: IGRBRIC
122 TYPE (SUBMODEL_DATA),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
123 TYPE (SENSORS_) ,
INTENT(IN) :: SENSORS
128 INTEGER :: NVB, ITYPE, ID, UID, LOCAL_UID
129 CHARACTER(len=ncharkey) :: KEY
130 CHARACTER(len=nchartitle) :: TITR
137 t_monvol_metadata%LCA = 0
147 IF (nsubdom > 0)
THEN
148 IF(
tagmon(nvb) == 0)
THEN
155 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,ii),ltitr)
158 DO jj = 1,unitab%NUNITS
159 IF (unitab%UNIT_ID(jj) == uid)
THEN
165 IF (.NOT. found)
THEN
166 CALL ancmsg(msgid = 659, anmode = aninfo, msgtype = msgerror,
167 . i2 = uid, i1 = id, c1 =
'MONITORED VOLUME', c2 =
'MONITORED VOLUME', c3=titr)
169 IF (key(1:4) ==
'AREA')
THEN
171 ELSEIF (key(1:4) ==
'PRES')
THEN
173 ELSEIF (key(1:3) ==
'GAS')
THEN
175 ELSEIF (key(1:7) ==
'AIRBAG1')
THEN
177 ELSEIF (key(1:6) ==
'AIRBAG')
THEN
179 ELSEIF (key(1:6) ==
'COMMU1')
THEN
181 ELSEIF (key(1:5) ==
'COMMU')
THEN
183 ELSEIF (key(1:7) ==
'FVMBAG2')
THEN
185 ELSEIF (key(1:7) ==
'FVMBAG1')
THEN
187 ELSEIF (key(1:6) ==
'FVMBAG')
THEN
189 ELSEIF (key(1:6) ==
'LFLUID')
THEN
193 CALL ancmsg(msgid=7,anmode=aninfo,msgtype=msgerror,
198 t_monvol(ii)%IVOLU(1) = id
199 t_monvol(ii)%IVOLU(27) = -1
200 t_monvol(ii)%TYPE = itype
201 t_monvol(ii)%IVOLU(2) = itype
202 t_monvol(ii)%TITLE = trim(titr)
204 WRITE(iout,1001) id, t_monvol(ii)%TITLE, key(1:len_trim(key
212 . unitab, local_uid, igrsurf,
213 . itab, x, pm, geo, ixc, ixtg,lsubmodel)
219 . unitab, local_uid, npc, igrsurf,
220 . itab, x, pm, geo, ixc, ixtg,lsubmodel)
226 . unitab, local_uid, npc, igrsurf,
227 . itab, x, pm, geo, ixc, ixtg, lsubmodel)
233 . sensors, npt, pld, unitab, local_uid, npc, igrsurf,
234 . itab, x, pm, geo, ixc, ixtg, lsubmodel)
241 . unitab, local_uid, npc, igrsurf, itab, x, pm, geo, ixc, ixtg,
248 . sensors, npt, pld, igrbric,
249 . unitab, npc, igrsurf, itab, x, pm, geo, ixc, ixtg,
257 . unitab, local_uid, npc, igrsurf, itab, x, pm, geo, ixc, ixtg
264 . sensors, iframe, xframe, igrbric,
265 . unitab, local_uid, npc, igrsurf, itab, x, pm, geo, ixc, ixtg,
274 . unitab, local_uid, npc, igrsurf, itab, x, pm, geo, ixc, ixtg,
281 . unitab, npc, igrsurf, itab, x, pm, geo, ixc, ixtg,lsubmodel)
287 . sensors, xframe, igrbric,
288 . unitab, local_uid, npc, igrsurf, itab, x, pm, geo, ixc, ixtg,
293 nvolu = nvolu + nmonvol
297 . //,
' MONITORED VOLUME DEFINITION '/
298 .
' ---------------------------- ')
299 1001
FORMAT(//5x,
'VOLUME NUMBER ',i10,
300 . / 5x,
'------------------------',
302 . / 5x,
'TYPE OF MONITORED VOLUME. . . . . . . .=',a10)
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)