30 SUBROUTINE dmasanif(ELBUF_TAB,X ,D ,GEO ,IPARG,
31 . IXT ,IXP ,IXR ,MAS ,PM ,
40#include "implicit_f.inc"
51 my_real :: mas(*) ,pm(npropm,*),geo(npropg,*),x(3,*), d(3,*)
52 INTEGER IPARG(NPARG,*),IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),EL2FA(*),NBF
54 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
59 . off, p, vonm2, vonm, s1, s2, s12, s3,
VALUE,thk0,a0,al0,
60 . rho0,xx1,xx2,xx3,yy1,yy2,yy3,zz1,zz2,zz3
61 INTEGER I, NG, NEL, NFT, IAD, ITY, LFT, NPT, ISS, ISC,
62 . IADD, N, J, LLT, MLW, NB1, NB2, NB3, NB4, NB5,NB6,
63 . nb7, nb8, nb9, nb10, nb11, nb12, nb13, nb14, nb15, nb16,
64 . istrain,nn, k1, k2,jturb,mt,jale, imid, ialel,ipid,
66 . nn1,nn2,nn3,nn4,nn5,nn6,nn7,nn8,nn9,nn10,
67 . offset,nel_old,ity_old,nft_fa,n_fa,
71 TYPE(g_bufel_) ,
POINTER :: GBUF
90 gbuf => elbuf_tab(ng)%GBUF
92 IF (ity /= ity_old)
THEN
97 nel_old = nel_old + nel
104 nft_fa = nel_old - nel
115 rho0 = pm(1,ixt(1,n))
119 xx1 = x(1,n2)-d(1,n2)-x(1,n1)+d(1,n1)
120 yy1 = x(2,n2)-d(2,n2)-x(2,n1)+d(2,n1)
121 zz1 = x(3,n2)-d(3,n2)-x(3,n1)+d(3,n1)
122 al0 = sqrt(xx1*xx1 + yy1*yy1 + zz1*zz1)
123 mas(el2fa(nn6+n_fa)) = rho0*al0*a0
128 ELSEIF (ity == 5)
THEN
132 rho0 = pm(1,ixp(1,n))
136 xx1 = x(1,n2)-d(1,n2)-x(1,n1)+d(1,n1)
137 yy1 = x(2,n2)-d(2,n2)-x(2,n1)+d(2,n1)
138 zz1 = x(3,n2)-d(3,n2)-x(3,n1)+d(3,n1)
139 al0 = sqrt(xx1*xx1 + yy1*yy1 + zz1*zz1)
140 mas(el2fa(nn7+n_fa)) = rho0*al0*a0
145 ELSEIF (ity == 6)
THEN
150 mas(el2fa(nn8+n_fa)) = half*geo(1,ixr(1,n))
151 mas(el2fa(nn8+n_fa)+1) = half*geo(1,ixr(1,n))
153 ELSEIF (mlw == 5)
THEN
174 mas(el2fa(nn8+n_fa)) = gbuf%MASS(i)
181 mas(el2fa(nn8+n_fa)) = geo(1,ixr(1,n))