38 . ELBUF_TAB,SPH_TENSOR, IPARG ,ITENS ,KXSP ,PM ,
39 2 EL2FA ,NBF ,TENS ,EPSDOT ,
40 3 NBPART ,X ,IADG ,IPART ,
41 4 IPARTSP ,ISPH3D ,IPM ,IGEO ,ID_ELEM ,
42 5 IS_WRITTEN_SPH, H3D_PART,KEYWORD)
54#include "implicit_f.inc"
58#include "vect01_c.inc"
70 . sph_tensor(6,*), tens(6,*),epsdot(6,*),pm(npropm,*),x(3,*)
71 INTEGER IPARG(NPARG,*),ITENS,
72 . KXSP(NISP,*),EL2FA(*),IADG(NSPMD,*),IPM(NPROPMI,*),
73 . NBF,NBPART,IPART(LIPART1,*),IPARTSP(*),
74 . isph3d,igeo(npropgi,*),is_written_sph(*),id_elem(*),
76 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
77 CHARACTER(LEN=NCHARLINE100):: KEYWORD
84 . off, p,vonm2,s1,s2,s3,
VALUE,dmgmx,fac,
85 . dir1_1,dir1_2,dir2_1,dir2_2,aa,bb,v1,v2,v3,x21,x32,x34,
86 . x41,y21,y32,y34,y41,z21,z32,z34,z41,suma,vr,vs,x31,y31,
87 . z31,e11,e12,e13,e21,e22,e23,sum,
area
89 . vg(5),vly(5),ve(5),s4,s5,s6,vonm, gama(6),evar_tmp(6),
92 . g11,g22,g33,g12,g21,g23,g32,g13,g31,
93 . l11,l22,l33,l12,l21,l23,l32,l13,l31,
94 . s11,s22,s33,s12,s21,s23,s32,s13,s31
96 . ir,is,it,il,mlw, nuvar,ius,lenf,ptf,ptm,pts,nfail,
97 . n,nn,k,k1,k2,jturb,mt,imid,ialel
98 . nn1,nn2,nn3,nn4,nn5,nn6,nn9,nf,buf,nvarf,
99 . ihbe,nptm,npg, mpt,ipt,iadd,iadr,ipmat,ifailt,
100 . iigeo,iadi,isubstack,ithk,
101 . id_ply,nb_plyoff,nuvarr
103 . PTE(4),PTP(4),PTMAT(4),PTVAR(4),NPT_ALL,IPLY,
104 . ID_ELEM_TMP(MVSIZ),NIX,ISOLNOD,IVISC,NPTG,TSHELL,TSH_ORT,
105 . ISTRAIN,KCVT,IOR_TSH,MT1,ICSIG,PTI,IOK,IPRT,IOK_PART(MVSIZ),
106 . JJ(6),IS_WRITTEN_TENSOR(MVSIZ)
109 TYPE(g_bufel_) ,
POINTER :: GBUF
110 TYPE(L_BUFEL_) ,
POINTER :: LBUF
116 nn4 = nn3 + isph3d*(numsph+maxpjet)
119 gbuf => elbuf_tab(ng)%GBUF
120 istrain = iparg(44,ng)
121 isolnod = iparg(28,ng)
124 2 mlw ,nel ,nft ,iad ,ity ,
126 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
127 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
128 6 irep ,iint ,igtyp ,israt ,isrot ,
129 7 icsen ,isorth ,isorthg ,ifailure,jsms )
141 gbuf => elbuf_tab(ng)%GBUF
142 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
143 iprt=ipartsp(1 + nft)
147 id_elem(nft+i) = kxsp(nisp,nft+i)
148 IF( h3d_part(ipartsp(nft+i)) == 1) iok_part(i) = 1
149 is_written_tensor(i) = 0
162 IF (keyword ==
'TENS/STRESS')
THEN
166 evar(1,i) = gbuf%SIG(jj(1) + i)
167 evar(2,i) = gbuf%SIG(jj(2) + i
168 evar(3,i) = gbuf%SIG(jj(3) + i)
169 evar(4,i) = gbuf%SIG(jj(4) + i
170 evar(5,i) = gbuf%SIG(jj(5) + i)
171 evar(6,i) = gbuf%SIG(jj(6) + i)
172 is_written_tensor(i) = 1
175 ELSEIF (keyword ==
'TENS/STRAIN')
THEN
178 iprt=ipartsp(1 + nft)
180 istrain= iparg(44,ng)
182 nuvarr = ipm(221,mt1)
183 IF (mlw>=28.AND.mlw/=49)
THEN
185 evar(1,i) = lbuf%STRA(jj(1) + i)
186 evar(2,i) = lbuf%STRA(jj(2) + i)
187 evar(3,i) = lbuf%STRA(jj(3) + i)
188 evar(4,i) = lbuf%STRA(jj(4) + i)*half
189 evar(5,i) = lbuf%STRA(jj(5) + i)*half
190 evar(6,i) = lbuf%STRA(jj(6) + i)*half
191 is_written_tensor(i) = 1
193 ELSEIF(mlw == 14)
THEN
195 evar(1,i) = lbuf%EPE(jj(1) + i)
196 evar(2,i) = lbuf%EPE(jj(2) + i)
197 evar(3,i) = lbuf%EPE(jj(3) + i)
201 is_written_tensor(i) = 1
203 ELSEIF(mlw == 24)
THEN
205 evar(1,i) = lbuf%STRA(jj(1) + i)
206 evar(2,i) = lbuf%STRA(jj(2) + i)
207 evar(3,i) = lbuf%STRA(jj(3) + i)
208 evar(4,i) = lbuf%STRA(jj(4) + i)*half
209 evar(5,i) = lbuf%STRA(jj(5) + i)*half
210 evar(6,i) = lbuf%STRA(jj(6) + i)*half
211 is_written_tensor(i) = 1
213 ELSEIF(istrain == 1)
THEN
214 IF(mlw/=14.AND.mlw/=24.AND.mlw<28.OR.
217 evar(1,i) = lbuf%STRA(jj(1) + i)
218 evar(2,i) = lbuf%STRA(jj(2) + i)
219 evar(3,i) = lbuf%STRA(jj(3) + i)
220 evar(4,i) = lbuf%STRA(jj(4) + i)*half
221 evar(5,i) = lbuf%STRA(jj(5) + i)*half
222 evar(6,i) = lbuf%STRA(jj(6) + i)*half
223 is_written_tensor(i) = 1
228 ELSEIF (keyword ==
'TENS/DAMA')
THEN
231 IF (mlw == 24. and. nint(pm(56,mt1)) == 1)
THEN
234 evar(1,i) = lbuf%DGLO(jj(1) + i)
235 evar(2,i) = lbuf%DGLO(jj(2) + i)
236 evar(3,i) = lbuf%DGLO(jj(3) + i)
237 evar(4,i) = lbuf%DGLO(jj(4) + i)
238 evar(5,i) = lbuf%DGLO(jj(5) + i)
239 evar(6,i) = lbuf%DGLO(jj(6) + i)
240 is_written_tensor(i) = 1
244 l11 = lbuf%DGLO(jj(1) + i)
245 l21 = lbuf%DGLO(jj(2) + i)
246 l31 = lbuf%DGLO(jj(3) + i)
247 l12 = lbuf%DGLO(jj(4) + i)
248 l22 = lbuf%DGLO(jj(5) + i)
249 l32 = lbuf%DGLO(jj(6) + i)
250 l13 = l21*l32-l31*l22
251 l23 = l31*l12-l11*l32
252 l33 = l11*l22-l21*l12
253 g11 = gbuf%GAMA(jj(1) + i)
254 g21 = gbuf%GAMA(jj(2) + i)
255 g31 = gbuf%GAMA(jj(3) + i)
256 g12 = gbuf%GAMA(jj(4) + i)
257 g22 = gbuf%GAMA(jj(5) + i)
258 g32 = gbuf%GAMA(jj(6) + i)
259 g13 = g21*g32-g31*g22
260 g23 = g31*g12-g11*g32
261 g33 = g11*g22-g21*g12
262 s11 =l11*g11+l12*g12+l13*g13
263 s12 =l11*g21+l12*g22+l13*g23
264 s13 =l11*g31+l12*g32+l13*g33
265 s21 =l12*g11+l22*g12+l23*g13
268 s31 =l13*g11+l23*g12+l33*g13
270 s33 =l13*g31+l23*g32+l33*g33
271 evar(1,i) = g11*s11+g12*s21+g13*s31
272 evar(2,i) = g21*s12+g22*s22+g23*s32
273 evar(3,i) = g31*s13+g32*s23+g33*s33
274 evar(4,i) = g11*s12+g12*s22+g13*s32
275 evar(5,i) = g21*s13+g22*s23+g23*s33
276 evar(6,i) = g11*s13+g12*s23+g13*s33
277 is_written_tensor(i) = 1
284 . evar,is_written_tensor)