29 SUBROUTINE dmasanif(X ,D ,ELBUF_TAB,GEO ,IPARG,
30 . IXT ,IXP ,IXR ,MAS ,PM ,
36 use element_mod ,
only : nixt,nixp,nixr
40#include "implicit_f.inc"
52 . mas(*) ,pm(npropm,*),geo(npropg,*),x(3,*),
54 INTEGER IPARG(NPARG,*),
55 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),EL2FA(*),NBF
57 TYPE (ELBUF_STRUCT_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
63 . off, p, vonm2, vonm, s1, s2, s12, s3,
VALUE,a0,al0,
64 . rho0,xx1,xx2,xx3,yy1,yy2,yy3,zz1,zz2,zz3
65 INTEGER I, NG, NEL, NFT, ITY, LFT, NPT, , ISC,
66 . IADD, , J, LLT, MLW,
67 . istrain,nn, k1, k2,jturb,mt,
68 . n1,n2,n3,n4,nn1,nn2,nn3,nn4,nn5,nn6,nn7,nn8,
69 . offset,nel_old,ity_old,nft_fa,n_fa,nuvar
72 TYPE(g_bufel_) ,
POINTER :: GBUF
95 gbuf => elbuf_tab(ng)%GBUF
103 rho0 = pm(1,ixt(1,n))
107 xx1 = x(1,n2)-d(1,n2)-x(1,n1)+d(1,n1)
108 yy1 = x(2,n2)-d(2,n2)-x(2,n1)+d(2,n1)
109 zz1 = x(3,n2)-d(3,n2)-x(3,n1)+d(3,n1)
110 al0 = half*sqrt(xx1*xx1 + yy1*yy1 + zz1*zz1)
111 mas(el2fa(nn6+n_fa)) = rho0*al0*a0
120 rho0 = pm(1,ixp(1,n))
124 xx1 = x(1,n2)-d(1,n2)-x(1,n1)+d(1,n1)
125 yy1 = x(2,n2)-d(2,n2)-x
126 zz1 = x(3,n2)-d(3,n2)-x(3,n1)+d(3,n1)
127 al0 = half*sqrt(xx1*xx1 + yy1*yy1 + zz1*zz1)
128 mas(el2fa(nn7+n_fa)) = rho0*al0*a0
138 mas(el2fa(nn8+n_fa)) = half*geo(1,ixr(1,n))
139 mas(el2fa(nn8+n_fa)+1) = half*geo(1,ixr(1,n))
144 nuvar = nint(geo(25,ixr(1,1+nft)))
162 mas(el2fa(nn8+n_fa)) = gbuf%MASS(i)