36 SUBROUTINE s4alesfem(IPARG,IXS,X,ELBUF_TAB,SFEM_NODVAR, S_SFEM_NODVAR,PM,
46#include "implicit_f.inc"
57#include "vect01_c.inc"
61 INTEGER,
INTENT(IN) :: S_SFEM_NODVAR
62 INTEGER IXS(NIXS,*),IPARG(NPARG,*),IAD_ELEM(2,*),FR_ELEM(*)
63 my_real x(*),sfem_nodvar(s_sfem_nodvar),pm(npropm,*)
64 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
68 INTEGER NG, I, J, I1, I2, I3, I4, K, LENR,NEL
69 INTEGER NC1(MVSIZ),NC2(MVSIZ),NC3(MVSIZ),NC4(MVSIZ)
73 DOUBLE PRECISION VARNOD6(6,2*NUMNOD), MASS6(6,MVSIZ)
75 TYPE(g_bufel_) ,
POINTER :: GBUF
77 sfem_nodvar(1:2*numnod) = zero
78 varnod6(1:6,1:2*numnod) = zero
80 mass6(1:6,1:mvsiz) = zero
87 IF(iparg(8, ng)==1) cycle
88 IF(iparg(28,ng)/=4) cycle
90 2 mtn ,llt ,nft ,iad ,ity ,
91 3 npt ,jale ,ismstr ,jeul ,jtur ,
92 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
95 7 icsen ,isorth ,isorthg ,ifailure,jsms )
112 gbuf => elbuf_tab(ng)%GBUF
115 1 varnod6, x, nc1, nc2,
116 2 nc3, nc4, gbuf%OFF, gbuf%SMSTR,
119 mass(i)=gbuf%RHO(i)/pm(1,mat(i))
130 varnod6(k,i1) = varnod6(k,i1) + mass6(k,i)
131 varnod6(k,i2) = varnod6(k,i2) + mass6(k,i)
132 varnod6(k,i3) = varnod6(k,i3) + mass6(k,i)
133 varnod6(k,i4) = varnod6(k,i4) + mass6(k,i)
142 lenr = 2*(iad_elem(1,nspmd+1)-iad_elem(1,1))
143 CALL spmd_exch_vol(varnod6(1,1),varnod6(1,numnod+1),iad_elem,
153 sfem_nodvar(i) = sfem_nodvar(i) + varnod6(k,i)
155 sfem_nodvar(i+numnod) = sfem_nodvar(i+numnod) + varnod6(k,i+numnod)
159 IF(sfem_nodvar(j) /= 0)
THEN
160 sfem_nodvar(i)=sfem_nodvar(i)/sfem_nodvar(j)
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)