33 1 EINT, PARTSAV, IXR, GEO,
34 2 V, IPARTR, MASS, GRESAV,
35 3 GRTH, IGRTH, OFF_DUM, NC1,
41#include "implicit_f.inc"
55 INTEGER,
INTENT(IN) :: NEL
56 INTEGER,
INTENT(IN) :: IGRE
57 INTEGER IPARTR(*),IXR(NIXR,*),GRTH(*),IGRTH(*),
61 . geo(npropg,*),eint(*),partsav(npsav,*),v(3,*), mass(*),
62 . gresav(*),off_dum(*),x(3,*),vr(3,*)
66 INTEGER I,MX,J, ILENG, FLAG
68 . X1(MVSIZ), Y1(MVSIZ), Z1(MVSIZ),
69 . X2(MVSIZ), Y2(MVSIZ), Z2(MVSIZ),
70 . V1(MVSIZ,3),V2(MVSIZ,3),
71 . vr1(mvsiz,3),vr2(mvsiz,3),
72 . xmas2(mvsiz), reintt,
73 . xmas(mvsiz), rho(mvsiz), inel,
74 . ek(mvsiz), xm(mvsiz), ym(mvsiz), zm(mvsiz),
75 . va1,xm1phi,xm2phi,rbidon(1),off(mvsiz),
76 . in2, ei(mvsiz),rek(mvsiz),
77 . xxm(mvsiz), yym(mvsiz), zzm(mvsiz),
78 . xcg(mvsiz), ycg(mvsiz), zcg(mvsiz),
79 . ixx(mvsiz), iyy(mvsiz), izz(mvsiz),
80 . ixy(mvsiz), iyz(mvsiz), izx(mvsiz),
81 . xx(mvsiz) , yy(mvsiz) , zz(mvsiz) ,
82 . xy(mvsiz) , yz(mvsiz) , zx(mvsiz) ,
83 . xx2(mvsiz), yy2(mvsiz), zz2(mvsiz),
84 . vxa(mvsiz), vya(mvsiz), vza(mvsiz),
85 . va2(mvsiz), vra2(mvsiz)
92 reintt=reintt + eint(i)
96 reint = reint + reintt
111 vr1(i,1)=vr(1,nc1(i))
112 vr1(i,2)=vr(2,nc1(i))
113 vr1(i,3)=vr(3,nc1(i))
114 vr2(i,1)=vr(1,nc2(i))
115 vr2(i,2)=vr(2,nc2(i))
116 vr2(i,3)=vr(3,nc2(i))
124 xx2(i) = x1(i)*x1(i)+x2(i)*x2(i)
125 yy2(i) = y1(i)*y1(i)+y2(i)*y2(i)
127 xy(i) = x1(i)*y1(i)+x2(i)*y2(i)
128 yz(i) = y1(i)*z1(i)+y2(i)*z2(i)
129 zx(i) = z1(i)*x1(i)+z2(i)*x2(i)
130 vxa(i)=v1(i,1)+v2(i,1)
131 vya(i)=v1(i,2)+v2(i,2)
132 vza(i)=v1(i,3)+v2(i,3)
133 va2(i)=v1(i,1)*v1(i,1)+v2(i,1)*v2(i,1)
134 . +v1(i,2)*v1(i,2)+v2(i,2)*v2(i,2)
135 . +v1(i,3)*v1(i,3)+v2(i,3)*v2(i,3)
136 vra2(i) = vr1(i,1)*vr1(i,1)+vr2(i,1)*vr2(i,1)
137 . +vr1(i,2)*vr1(i,2)+vr2(i,2)*vr2(i,2)
138 . +vr1(i,3)*vr1(i,3)+vr2(i,3)*vr2(i,3)
142 xmas2(i)=xmas(i)*half
143 xm(i)= xmas2(i)*vxa(i)
144 ym(i)= xmas2(i)*vya(i)
145 zm(i)= xmas2(i)*vza(i)
146 ek(i)= xmas2(i)*va2(i)*half
150 xcg(i)= xmas2(i)*xx(i)
151 ycg(i)= xmas2(i)*yy(i)
152 zcg(i)= xmas2(i)*zz(i)
155 ixy(i) = -xmas2(i)*xy(i)
156 iyz(i) = -xmas2(i)*yz(i)
157 izx(i) = -xmas2(i)*zx(i)
158 ixx(i)= inel + xmas2(i)*(yy2(i) + zz2(i))
159 iyy(i)= inel + xmas2(i)*(zz2(i) + xx2(i))
160 izz(i)= inel + xmas2(i)*(xx2(i) + yy2(i))
163 . (v1(i,3)*y1(i)-v1(i,2)*z1(i)
164 . +v2(i,3)*y2(i)-v2(i,2)*z2(i))
165 . +in2*(vr1(i,1)+vr2(i,1))
167 . (v1(i,1)*z1(i)-v1(i,3)*x1(i)
168 . +v2(i,1)*z2(i)-v2(i,3)*x2(i))
169 . +in2*(vr1(i,2)+vr2(i,2))
171 . (v1(i,2)*x1(i)-v1(i,1)*y1(i)
172 . +v2(i,2)*x2(i)-v2(i,1)*y2(i))
173 . +in2*(vr1(i,3)+vr2(i,3))
174 rek(i)= in2*vra2(i)*half
182 2 off ,eint ,ek ,xm ,ym ,
183 3 zm ,xmas ,xcg ,ycg ,zcg ,
184 4 xxm ,yym ,zzm ,ixx ,iyy ,
185 5 izz ,ixy ,iyz ,izx ,rbidon,
191 partsav(1,mx)=partsav(1,mx) + eint(i)
192 partsav(2,mx)=partsav(2,mx) + ek(i)
193 partsav(3,mx)=partsav(3,mx) + xm(i)
194 partsav(4,mx)=partsav(4,mx) + ym(i)
195 partsav(5,mx)=partsav(5,mx) + zm(i)
196 IF (off_dum(i) > zero) partsav(6,mx)=partsav(6,mx) + xmas(i)
197 partsav(9,mx) =partsav(9,mx) + xcg(i)
198 partsav(10,mx)=partsav(10,mx) + ycg(i)
199 partsav(11,mx)=partsav(11,mx) + zcg(i)
200 partsav(12,mx)=partsav(12,mx) + xxm(i)
201 partsav(13,mx)=partsav(13,mx) + yym(i)
202 partsav(14,mx)=partsav(14,mx) + zzm(i)
203 partsav(15,mx)=partsav(15,mx) + ixx(i)
204 partsav(16,mx)=partsav(16,mx) + iyy(i)
205 partsav(17,mx)=partsav(17,mx) + izz(i)
206 partsav(18,mx)=partsav(18,mx) + ixy(i)
207 partsav(19,mx)=partsav(19,mx) + iyz(i)
208 partsav(20,mx)=partsav(20,mx) + izx(i)
209 partsav(22,mx)=partsav(22,mx) + rek(i)