40#include "implicit_f.inc"
55 INTEGER,
INTENT(IN) :: ITASK, IPARG(NPARG, *)
56 TYPE(),
INTENT(INOUT) :: MULTI_FVM
57 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP),
INTENT(INOUT) :: ELBUF_TAB
61 INTEGER :: NBMAT, IMAT, II, I, NG, , NEL, NFT
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 multi_fvm%RHO(i) = gbuf%RHO(ii)
78 multi_fvm%EINT(i) = gbuf%EINT(ii)
80 multi_fvm%VEL(1, i) = gbuf%MOM(ii + 0 * nel)
81 multi_fvm%VEL(2, i) = gbuf%MOM(ii + 1 * nel)
82 multi_fvm%VEL(3, i) = gbuf%MOM(ii + 2 * nel)
83 multi_fvm%PRES(i) = - third * (gbuf%SIG(ii + 0 * nel) +
84 . gbuf%SIG(ii + 1 * nel) +
85 . gbuf%SIG(ii + 2 * nel))
89 lbuf => elbuf_tab(ng)%BUFLY(imat)%LBUF(1, 1, 1)
94 multi_fvm%PHASE_ALPHA(imat, i) = lbuf%VOL(ii) / vol
96 multi_fvm%PHASE_RHO(imat, i) = lbuf%RHO(ii)
98 multi_fvm%PHASE_EINT(imat, i) = lbuf%EINT(ii)
100 multi_fvm%PHASE_PRES(imat, i) = - third * (
101 . lbuf%SIG(ii + 0 * nel) +
102 . lbuf%SIG(ii + 1 * nel) +
103 ; lbuf%SIG(ii + 2 * nel))