40 SUBROUTINE fvbag0(OUTPUT,MONVOL, VOLMON , X , SENSOR_TAB, V ,
41 . A , NPC , TF , NSENSOR ,
42 . FSAV , IFVMESH , ICONTACT , LGAUGE ,
43 . GAUGE , IGEO , GEO , PM , IPM,
44 . IPARG , IGROUPTG, IGROUPC , ELBUF_TAB , FEXT,
45 . FLAG , H3D_DATA, ITAB ,WEIGHT ,WFEXT, PYTHON)
57 USE output_mod,
only : output_
63 USE python_funct_mod,
only : python_
67#include "implicit_f.inc"
76#include "tabsiz_c.inc"
80 type(output_),
intent(inout) :: output
81 INTEGER,
INTENT(IN) :: NSENSOR
82 INTEGER,
INTENT(IN) :: FLAG
84 INTEGER MONVOL(SMONVOL), NPC(SNPC),IFVMESH,ICONTACT(*), LGAUGE(3,NBGAUGE), IGEO(NPROPGI,NUMGEO)
85 INTEGER IPM(NPROPMI,NUMMAT), IPARG(NPARG,NGROUP)
86 INTEGER IGROUPTG(NUMELTG), IGROUPC(NUMELC)
87 my_real volmon(svolmon), x(3,numnod),v(3,numnod), a(3,numnod),
88 . tf(stf), fsav(nthvki,sfsav/nthvki), gauge(llgauge,nbgauge), geo(npropg,numgeo),
89 . pm(npropm,nummat), fext(3*numnod)
90 TYPE(elbuf_struct_),
DIMENSION(NGROUP) :: ELBUF_TAB
92 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) ,
INTENT(IN) :: SENSOR_TAB
93 INTEGER,
INTENT(IN) :: ITAB(NUMNOD), WEIGHT(NUMNOD)
94 DOUBLE PRECISION,
INTENT(INOUT) :: WFEXT
95 TYPE(python_) :: PYTHON
99 INTEGER N, ITYP, NNFV, NTRFV, NPOLH, IFV, INFO, IDONE
100 INTEGER NJET, IADJET, RADJET, NVENT, IADHOL, RADHOL
101 INTEGER K1, K2, KIBJET, KIBHOL, KIBALE
102 INTEGER KK1, KK2, KRBJET, KRBHOL, KRBALE
103 INTEGER NNS, NTG, NBA, NTGA, NNA, NNI, NTGI, NNT, NTGT
104 INTEGER KI1, KI2, KI3, KI4, KI5
105 INTEGER KR1, KR2, KR3, KR4, , KR6, KR7, KR8, KR9
106 INTEGER KIA1, KIA2, KIA3, KIA4, KIA5, KIA6, KIA7, KIA8
107 INTEGER KRA1, KRA2, KRA3, KRA4, KRA5, KRA6, KRA7, KRA8
162 kibhol=kibjet+libagjet
163 kibale=kibhol+libaghol
167 krbhol=krbjet+lrbagjet
168 krbale=krbhol+lrbaghol
174 IF (ityp == 6.OR.ityp == 8)
THEN
175 ifv = monvol(k1 -1 +45)
177 iequi=monvol(k1-1+15)
178 IF(tt < volmon(kk1-1+49).AND.iequi >= 1)
THEN
180 nskip=mod(ncycle,iequi)
185 IF(nskip >= 1 .AND.
kmesh(ifv) > 1)
GO TO 100
187 idone=monvol(k1-1+57)
188 IF(idone == 1)
GO TO 100
192 iadjet=kibjet+monvol(k1+8)
193 radjet=krbjet+monvol(k1+9)
195 iadhol=kibhol+monvol(k1+11)
196 radhol=krbhol+monvol(k1+12)
204 ki1=kibale+monvol(k1-1+31)
209 kr1=krbale+monvol(k1-1+34)
219 nnfv= monvol(k1-1+46)
220 ntrfv=monvol(k1-1+47)
221 npolh=monvol(k1-1+49)
236 kra1=
min(svolmon, kr9 +nnt)
246 cfl_coef =
fvdata(ifv)%CFL_COEF
248 cfl_coef = dtfac1(52)
250 IF(flag == 1 .AND. nskip < 1)
THEN
251 IF (monvol(k1+74-1) >= 0)
THEN
253 1 nns ,ntg ,monvol(ki1) , monvol(ki2) ,njet ,
254 2 monvol(iadjet) ,volmon(radjet) ,nvent,monvol(iadhol), volmon(radhol) ,
255 3 volmon(kr1) ,volmon(kr2) ,volmon(kr3) , volmon(kr4) ,volmon(kr9) ,
256 4 x ,v ,a , nsensor ,sensor_tab ,
257 5 fsav(1,n) ,npc ,tf , monvol(k1) ,volmon(kk1) ,
262 a
fvdata(ifv)%IFVPADR ,info ,nnfv , ntrfv , ifv ,
265 d monvol(ki3) ,volmon(kr5) ,icontact ,
fvdata(ifv)%IDPOLH ,
266 e volmon(kr6) ,volmon(kr7) ,monvol(kia4) , monvol(kia5) , monvol(kia6) ,
267 f volmon(kra1) ,volmon(kra2) ,volmon(kra3) , volmon(kra4) , monvol(kia7) ,
268 g nna ,ntga ,
fvdata(ifv)%IBPOLH ,
fvdata(ifv)%DTPOLH , nnt ,
269 h ntgt ,volmon(kra5) ,volmon(kra6) , monvol(kia8) , volmon(kra7) ,
270 i lgauge ,gauge ,ityp , igeo,volmon(kra8) ,
271 j geo ,pm ,ipm ,
fvdata(ifv)%TPOLH , volmon(kr8) ,
273 l monvol(ki4) ,iparg ,monvol(ki5) ,
274 m igrouptg ,igroupc ,elbuf_tab , fext , cfl_coef ,
275 n
fvdata(ifv)%PDISP_OLD ,
fvdata(ifv)%PDISP ,h3d_data , itab , wfext, python)
278 1 nns ,ntg, monvol(ki2) ,njet ,
fvdata(ifv)%NPOLY ,
fvdata(ifv)%LENH ,nba,
279 2 monvol(iadjet) ,volmon(radjet) ,nvent,monvol(iadhol), volmon(radhol),
280 3 volmon(kr1) ,volmon(kr2) ,volmon(kr3) , volmon(kr4) , volmon(kr9) ,
281 4 x ,v ,a , nsensor , sensor_tab ,
282 5 fsav(1,n) ,npc ,tf , monvol(k1) , volmon(kk1) ,
287 a
fvdata(ifv)%IFVPADR ,info ,nnfv , ntrfv , ifv ,
290 d monvol(ki3) ,volmon(kr5) ,icontact ,
fvdata(ifv)%IDPOLH ,
291 e volmon(kr6) ,volmon(kr7) ,monvol(kia4) , monvol(kia5),monvol(kia6),
292 f volmon(kra1) ,volmon(kra2) ,volmon(kra3) , volmon(kra4),monvol(kia7),
293 g nna ,ntga ,
fvdata(ifv)%IBPOLH ,
fvdata(ifv)%DTPOLH , nnt,
294 h ntgt ,volmon(kra5) ,volmon(kra6) , monvol(kia8),volmon(kra7),
295 i ityp ,igeo,volmon(kra8) ,
298 l monvol(ki4) ,iparg ,monvol(ki5) ,
299 m igrouptg ,igroupc ,elbuf_tab, cfl_coef ,
300 n
fvdata(ifv)%PDISP_OLD ,
fvdata(ifv)%PDISP ,wfext, python)
302 ELSEIF (flag == 2)
THEN
303 CALL fvbag2(ifv , ityp , nna , nvent , njet ,
304 . monvol(k1), monvol(iadhol), volmon(radhol),
305 . x , volmon(kk1) , volmon(kra5) , monvol(kia8), volmon(radjet),
306 . a , lgauge , gauge , nnt , fext ,
307 . nskip , h3d_data , weight)
subroutine fv_up_switch(output, nn, nel, elem, njet, npoly, lenh, nba, ibagjet, rbagjet, nvent, ibaghol, rbaghol, p, rho, tk, u, sspk, x, v, a, nsensor, sensor_tab, fsav, npc, tf, ivolu, rvolu, mpolh, qpolh, epolh, ppolh, rpolh, gpolh, npolh, ifvnod, rfvnod, ifvtri, ifvpoly, ifvtadr, ifvpolh, ifvpadr, info, nns, nntr, ifv, npolha, dlh, cpapolh, cpbpolh, cpcpolh, rmwpolh, itagel, elsini, icontact, idpolh, elfmass, elfvel, ibufa, elema, tagela, pa, rhoa, tka, ua, brna, nna, ntga, ibpolh, dtpolh, nnt, nelt, xxxa, vvva, ncona, porosity, ityp, igeo, sspka, geo, pm, ipm, tpolh, elfehpy, cpdpolh, cpepolh, cpfpolh, eltg, iparg, mattg, igrouptg, igroupc, elbuf_tab, cfl_coef, pdisp_old, pdisp, wfext, python)
subroutine fvbag1(output, nn, nel, ibuf, elem, njet, ibagjet, rbagjet, nvent, ibaghol, rbaghol, p, rho, tk, u, sspk, x, v, a, nsensor, sensor_tab, fsav, npc, tf, ivolu, rvolu, mpolh, qpolh, epolh, centroid_polh, ppolh, rpolh, gpolh, ssppolh, npolh, ifvnod, rfvnod, ifvtri, ifvpoly, ifvtadr, ifvpolh, ifvpadr, info, nns, nntr, ifv, npolha, dlh, cpapolh, cpbpolh, cpcpolh, rmwpolh, itagel, elsini, icontact, idpolh, elfmass, elfvel, ibufa, elema, tagela, pa, rhoa, tka, ua, brna, nna, ntga, ibpolh, dtpolh, nnt, nelt, xxxa, vvva, ncona, porosity, lgauge, gauge, ityp, igeo, sspka, geo, pm, ipm, tpolh, elfehpy, cpdpolh, cpepolh, cpfpolh, eltg, iparg, mattg, igrouptg, igroupc, elbuf_tab, fext, cfl_coef, pdisp_old, pdisp, h3d_data, itab, wfext, python)