32 SUBROUTINE w_monvol(MONVOL,LENVOLU,NODLOCAL,LEN_IA,MONVOL_L,ITAB,T_MONVOL,PROC)
37#include "implicit_f.inc"
47 INTEGER MONVOL(*), NODLOCAL(*), LENVOLU, LEN_IA
50 INTEGER,
INTENT(in) ::
54 INTEGER , I, J, N, NJ, NJ1, NJ2, NJ3, IADJET, NJET
56 INTEGER,
DIMENSION(NVOLU) :: NTRI,NTRI_LOCAL
57 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TRI_L
59 ishift = nimv*nvolu+licbag
64 ntri(i) = t_monvol(i)%NB_FILL_TRI
65 njet = monvol(nimv*(i-1)+8)
66 iadjet = monvol(nimv*(i-1)+9)
68 nj1 = monvol(ishift+iadjet+(nj-1)*nibjet+5)
69 nj2 = monvol(ishift+iadjet+(nj-1)*nibjet+6)
70 nj3 = monvol(ishift+iadjet+(nj-1)*nibjet+7)
73 IF(nj1/=0)monvol_l(ishift+iadjet+(nj-1)*nibjet+5)=nj1
77 IF(nj2/=0)monvol_l(ishift+iadjet+(nj-1)*nibjet+6)=nj2
81 IF(nj3/=0)monvol_l(ishift+iadjet+(nj-1)*nibjet+7)=nj3
87 len_ia = len_ia + lenvolu
90 ntri_local(i) = t_monvol(i)%NUMBER_TRI_PER_PROC(proc)
93 len_ia = len_ia + nvolu
97 ALLOCATE(tri_l(3 * ntri(i)))
100 IF (nodlocal(t_monvol(i)%FILL_TRI(3 * (j - 1) + 1)) /= 0 .AND.
101 . nodlocal(t_monvol(i)%FILL_TRI(3 * (j - 1) + 2)) /= 0 .AND.
102 . nodlocal(t_monvol(i)%FILL_TRI(3 * (j - 1) + 3)) /= 0)
THEN
104 tri_l(3 * (j - 1) + 1) = nodlocal(t_monvol(i)%FILL_TRI(3 * (j - 1) + 1))
105 tri_l(3 * (j - 1) + 2) = nodlocal(t_monvol(i)%FILL_TRI(3 * (j - 1) + 2))
106 tri_l(3 * (j - 1) + 3) = nodlocal(t_monvol(i)%FILL_TRI(3 * (j - 1) + 3))
109 IF (size_l > 0 )
THEN
111 len_ia = len_ia + size_l
subroutine w_monvol(monvol, lenvolu, nodlocal, len_ia, monvol_l, itab, t_monvol, proc)