38 SUBROUTINE velvecz22(ELBUF_TAB,IPARG ,IPARI ,IGRNOD , X,
39 . IXS ,IXQ ,ITAB ,IFLG )
55 use element_mod ,
only : nixs,nixq
59#include "implicit_f.inc"
70 INTEGER,
INTENT(IN) :: IPARG(NPARG,*), IPARI(NPARI,*),IXS(NIXS,*),IXQ(NIXQ,*)
71 INTEGER,
INTENT(IN) :: ITAB(NUMNOD),IFLG
72 my_real,
INTENT(INOUT) :: x(3,numnod)
74 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
75 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
79 INTEGER :: NCELL, NBF, NBL, ICELL, NIN, NODE_ID, IB, I
80 INTEGER :: NNODES, II, J, IE, IGR
82 REAL,
DIMENSION(:,:),
ALLOCATABLE :: BUFFER
89 IF(ipari(82,nin)==0)
RETURN
96 ALLOCATE(buffer(3,numnod))
102 nnodes = igrnod(igr)%NENTITY
109 DO WHILE (icell<=ncell)
111 IF (icell>ncell .AND. ncell/=0)icell=9
112 IF(.NOT.lstillnode) cycle
117 print *,
"** Warning inter22 : no more node in group to mark cell center"
120 node_id = igrnod(igr)%ENTITY(ii)
123 buffer(1,node_id) =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Vel(1)
124 buffer(2,node_id) =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Vel(2)
125 buffer(3,node_id) =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Vel(3)
128 buffer(1,node_id) = -
brick_list(nin,ib)%POLY(icell)%FACE(j)%F_FACE(1)
129 buffer(2,node_id) = -
brick_list(nin,ib)%POLY(icell)%FACE(j)%F_FACE(2)
130 buffer(3,node_id) = -
brick_list(nin,ib)%POLY(icell)%FACE(j)%F_FACE(3)
132 buffer(1,node_id) = zero
133 buffer(2,node_id) = zero
134 buffer(3,node_id) = zero
142 node_id = igrnod(igr)%ENTITY(ii)
143 x(1:3,node_id) = zero
subroutine velvecz22(elbuf_tab, iparg, ipari, igrnod, x, ixs, ixq, itab, iflg)