34 SUBROUTINE dmasanis(ELBUF_TAB,X ,D ,GEO ,IPARG ,
35 2 IXS ,MAS ,PM ,EL2FA ,NBF ,
36 3 IPART ,IPARTSP ,ISPH3D )
42 use element_mod ,
only : nixs
46#include "implicit_f.inc"
50#include "vect01_c.inc"
64 INTEGER IPARG(NPARG,*),IXS(,*),EL2FA(*),NBF,IPART(LIPART1,*),
66 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
73 . off, p, vonm2, vonm, s1, s2, s12, s3,
VALUE,thk0,a0,al0,
74 . rho0,xx1,xx2,xx3,yy1,yy2,yy3,zz1,zz2,zz3
77 . istrain,nn, k1, k2,jturb,mt,imid, ialel,ipid,
79 . nn1,nn2,nn3,nn4,nn5,nn6,nn7,nn8,nn9,nn10,
80 . offset,nel_old,ity_old,nft_fa,n_fa,
82 TYPE(g_bufel_) ,
POINTER :: GBUF
87 nn4 = nn3 + isph3d*(numsph+maxpjet)
95 2 mlw ,nel ,nft ,iad ,ity ,
96 3 npt ,jale ,ismstr ,jeul ,jtur ,
97 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
98 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
99 6 irep ,iint ,igtyp ,israt ,isrot ,
100 7 icsen ,isorth ,isorthg ,ifailure,jsms )
101 isolnod = iparg(28,ng)
103 IF (ity/=ity_old)
THEN
108 nel_old = nel_old + nel
110 DO offset = 0,nel-1,nvsiz
111 nft =iparg(3,ng) + offset
114 llt=
min(nvsiz,nel-offset)
116 nft_fa = nel_old - nel + offset
124 gbuf => elbuf_tab(ng)%GBUF
125 ialel=iparg(7,ng)+iparg(11,ng)
129 IF(el2fa(nn2+n_fa)/=0)
THEN
130 IF (mlw == 0 .or. mlw == 13 .or. igtyp == 0)
THEN
132 ELSEIF(ialel == 0)
THEN
134 VALUE=pm(89,mt)*gbuf%VOL(i)
136 off =
min(gbuf%OFF(i),one)
137 VALUE=gbuf%RHO(i)*gbuf%VOL(i)*off
139 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
140 .
VALUE =
VALUE * gbuf%FILL(i)
141 IF (isolnod == 16)
THEN
143 mas(el2fa(nn2+n_fa)) =
VALUE
144 mas(el2fa(nn2+n_fa)+1) =
VALUE
145 mas(el2fa(nn2+n_fa)+2) =
VALUE
146 mas(el2fa(nn2+n_fa)+3) =
VALUE
148 mas(el2fa(nn2+n_fa)) =
VALUE
153 ELSEIF(isph3d == 1 .AND. ity == 51)
THEN
157 gbuf => elbuf_tab(ng)%GBUF
158 ialel=iparg(7,ng)+iparg(11,ng)
162 IF(el2fa(nn3+n_fa)/=0)
THEN
166 VALUE=pm(89,mt)*gbuf%VOL(i)
168 off =
min(gbuf%OFF(i),one)
169 VALUE=gbuf%RHO(i)*gbuf%VOL(i)*off
171 mas(el2fa(nn3+n_fa)) =
VALUE
subroutine dmasanis(elbuf_tab, x, d, geo, iparg, ixs, mas, pm, el2fa, nbf, ipart, ipartsp, isph3d)
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)