48 . UNITAB, LUID, IGRSURF,
49 . ITAB, X, PM, GEO, IXC, IXTG,LSUBMODEL)
58 use element_mod ,
only : nixc,nixtg
62#include
"implicit_f.inc"
77 INTEGER,
INTENT(IN) :: LUID
78 INTEGER,
INTENT(IN) :: ITAB(*), IXC(NIXC, *), IXTG(NIXTG, *)
79 my_real,
INTENT(IN) :: x(3, *), geo(npropg, *), pm(npropm, *)
80 TYPE (SURF_),
INTENT(INOUT),
DIMENSION(NSURF) :: IGRSURF
82 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
88 my_real :: fac_m, fac_l, fac_t, fac_c
89 my_real :: scal_t, scal_p, scal_s, scal_a, scal_d
91 my_real :: sa, rot, vol, vmin, veps, amu, sv
92 LOGICAL :: IS_AVAILABLE
97 is_available = .false.
102 CALL hm_get_intv(
'surf_IDex', surfid, is_available, lsubmodel)
107 t_monvoln%IVOLU(4) = 0
110 IF (surfid == igrsurf(ii)%ID)
THEN
111 t_monvoln%IVOLU(4) = ii
112 t_monvoln%EXT_SURFID = ii
117 IF (.NOT. found)
THEN
119 ELSEIF (igrsurf(t_monvoln%IVOLU(4))%ISH4N3N == 0)
THEN
120 CALL ancmsg(msgid = 18, anmode = aninfo, msgtype = msgerror,
121 . i1 = t_monvoln%ID, c1 = t_monvoln%TITLE, i2 = surfid)
129 . igrsurf(t_monvoln%EXT_SURFID),ixc, ixtg, x, 1)
131 CALL monvol_compute_volume(t_monvoln, t_monvoln%TITLE, t_monvoln%IVOLU, igrsurf(t_monvoln%EXT_SURFID),
132 . itab, x, pm, geo, ixc, ixtg,
133 . sa, rot, vol, vmin, veps, sv)
136 . igrsurf(t_monvoln%EXT_SURFID),ixc,ixtg,vol, x, 1)
141 fac_m = unitab%FAC_M(luid)
142 fac_l = unitab%FAC_L(luid)
143 fac_t = unitab%FAC_T(luid)
144 fac_c = fac_m / (fac_l * fac_t * fac_t)
149 scal_s = one * fac_l * fac_l
156 t_monvoln%RVOLU(26) = one / scal_t
157 t_monvoln%RVOLU(27) = one / scal_p
158 t_monvoln%RVOLU(28) = one / scal_s
159 t_monvoln%RVOLU(29) = one / scal_a
160 t_monvoln%RVOLU(30) = one / scal_d
163 t_monvoln%RVOLU(2) = amu
164 t_monvoln%RVOLU(16) = vol + veps
165 t_monvoln%RVOLU(18) = sa
166 t_monvoln%RVOLU(21) = rot
167 t_monvoln%RVOLU(22:24) = zero
172 WRITE(iout, 1005) surfid
173 WRITE(iout, 1003) scal_t, scal_p, scal_s, scal_a, scal_d
174 WRITE(iout, 1002) sa, sv, vol
181 . /5x,
'INITIAL SURFACE OF MONITORED VOLUME . .=',1pg20.13,
182 . /5x,
'SURFACE ERROR(NE.0 FOR NON CLOSED SURF)=',1pg20.13,
183 . /5x,
'INITIAL VOLUME OF MONITORED VOLUME. . .=',1pg20.13)
185 . 5x,
'UNIT SCALE FOR TIME FUNCTIONS =',1pg20.13,
186 . /5x,
'UNIT SCALE FOR PRESSURE FUNCTIONS =',1pg20.13,
187 . /5x,
'UNIT SCALE FOR AREA FUNCTIONS =',1pg20.13,
188 . /5x,
'UNIT SCALE FOR ANGLE FUNCTIONS ='
189 . /5x,
'UNIT SCALE FOR DISTANCE FUNCTIONS =',1pg20.13)
190 1005
FORMAT( 5x,
'EXTERNAL SURFACE ID . . . . . . . . . .=',i10)
subroutine monvol_compute_volume(t_monvoln, title, ivolu, surf, itab, node_coord, pm, geo, ixc, ixtg, sa, rot, vol, vmin, veps, sv)
subroutine read_monvol(t_monvol, t_monvol_metadata, itab, itabm1, ipm, igeo, x, pm, geo, ixc, ixtg, sensors, unitab, npc, npt, pld, igrsurf, igrbric, nom_opt, iframe, xframe, lsubmodel)
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)