36 2 PARTSAV, IPARTP, TANI, FOR,
37 3 MOM, GRESAV, GRTH, IGRTH,
38 4 OFF_DUM, NEL, AL, NC1,
41 7 MAT, PID, VX1G, VX2G,
42 8 VY1G, VY2G, VZ1G, VZ2G,
44 A Z1G, Z2G, ITASK, H3D_DATA,
45 B IGRE, SENSORS, G_WPLA, WPLA)
54#include "implicit_f.inc"
67 INTEGER,
INTENT(IN) :: IGRE
68 INTEGER IPARTP(*),GRTH(*),IGRTH(*),NEL,NC1(MVSIZ),NC2(MVSIZ),
69 . NC3(MVSIZ),MAT(MVSIZ),PID(MVSIZ),ITASK
72 . PM(NPROPM,*), V(3,*), EINT(NEL,2), GEO(NPROPG,*),
73 . PARTSAV(NPSAV,*),TANI(15,*),FOR(NEL,3),(NEL,3),GRESAV(*),
74 . OFF_DUM(*),AL(MVSIZ),E1X(MVSIZ),E1Y(MVSIZ),E1Z(MVSIZ),
75 . E2X(MVSIZ),E2Y(MVSIZ),E2Z(MVSIZ),VX1G(MVSIZ),VX2G(MVSIZ),
76 . VY1G(MVSIZ),VY2G(MVSIZ),VZ1G(MVSIZ),VZ2G(MVSIZ),
77 . X1G(MVSIZ),X2G(MVSIZ),Y1G(MVSIZ),Y2G(MVSIZ),
78 . z1g(mvsiz),z2g(mvsiz)
80 type (sensors_),
INTENT(INOUT) :: SENSORS
81 INTEGER,
INTENT(IN) :: G_WPLA
82 my_real,
DIMENSION(NEL*G_WPLA),
INTENT(IN) :: wpla
89 . VXA(MVSIZ), VYA(MVSIZ),VZA(MVSIZ), VA2(MVSIZ), XMAS(MVSIZ),
91 . ym(mvsiz), zm(mvsiz), sect(mvsiz),
92 . rbidon(1),off(mvsiz),rho(mvsiz),
93 . xcg(mvsiz), ycg(mvsiz), zcg(mvsiz),
94 . xx(mvsiz) , yy(mvsiz) , zz(mvsiz) ,
95 . rei(mvsiz), rek(mvsiz), inel,
96 . xxm(mvsiz), yym(mvsiz), zzm(mvsiz),
97 . ixx(mvsiz), iyy(mvsiz), izz(mvsiz),
98 . ixy(mvsiz), iyz(mvsiz), izx(mvsiz)
104 sect(i)=geo(1,pid(i))
112 vxa(i)=vx1g(i)+vx2g(i)
113 vya(i)=vy1g(i)+vy2g(i)
114 vza(i)=vz1g(i)+vz2g(i)
115 va2(i)=vx1g(i)*vx1g(i)+vx2g(i)*vx2g(i)
116 . +vy1g(i)*vy1g(i)+vy2g(i)*vy2g(i)
117 . +vz1g(i)*vz1g(i)+vz2g(i)*vz2g(i)
131 xmas(i)=rho(i)*al(i)*sect(i)
135 ei(i)= eint(i,1) + eint(i,2)
136 ek(i)= xmas(i)*va2(i)*half
137 xm(i)= xmas(i)*vxa(i)
138 ym(i)= xmas(i)*vya(i)
139 zm(i)= xmas(i)*vza(i)
143 xcg(i)= xmas(i)*xx(i)
144 ycg(i)= xmas(i)*yy(i)
145 zcg(i)= xmas(i)*zz(i)
146 inel = xmas(i)*al(i)*al(i)*one_over_12
147 ixy(i) = -xcg(i)*yy(i)
148 iyz(i) = -ycg(i)*zz(i)
149 izx(i) = -zcg(i)*xx(i)
153 ixx(i)= inel + yy(i) + zz(i)
154 iyy(i)= inel + zz(i) + xx(i)
155 izz(i)= inel + xx(i) + yy(i)
156 xxm(i)= vza(i)*ycg(i)-vya(i)*zcg(i)
157 yym(i)= vxa(i)*zcg(i)-vza(i)*xcg(i)
158 zzm(i)= vya(i)*xcg(i)-vxa(i)*ycg(i)
160 rek(i)= inel*va2(i)*half
168 2 off ,ei ,ek ,xm ,ym ,
169 3 zm ,xmas ,xcg ,ycg ,zcg ,
170 4 xxm ,yym ,zzm ,ixx ,iyy ,
171 5 izz ,ixy ,iyz ,izx ,rei ,
177 partsav(1,m)=partsav(1,m) + ei(i)
178 partsav(2,m)=partsav(2,m) + ek(i)
179 partsav(3,m)=partsav(3,m) + xm(i)
180 partsav(4,m)=partsav(4,m) + ym(i)
181 partsav(5,m)=partsav(5,m) + zm(i)
182 IF (off_dum(i) > zero) partsav(6,m)=partsav(6,m) + xmas(i)
183 partsav(9,m) =partsav(9,m) + xcg(i
184 partsav(10,m)=partsav(10,m) + ycg(i)
185 partsav(11,m)=partsav(11,m) + zcg(i)
186 partsav(12,m)=partsav(12,m) + xxm(i)
187 partsav(13,m)=partsav(13,m) + yym(i)
188 partsav(14,m)=partsav(14,m) + zzm(i)
189 partsav(15,m)=partsav(15,m) + ixx(i)
190 partsav(16,m)=partsav(16,m) + iyy(i)
191 partsav(17,m)=partsav(17,m) + izz(i)
192 partsav(18,m)=partsav(18,m) + ixy(i)
193 partsav(19,m)=partsav(19,m) + iyz(i)
194 partsav(20,m)=partsav(20,m) + izx(i)
195 partsav(21,m)=partsav(21,m) + rei(i)
196 partsav(22,m)=partsav(22,m) + rek(i)
197 IF (g_wpla > 0) partsav(29,m)=partsav(29,m) + wpla(i)
200 IF (anim_ft(1) /= 0 .OR. h3d_data%UND_FORC /= 0)
THEN
208 tani(5,i)= -mom(i,2) + half*al(i)*for(i,3)
209 tani(6,i)= -mom(i,3) - half*al(i)*for(i,2)
212 tani(5,i)= mom(i,2) + half*al(i)*for(i,3)
213 tani(9,i)= mom(i,3) - half*al(i)*for(i,2)
subroutine pbilan(pm, v, eint, geo, partsav, ipartp, tani, for, mom, gresav, grth, igrth, off_dum, nel, al, nc1, nc2, nc3, e1x, e1y, e1z, e2x, e2y, e2z, mat, pid, vx1g, vx2g, vy1g, vy2g, vz1g, vz2g, x1g, x2g, y1g, y2g, z1g, z2g, itask, h3d_data, igre, sensors, g_wpla, wpla)