32 4 VDYY, VDZZ, VDX, VDY,
33 5 VDZ, VD2, VIS, OFFG,
36 8 FZ, STIG, SIGG, EINTG,
37 9 RHOG, QG, EPLASM, EPSDG,
39 B WYYG, WZZG, G_PLA, XDP,
40 C NEL, CONDEG, G_EPSD, JALE,
41 D ISMSTR, JEUL, JLAG, ISRAT,
46#include "implicit_f.inc"
59 INTEGER,
INTENT(IN) :: JALE
60 INTEGER,
INTENT(IN) :: ISMSTR
61 INTEGER,
INTENT(IN) :: JEUL
62 INTEGER,
INTENT(IN) :: JLAG
63 INTEGER,
INTENT(IN) :: ISRAT
64 INTEGER,
INTENT(IN) ::
65 INTEGER,
INTENT(IN) :: G_PLA,NEL,G_EPSD
66 INTEGER NC(MVSIZ,10), MXT(*), NGL(*), (*),
67 . IXS(NIXS,*), IXS10(6,*)
70 . XDP(3,*),XX(MVSIZ,10), YY(MVSIZ,10), ZZ(MVSIZ,
74 . x(3,*),v(3,*),w(3,*), vis(*),
75 . vx(mvsiz,10),vy(mvsiz,10),vz(mvsiz,10),
76 . vdxx(mvsiz,10), vdyy(mvsiz,10), vdzz(mvsiz,10),
77 . vdx(*), vdy(*), vdz(*),vd2(*),offg(*),off(*),
78 . fx(mvsiz,10), fy(mvsiz,10), fz(mvsiz,10),epsdg(*),
79 . sigg(nel,6),eintg(*),rhog(*),qg(*),stig(*),eplasm(*),
80 . vr(3,*),dr(3,*),d(3,*),
81 . wxxg(mvsiz),wyyg(mvsiz),wzzg(mvsiz),condeg(mvsiz)
85 INTEGER I, IPERM1(10),IPERM2(10),N,N1,N2,NN,IUN,MXT_1
88 . off_l,dvx,dvy,dvz,dx,dy,dz
89 DATA iperm1/0,0,0,0,1,2,3,1,2,3/
90 DATA iperm2/0,0,0,0,2,3,1,4,4,4/
99 ngeo(1:nel)=ixs(10,1:nel)
100 ngl(1:nel) =ixs(11,1:nel)
102 nc(1:nel,1)=ixs(2,1:nel)
103 nc(1:nel,2)=ixs(4,1:nel)
104 nc(1:nel,3)=ixs(7,1:nel)
105 nc(1:nel,4)=ixs(6,1:nel)
118 IF ((israt /= 0).OR.(g_epsd > 0))
THEN
156 IF((ismstr<=4.AND.jlag>0).OR.(ismstr==12.AND.idtmin(1)==3))
THEN
160 IF(abs(offg(i))>one)
THEN
164 off(i) = abs(offg(i))-one
165 off_l =
min(off_l,offg(i))
180 off(i) = abs(offg(i))
181 off_l =
min(off_l,offg(i))
197 off(i) =
min(one,abs(offg(i)))
198 off_l =
min(off_l,offg(i))
204 IF((ismstr<=4.AND.jlag>0).OR.(ismstr==12.AND.idtmin(1)==3))
THEN
206 IF(isrot==0.OR.isrot==2)
THEN
209 IF(abs(offg(i))>one)
THEN
213 off(i) = abs(offg(i))-one
214 off_l =
min(off_l,offg(i))
230 xx(i,n) = half*(xx(i,n1)+xx(i,n2))
231 yy(i,n) = half*(yy(i,n1)+yy(i,n2))
232 zz(i,n) = half*(zz(i,n1)+zz(i,n2))
237 off(i) = abs(offg(i))
238 off_l =
min(off_l,offg(i))
245 IF(abs(offg(i))>one)
THEN
249 off(i) = abs(offg(i))-one
250 off_l =
min(off_l,offg(i))
257 dx = (yy(i,n2)-yy(i,n1))*(dr(3,nc(i,n2))-dr(3,nc(i,n1)))
258 . - (zz(i,n2)-zz(i,n1))*(dr(2,nc(i,n2))-dr(2,nc(i,n1)))
259 dy = (zz(i,n2)-zz(i,n1))*(dr(1,nc(i,n2))-dr(1,nc(i,n1)))
260 . - (xx(i,n2)-xx(i,n1))*(dr(3,nc(i,n2))-dr(3,nc(i,n1)))
261 dz = (xx(i,n2)-xx(i,n1))*(dr
262 . - (yy(i,n2)-yy(i,n1))*(dr(1,nc(i,n2))-dr(1,nc(i,n1)))
264 xx(i,n) = half*(xx(i,n1)+xx
265 yy(i,n) = half*(yy(i,n1)+yy(i,n2)) + one_over_8 * dy
266 zz(i,n) = half*(zz(i,n1)+zz(i,n2)) + one_over_8 * dz
273 off(i) = abs(offg(i))
274 off_l =
min(off_l,offg(i))
279 ELSEIF(isrot==0.OR.isrot==2)
THEN
296 xx(i,n) = half*(xx(i,n1)+xx(i,n2))
297 yy(i,n) = half*(yy(i,n1)+yy(i,n2))
298 zz(i,n) = half*(zz(i,n1)+zz(i,n2))
300 off(i) =
min(one,abs(offg(i)))
301 off_l =
min(off_l,offg(i))
309 dx = (yy(i,n2)-yy(i,n1))*(dr(3,nc(i,n2))-dr(3,nc(i,n1)))
310 . - (zz(i,n2)-zz(i,n1))*(dr(2,nc(i,n2))-dr(2,nc(i,n1)))
311 dy = (zz(i,n2)-zz(i,n1))*(dr(1,nc(i,n2))-dr(1,nc(i,n1)))
312 . - (xx(i,n2)-xx(i,n1))*(dr(3,nc(i,n2))-dr(3,nc(i,n1)))
313 dz = (xx(i,n2)-xx(i,n1))*(dr(2,nc(i,n2))-dr(2,nc(i,n1)))
314 . - (yy(i,n2)-yy(i,n1))*(dr(1,nc(i,n2))-dr(1,nc(i,n1)))
315 xx(i,n) = half*(xx(i,n1)+xx(i,n2)) + one_over_8 * dx
316 yy(i,n) = half*(yy(i,n1)+yy(i,n2)) + one_over_8 * dy
317 zz(i,n) = half*(zz(i,n1)+zz(i,n2)) + one_over_8 * dz
319 off_l =
min(off_l,offg(i))
355 vx(1:mvsiz,1:10) = zero
356 vy(1:mvsiz,1:10) = zero
357 vz(1:mvsiz,1:10) = zero
409 nn =
max(iun,nc(i,n))
410 vdxx(i,n)=vx(i,n)-w(1,nn)
411 vdyy(i,n)=vy(i,n)-w(2,nn)
412 vdzz(i,n)=vz(i,n)-w(3,nn)
423 vdx(i)=vdx(i)+vdxx(i,n)
424 vdy(i)=vdy(i)+vdyy(i,n)
425 vdz(i)=vdz(i)+vdzz(i,n)
435 vd2(i)=(vdx(i)**2+vdy(i)**2+vdz(i)**2)
439 IF(isrot == 0.OR.isrot == 2)
THEN
445 vx(i,n) = half*(vx(i,n1)+vx(i,n2))
446 vy(i,n) = half*(vy(i,n1)+vy(i,n2))
447 vz(i,n) = half*(vz(i,n1)+vz(i,n2))
451 ELSEIF(isrot == 1)
THEN
456 dvx = (yy(i,n2)-yy(i,n1))*(vr(3,nc(i,n2))-vr(3,nc(i,n1)))
457 . - (zz(i,n2)-zz(i,n1))*(vr(2,nc(i,n2))-vr(2,nc(i,n1)))
458 dvy = (zz(i,n2)-zz(i,n1))*(vr(1,nc(i,n2))-vr(1,nc(i,n1)))
459 . - (xx(i,n2)-xx(i,n1))*(vr(3,nc(i,n2))-vr(3,nc(i,n1)))
460 dvz = (xx(i,n2)-xx(i,n1))*(vr(2,nc(i,n2))-vr(2,nc(i,n1)))
461 . - (yy(i,n2)-yy(i,n1))*(vr(1,nc(i,n2))-vr(1,nc(i,n1)))
462 vx(i,n) = half*(vx(i,n1)+vx(i,n2)) + one_over_8 * dvx
463 vy(i,n) = half*(vy(i,n1)+vy(i,n2)) + one_over_8 * dvy
464 vz(i,n) = half*(vz(i,n1)+vz(i,n2)) + one_over_8 * dvz
subroutine s10coor3(x, ixs, ixs10, v, w, xx, yy, zz, vx, vy, vz, vdxx, vdyy, vdzz, vdx, vdy, vdz, vd2, vis, offg, off, sav, nc, ngl, mxt, ngeo, fx, fy, fz, stig, sigg, eintg, rhog, qg, eplasm, epsdg, vr, dr, d, wxxg, wyyg, wzzg, g_pla, xdp, nel, condeg, g_epsd, jale, ismstr, jeul, jlag, israt, isrot)