40#include "implicit_f.inc"
55 INTEGER,
INTENT(IN) :: , IPARG(NPARG, *)
56 TYPE(multi_fvm_struct),
INTENT(INOUT) :: MULTI_FVM
57 TYPE(),
TARGET,
DIMENSION(NGROUP),
INTENT(INOUT) :: ELBUF_TAB
61 INTEGER :: NBMAT, IMAT, II, I, NG, MATLAW, NEL, NFT
62 my_real :: vol, cumul_alpha(mvsiz)
63 TYPE(g_bufel_),
POINTER :: GBUF
64 TYPE(l_bufel_),
POINTER :: LBUF
66 nbmat = multi_fvm%NBMAT
67 DO ng = itask + 1, ngroup, nthread
69 IF (matlaw == 151)
THEN
72 gbuf => elbuf_tab(ng)%GBUF
76 gbuf%RHO(ii) = multi_fvm%RHO(i)
78 gbuf%EINT(ii) = multi_fvm%EINT(i)
80 gbuf%MOM(ii + 0 * nel) = multi_fvm%VEL(1, i)
81 gbuf%MOM(ii + 1 * nel) = multi_fvm%VEL(2, i)
82 gbuf%MOM(ii + 2 * nel) = multi_fvm%VEL(3, i)
83 gbuf%SIG(ii + 0 * nel) = -multi_fvm%PRES(i)
84 gbuf%SIG(ii + 1 * nel) = -multi_fvm%PRES(i)
85 gbuf%SIG(ii + 2 * nel) = -multi_fvm%PRES(i)
88 cumul_alpha(1:nel) = zero
93 cumul_alpha(ii) = cumul_alpha(ii) + multi_fvm%PHASE_ALPHA(imat, i)
97 lbuf => elbuf_tab(ng)%BUFLY(imat)%LBUF(1, 1, 1)
102 multi_fvm%PHASE_ALPHA(imat, i) = multi_fvm%PHASE_ALPHA(imat, i) /
105 lbuf%VOL(ii) = multi_fvm%PHASE_ALPHA(imat, i) * vol
107 lbuf%RHO(ii) = multi_fvm%PHASE_RHO(imat, i)
109 lbuf%EINT(ii) = multi_fvm%PHASE_EINT(imat, i)
111 lbuf%SIG(ii + 0 * nel) = -multi_fvm%PHASE_PRES(imat, i)
112 lbuf%SIG(ii + 1 * nel) = -multi_fvm%PHASE_PRES(imat, i)
113 lbuf%SIG(ii + 2 * nel) = -multi_fvm%PHASE_PRES(imat, i)
117 IF (multi_fvm%MUSCL > 0)
THEN
120 multi_fvm%RHO(i) = zero
125 multi_fvm%RHO(i) = multi_fvm%RHO(i) +
126 . multi_fvm%PHASE_ALPHA(imat, i) * multi_fvm%PHASE_RHO(imat, i)