37 SUBROUTINE h3d_velvecz22(ELBUF_TAB,IPARG,IPARI,IGRNOD,X,IXS,IXQ,ITAB,IFLG,
38 . IOK_PART,IS_WRITTEN_NODE,NODAL_VECTOR)
57#include "implicit_f.inc"
68 INTEGER,
INTENT(IN) :: IPARG(NPARG,*), IPARI(NPARI,*),IXS(NIXS,*),IXQ(NIXQ,*)
69 INTEGER,
INTENT(IN) :: ITAB(NUMNOD),IFLG
70 INTEGER,
INTENT(IN) :: IOK_PART(*),IS_WRITTEN_NODE(*)
71 my_real,
INTENT(INOUT) :: x(3,numnod)
72 my_real,
INTENT(INOUT) :: nodal_vector(3,*)
74 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
75 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
79 INTEGER :: ICELLM,NCELL,NBF,NBL,ICELL,NIN,NODE_ID,IB,NG,I
80 INTEGER :: IAD0, NNODES, II, NFACE, J, K, IE,IGR
82 REAL,
DIMENSION(:,:),
ALLOCATABLE :: BUFFER
90 IF(ipari(82,nin)==0)
RETURN
97 ALLOCATE(buffer(3,numnod))
103 nnodes = igrnod(igr)%NENTITY
110 DO WHILE (icell<=ncell)
112 IF (icell>ncell .AND. ncell/=0)icell=9
113 IF(.NOT.lstillnode) cycle
118 print *,
"** Warning inter22 : no more node in group to mark cell center"
121 node_id = igrnod(igr)%ENTITY(ii)
124 buffer(1,node_id) =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Vel(1)
125 buffer(2,node_id) =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Vel(2)
126 buffer(3,node_id) =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Vel(3)
129 buffer(1,node_id) = -
brick_list(nin,ib)%POLY(icell)%FACE(j)%F_FACE(1)
130 buffer(2,node_id) = -
brick_list(nin,ib)%POLY(icell)%FACE(j)%F_FACE(2)
131 buffer(3,node_id) = -
brick_list(nin,ib)%POLY(icell)%FACE(j)%F_FACE(3)
133 buffer(1,node_id) = zero
134 buffer(2,node_id) = zero
135 buffer(3,node_id) = zero
143 node_id = igrnod(igr)%ENTITY(ii)
144 x(1:3,node_id) = zero
subroutine h3d_velvecz22(elbuf_tab, iparg, ipari, igrnod, x, ixs, ixq, itab, iflg, iok_part, is_written_node, nodal_vector)