34 SUBROUTINE anim_nodal_p_elems(IFUNC, WA4, IPARG, ELBUF_TAB, IX , NIX , NUMEL, ITAB , NV46, IS_WRITTEN_NODE)
57#include "implicit_f.inc"
63#include "vect01_c.inc"
69 INTEGER,
INTENT(IN) :: IFUNC, IPARG(NPARG,NGROUP),IX(NIX,NUMEL),ITAB(NUMNOD)
70 REAL,
INTENT(INOUT) :: WA4(*)
71 TYPE (ELBUF_STRUCT_),
INTENT(IN),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
72 INTEGER,
INTENT(INOUT) :: IS_WRITTEN_NODE(NUMNOD)
76 INTEGER I, ITYP, NEL, NELv,
78 . IALEL,NNOD,IPOS,IV,NGv,IDLOCv,J1,J2,IBV
80TYPE(g_bufel_) ,
POINTER :: GBUF,GBUFv
81 my_real,
ALLOCATABLE,
DIMENSION(:) :: sum_weight
83 INTEGER,
DIMENSION(:,:),
POINTER :: pAdjBRICK
96 ALLOCATE(sum_weight(numnod))
108 IF(ityp/=1 .AND. ityp/=2)cycle
109 gbuf => elbuf_tab(ng)%GBUF
110 IF(gbuf%G_SIG > 0)
THEN
112 p = gbuf%SIG(nel*(1-1)+i)+gbuf%SIG(nel*(2-1)+i)+gbuf%SIG(nel*(3-1)+i)
117 is_written_node(jj)=1
118 wa4(jj)=wa4(jj)+weight*p
119 sum_weight(jj) = sum_weight(jj) + weight
147 ialel =iparg(7,ng)+iparg(11,ng)
148 gbuf => elbuf_tab(ng)%GBUF
149 IF(ityp/=1 .AND. ityp/=2)cycle
151 IF(gbuf%G_SIG==0)cycle
153 ib = nint(gbuf%TAG22(i))
161 p = gbuf%SIG(nel*(1-1)+i)+gbuf%SIG(nel*(2-1)+i)+gbuf%SIG(nel*(3-1)+i)
166 is_written_node(jj)=1
167 wa4(jj)=wa4(jj)+ p*weight
168 sum_weight(jj) = sum_weight(jj) + weight
175 ib = nint(gbuf%TAG22(i))
180 is_written_node(jj)=1
182 IF(icell == mcell)
THEN
183 p = gbuf%SIG(nel*(1-1)+i)+gbuf%SIG(nel*(2-1)+i)+gbuf%SIG(nel*(3-1)+i)
187 padjbrick =>
brick_list(nin,ib)%Adjacent_Brick(1:6,1:5)
188 ipos =
brick_list(nin,ib)%POLY(icell)%WhereIsMain(1)
191 ngv =
brick_list(nin,ib)%Adjacent_Brick(ipos,2)
192 idlocv =
brick_list(nin,ib)%Adjacent_Brick(ipos,3)
197 ibv =
brick_list(nin,ib )%Adjacent_Brick(j1,4)
199 ngv =
brick_list(nin,ibv)%Adjacent_Brick(j2,2)
200 idlocv =
brick_list(nin,ibv)%Adjacent_Brick(j2,3)
204 p = gbufv%SIG(nelv*(1-1)+idlocv)+gbufv%SIG(nelv*(2-1)+idlocv)+gbufv%SIG(nelv*(3-1)+idlocv)
206 weight = gbufv%VOL(idlocv)
208 wa4(jj)=wa4(jj)+p*weight
209 sum_weight(jj) = sum_weight(jj) + weight
219 IF(sum_weight(i)/=zero)
THEN
220 wa4(i)=wa4(i)/sum_weight(i)
224 DEALLOCATE(sum_weight)
subroutine anim_nodal_p_elems(ifunc, wa4, iparg, elbuf_tab, ix, nix, numel, itab, nv46, is_written_node)