33 1 X ,V ,MS ,SPBUF ,ITAB ,
34 2 KXSP ,IXSP ,NOD2SP ,ISPSYM ,XSPSYM ,
35 3 VSPSYM ,IPARG ,WA ,WACOMP )
43#include "implicit_f.inc"
47#include "vect01_c.inc"
54 INTEGER KXSP(NISP,*),IXSP(KVOISPH,*),NOD2SP(*),ITAB(*),
55 . ISPSYM(NSPCOND,*),IPARG(NPARG,*)
57 . x(3,*) ,v(3,*) ,ms(*) ,
58 . spbuf(nspbuf,*) ,xspsym(3,*) ,vspsym(3,*) ,
59 . wa(kwasph,*) ,wacomp(16,*)
63 INTEGER I,N,INOD,JNOD,J,NVOIS,M,
64 . NVOISS,SM,JS,NC,NS,NN
66 . xi,yi,zi,di,rhoi,xj,yj,zj,dj,rhoj,dij,
67 . vxi,vyi,vzi,vxj,vyj,vzj,
69 . drho,wght,wgrad(3),divv,
71 . fact,wun,wvx,wvy,wvz,wrho,
72 . dxx,dxy,dxz,dyx,dyy,dyz,dzx,dzy,dzz,dt1d2
73 . exx,exy,exz,eyx,eyy,eyz,ezx,ezy,ezz,
74 . rotvx,rotvy,rotvz,rotv,
75 . alphai,alphaxi,alphayi,alphazi,
76 . betaxi,betayi,betazi,
77 . betaxxi,betayxi,betazxi,
78 . betaxyi,betayyi,betazyi,
79 . betaxzi,betayzi,betazzi,
80 . betax,wgrdx,wgrdy,wgrdz
103 IF(kxsp(2,n)<=0)
GOTO 10
148 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
153 vj=spbuf(12,m)/
max(em20,rhoj)
161 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
166 vj=xsphr(8,nn)/
max(em20,rhoj)
168 wgrdx=wgrad(1)*alphai+wght*alphaxi
169 . +wgrad(1)*betaxxi+wgrad(2)*betaxyi+wgrad(3)*betaxzi
170 wgrdy=wgrad(2)*alphai+wght*alphayi
171 . +wgrad(1)*betayxi+wgrad(2)*betayyi+wgrad(3)*betayzi
172 wgrdz=wgrad(3)*alphai+wght*alphazi
173 . +wgrad(1)*betazxi+wgrad(2)*betazyi+wgrad(3)*betazzi
205 . -dt1d2*(dxx*dxy+dyx*dyy+dzx*dzy)
207 . -dt1d2*(dyy*dyz+dzy*dzz+dxy*dxz)
209 . -dt1d2*(dzz*dzx+dxz*dxx+dyz*dyx)
211 . -dt1d2*(dxx*dxy+dyx*dyy+dzx*dzy)
213 . -dt1d2*(dyy*dyz+dzy*dzz+dxy*dxz)
215 . -dt1d2*(dzz*dzx+dxz*dxx+dyz*dyx)
217 . -dt1d2*(dxx*dxx+dyx*dyx+dzx*dzx)
219 . -dt1d2*(dyy*dyy+dzy*dzy+dxy*dxy)
221 . -dt1d2*(dzz*dzz+dxz*dxz+dyz*dyz)
234 muij=(vxi-vxj)*(xi-xj)
241 . +(zi-zj)*(zi-zj)+em02*dij*dij)
242 mumax=
max(mumax,-muij)
245 rotvx=rotvx+vjy*wgrad(3)-vjz*wgrad(2)
246 rotvy=rotvy+vjz*wgrad(1)-vjx*wgrad(3)
247 rotvz=rotvz+vjx*wgrad(2)-vjy*wgrad(1)
252 DO j=kxsp(5,n)+1,kxsp(5,n)+nvoiss
267 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
268 vj=spbuf(12,sm)/
max(em20,rhoj)
271 nc=mod(-js,nspcond+1)
282 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
283 vj=xsphr(8,sm)/
max(em20,rhoj)
286 wgrdx=wgrad(1)*alphai+wght*alphaxi
287 . +wgrad(1)*betaxxi+wgrad(2)*betaxyi+wgrad(3)*betaxzi
288 wgrdy=wgrad(2)*alphai+wght*alphayi
289 . +wgrad(1)*betayxi+wgrad(2)*betayyi+wgrad(3)*betayzi
290 wgrdz=wgrad(3)*alphai+wght*alphazi
291 . +wgrad(1)*betazxi+wgrad(2)*betazyi+wgrad(3)*betazzi
323 . -dt1d2*(dxx*dxy+dyx*dyy+dzx*dzy)
325 . -dt1d2*(dyy*dyz+dzy*dzz+dxy*dxz)
327 . -dt1d2*(dzz*dzx+dxz*dxx+dyz*dyx)
329 . -dt1d2*(dxx*dxy+dyx*dyy+dzx*dzy)
331 . -dt1d2*(dyy*dyz+dzy*dzz+dxy*dxz)
333 . -dt1d2*(dzz*dzx+dxz*dxx+dyz*dyx)
335 . -dt1d2*(dxx*dxx+dyx*dyx+dzx*dzx)
337 . -dt1d2*(dyy*dyy+dzy*dzy+dxy*dxy)
339 . -dt1d2*(dzz*dzz+dxz*dxz+dyz*dyz)
351 muij=(vxi-vxj)*(xi-xj)
358 . +(zi-zj)*(zi-zj)+em02*dij*dij)
359 mumax=
max(mumax,-muij)
362 rotvx=rotvx+vjy*wgrad(3)-vjz*wgrad(2)
363 rotvy=rotvy+vjz*wgrad(1)-vjx*wgrad(3)
364 rotvz=rotvz+vjx*wgrad(2)-vjy*wgrad(1)
373 divv = wa(1,n)+wa(2,n)+wa(3,n)
376 spbuf(2,n) =
max(em20,rhoi+drho*dt1)
380 rotv =sqrt(rotvx*rotvx+rotvy*rotvy+rotvz*rotvz)