33 . Y1,Y2,Y3,Y4,Z1,Z2,Z3,Z4,
34 . VY1,VY2,VY3,VY4,VZ1,VZ2,VZ3,VZ4,
35 . T11, T12, T13, T14, T21, T22, T23 , T24,
36 . PY1, PY2, PZ1, PZ2, AIRE,
37 . DYY, DZZ, DYZ, DZY,VDY,VDZ,
48#include "implicit_f.inc"
58#include "vect01_c.inc"
63 my_real pm(npropm,nummat), rho(*),
64 . y1(*),y2(*),y3(*),y4(*),z1(*),z2(*),z3(*),z4(*),
65 . vy1(*), vy2(*), vy3(*), vy4(*), vz1(*), vz2
66 . t11(*), t12(*), t13(*), t14(*), t21(*), t22(*), t23(*), t24(*),
67 . py1(*), py2(*), pz1(*), pz2(*), aire(*),
68 . dyy(*), dzz(*), dyz(*), dzy(*),vdy(*),vdz(*),
69 . deltax(*),vis(*),qmv(8,*),bufmat(*)
70 INTEGER,
INTENT(IN) :: MAT(*)
71 INTEGER,
INTENT(IN)::IPM(NPROPMI,NUMMAT)
76 . Y12(MVSIZ),Z12(MVSIZ),Y23(MVSIZ),Z23(MVSIZ),
77 . Y34(MVSIZ),Z34(MVSIZ),Y41(MVSIZ),Z41(MVSIZ),
78 . y24(mvsiz),z24(mvsiz),y13(mvsiz),z13(mvsiz),
79 . dyyp(mvsiz), dzzp(mvsiz), dyzp(mvsiz), dzyp(mvsiz),
80 . f1(mvsiz), f2(mvsiz),a1(mvsiz),a2(mvsiz),a3(mvsiz),gam(mvsiz),
81 . f1p(mvsiz),f2p(mvsiz),
82 . s(3,mvsiz),t(3,mvsiz),
87 my_real AAA,DM,DMY,DMZ
97 IF(mtn == 51 .AND.
ale%UPWIND%UPWM /= 3)
THEN
98 iadbuf = ipm(27,mat(1))
99 iflg = nint(bufmat(31+iadbuf-1))
103 IF(
ale%UPWIND%UPWM == 0.)
THEN
105 gam(i)= pm(15,mat(i))
109 gam(i)=
ale%UPWIND%CUPWM
114 aaa = qmv(1,i)+qmv(2,i)+qmv(3,i)+qmv(4,i)
116 qmv(1,i) = fourth * (qmv(1,i) - aaa)
117 qmv(2,i) = fourth * (qmv(2,i) - aaa)
118 qmv(3,i) = fourth * (qmv(3,i) - aaa)
119 qmv(4,i) = fourth * (qmv(4,i) - aaa)
122 dm = qmv(4,i)+qmv(1,i)
123 dmy = dmy + vy1(i)*dm
124 dmz = dmz + vz1(i)*dm
125 dm = qmv(1,i)+qmv(2,i)
126 dmy = dmy + vy2(i)*dm
127 dmz = dmz + vz2(i)*dm
128 dm = qmv(2,i)+qmv(3,i)
129 dmy = dmy + vy3(i)*dm
130 dmz = dmz + vz3(i)*dm
131 dm = qmv(3,i)+qmv(4,i)
132 dmy = dmy + vy4(i)*dm
133 dmz = dmz + vz4(i)*dm
138 a1(i) = py1(i)*vdy(i)+pz1(i)*vdz(i)
139 a2(i) = py2(i)*vdy(i)+pz2(i)*vdz(i)
140 a1(i) = sign(gam(i),a1(i))
141 a2(i) = sign(gam(i),a2(i))
143 t11(i) = t11(i)+(one+a1(i))*dmy
144 t12(i) = t12(i)+(one+a2(i))*dmy
145 t13(i) = t13(i)+(one-a1(i))*dmy
146 t14(i) = t14(i)+(one-a2(i))*dmy
148 t21(i) = t21(i)+(one+a1(i))*dmz
149 t22(i) = t22(i)+(one+a2(i))*dmz
150 t23(i) = t23(i)+(one-a1(i))*dmz
151 t24(i) = t24(i)+(one-a2(i))*dmz
155 IF(
ale%UPWIND%UPWM == 0.AND.mtn == 11)
RETURN
156 IF(
ale%UPWIND%UPWM > 1)
THEN
161 dt1h=half*dt1*
ale%UPWIND%CUPWM
177 s(2,i)=half*(y12(i)-y34(i))
178 s(3,i)=half*(z12(i)-z34(i))
179 t(2,i)=half*(-y41(i)+y23(i))
180 t(3,i)=half*(-z41(i)+z23(i))
186 IF(
ale%UPWIND%UPWM < 2.OR.mtn == 11)
THEN
187 IF(mtn == 11.AND.
ale%UPWIND%UPWM > 1)
THEN
189 1 rho, vis, vdy, vdy,
193 fac=four*gam(i)/aire(i)
194 a1(i) = fac*(py1(i)*vdy(i)+pz1(i)*vdz(i))
195 a2(i) = fac*(py2(i)*vdy(i)+pz2(i)*vdz(i))
199 gam(i)= pm(15,mat(i))
200 a1(i) = py1(i)*vdy(i)+pz1(i)*vdz(i)
201 a2(i) = py2(i)*vdy(i)+pz2(i)*vdz(i)
202 a1(i) = sign(gam(i),a1(i))
203 a2(i) = sign(gam(i),a2(i))
207 fac = fourth*rho(i)*aire(i)
208 f1(i) = (vdy(i)*dyy(i)+vdz(i)*dyz(i))*fac
209 f2(i) = (vdy(i)*dzy(i)+vdz(i)*dzz(i))*fac
212 t11(i) = t11(i)+(one+a1(i))*f1(i)
213 t12(i) = t12(i)+(one+a2(i))*f1(i)
214 t13(i) = t13(i)+(one-a1(i))*f1(i)
215 t14(i) = t14(i)+(one-a2(i))*f1(i)
216 t21(i) = t21(i)+(one+a1(i))*f2(i)
217 t22(i) = t22(i)+(one+a2(i))*f2(i)
218 t23(i) = t23(i)+(one-a1(i))*f2(i)
219 t24(i) = t24(i)+(one-a2(i))*f2(i)
254 1 rho, vis, vy1, vy1,
258 tr(i)=(y41(i)*z12(i)-y12(i)*z41(i))
259 dyyp(i)=(-z24(i)*vy1(i)-z41(i)*vy2(i)-z12(i)*vy4(i))
260 dyzp(i)=( y24(i)*vy1(i)+y41(i)*vy2(i)+y12(i)*vy4(i))
261 dzzp(i)=( y24(i)*vz1(i)+y41(i)*vz2(i)+y12(i)*vz4(i))
262 dzyp(i)=(-z24(i)*vz1(i)-z41(i)*vz2(i)-z12(i)*vz4(i))
263 f1p(i)=rho(i)*(vy1(i)*dyyp(i)+vz1(i)*dyzp(i))
264 f2p(i)=rho(i)*(vy1(i)*dzyp(i)+vz1(i)*dzzp(i))
266 a1(i)=fac*(-z24(i)*vy1(i)+y24(i)*vz1(i))
267 a2(i)=fac*(-z41(i)*vy1(i)+y41(i)*vz1(i))
268 a3(i)=fac*(-z12(i)*vy1(i)+y12(i)*vz1(i))
270 t11(i) = t11(i)+(pp+a1(i))*f1p(i)
271 t12(i) = t12(i)+(ps+a2(i))*f1p(i)
272 t13(i) = t13(i)+pd*f1p(i)
273 t14(i) = t14(i)+(ps+a3(i))*f1p(i)
274 t21(i) = t21(i)+(pp+a1(i))*f2p(i)
275 t22(i) = t22(i)+(ps+a2(i))*f2p(i)
276 t23(i) = t23(i)+pd*f2p(i)
277 t24(i) = t24(i)+(ps+a3(i))*f2p(i)
280 IF(
ale%UPWIND%UPWM == 2)
THEN
283 f1(i)=fac*(-f1p(i)*dzzp(i)+f2p(i)*dyzp(i))
284 f2(i)=fac*( f1p(i)*dzyp(i)-f2p(i)*dyyp(i))
285 t11(i) = t11(i)+pp*f1(i)
286 t12(i) = t12(i)+ps*f1(i)
287 t13(i) = t13(i)+pd*f1(i)
288 t14(i) = t14(i)+ps*f1(i)
289 t21(i) = t21(i)+pp*f2(i)
290 t22(i) = t22(i)+ps*f2(i)
291 t23(i) = t23(i)+pd*f2(i)
292 t24(i) = t24(i)+ps*f2(i)
297 1 rho, vis, vy2, vy2,
301 tr(i)=(y12(i)*z23(i)-y23(i)*z12(i))
302 dyyp(i)=(-z23(i)*vy1(i)+z13(i)*vy2(i)-z12(i)*vy3(i))
303 dyzp(i)=( y23(i)*vy1(i)-y13(i)*vy2(i)+y12(i)*vy3(i))
304 dzzp(i)=( y23(i)*vz1(i)-y13(i)*vz2(i)+y12(i)*vz3(i))
305 dzyp(i)=(-z23(i)*vz1(i)+z13(i)*vz2(i)-z12(i)*vz3(i))
306 f1p(i)=rho(i)*(vy2(i)*dyyp(i)+vz2(i)*dyzp(i))
307 f2p(i)=rho(i)*(vy2(i)*dzyp(i)+vz2(i)*dzzp(i))
309 a1(i)=fac*(-z23(i)*vy2(i)+y23(i)*vz2(i))
310 a2(i)=fac*( z13(i)*vy2(i)-y13(i)*vz2(i))
311 a3(i)=fac*(-z12(i)*vy2(i)+y12(i)*vz2(i))
312 t11(i) = t11(i)+(ps+a1(i))*f1p(i)
313 t12(i) = t12(i)+(pp+a2(i))*f1p(i)
315 t14(i) = t14(i)+pd*f1p(i)
316 t21(i) = t21(i)+(ps+a1(i))*f2p(i)
317 t22(i) = t22(i)+(pp+a2(i))*f2p(i)
318 t23(i) = t23(i)+(ps+a3(i))*f2p(i)
319 t24(i) = t24(i)+pd*f2p(i)
321 IF(
ale%UPWIND%UPWM == 2)
THEN
324 f1(i)=fac*(-f1p(i)*dzzp(i)+f2p(i)*dyzp(i))
325 f2(i)=fac*( f1p(i)*dzyp(i)-f2p(i)*dyyp(i))
326 t11(i) = t11(i)+ps*f1(i)
327 t12(i) = t12(i)+pp*f1(i)
328 t13(i) = t13(i)+ps*f1(i)
329 t14(i) = t14(i)+pd*f1(i)
330 t21(i) = t21(i)+ps*f2(i)
331 t22(i) = t22(i)+pp*f2(i)
332 t23(i) = t23(i)+ps*f2(i)
333 t24(i) = t24(i)+pd*f2(i)
338 1 rho, vis, vy3, vy3,
342 tr(i)=(y23(i)*z34(i)-y34(i)*z23(i))
343 dyyp(i)=(-z34(i)*vy2(i)+z24(i)*vy3(i)-z23(i)*vy4(i))
344 dyzp(i)=( y34(i)*vy2(i)-y24(i)*vy3(i)+y23(i)*vy4(i))
345 dzzp(i)=( y34(i)*vz2(i)-y24(i)*vz3(i)+y23(i)*vz4(i))
346 dzyp(i)=(-z34(i)*vz2(i)+z24(i)*vz3(i)-z23(i)*vz4(i))
347 f1p(i)=rho(i)*(vy3(i)*dyyp(i)+vz3(i)*dyzp(i))
348 f2p(i)=rho(i)*(vy3(i)*dzyp(i)+vz3(i)*dzzp(i))
350 a1(i)=fac*(-z34(i)*vy3(i)+y34(i)*vz3(i))
351 a2(i)=fac*( z24(i)*vy3(i)-y24(i)*vz3(i))
352 a3(i)=fac*(-z23(i)*vy3(i)+y23(i)*vz3(i))
353 t11(i) = t11(i)+pd*f1p(i)
354 t12(i) = t12(i)+(ps+a1(i))*f1p(i)
355 t13(i) = t13(i)+(pp+a2(i))*f1p(i)
356 t14(i) = t14(i)+(ps+a3(i))*f1p(i)
357 t21(i) = t21(i)+pd*f2p(i)
358 t22(i) = t22(i)+(ps+a1(i))*f2p(i)
359 t23(i) = t23(i)+(pp+a2(i))*f2p(i)
360 t24(i) = t24(i)+(ps+a3(i))*f2p(i)
362 IF(
ale%UPWIND%UPWM == 2)
THEN
365 f1(i)=fac*(-f1p(i)*dzzp(i)+f2p(i)*dyzp(i))
366 f2(i)=fac*( f1p(i)*dzyp(i)-f2p(i)*dyyp(i))
367 t11(i) = t11(i)+pd*f1(i)
368 t12(i) = t12(i)+ps*f1(i)
369 t13(i) = t13(i)+pp*f1(i)
370 t14(i) = t14(i)+ps*f1(i)
371 t21(i) = t21(i)+pd*f2(i)
372 t22(i) = t22(i)+ps*f2(i)
373 t23(i) = t23(i)+pp*f2(i)
374 t24(i) = t24(i)+ps*f2(i)
379 1 rho, vis, vy4, vy4,
383 tr(i)=(y34(i)*z41(i)-y41(i)*z34(i))
384 dyyp(i)=(-z34(i)*vy1(i)-z41(i)*vy3(i)-z13(i)*vy4(i))
385 dyzp(i)=( y34(i)*vy1(i)+y41(i)*vy3(i)+y13(i)*vy4(i))
386 dzzp(i)=( y34(i)*vz1(i)+y41(i)*vz3(i)+y13(i)*vz4(i))
387 dzyp(i)=(-z34(i)*vz1(i)-z41(i)*vz3(i)-z13(i)*vz4(i))
388 f1p(i)=rho(i)*(vy4(i)*dyyp(i)+vz4(i)*dyzp(i))
389 f2p(i)=rho(i)*(vy4(i)*dzyp(i)+vz4(i)*dzzp(i))
391 a1(i)=fac*(-z34(i)*vy4(i)+y34(i)*vz4(i))
392 a2(i)=fac*(-z41(i)*vy4(i)+y41(i)*vz4(i))
394 t11(i) = t11(i)+(ps+a1(i))*f1p(i)
395 t12(i) = t12(i)+pd*f1p(i)
396 t13(i) = t13(i)+(ps+a2(i))*f1p(i)
397 t14(i) = t14(i)+(pp+a3(i))*f1p(i)
398 t21(i) = t21(i)+(ps+a1(i))*f2p(i)
399 t22(i) = t22(i)+pd*f2p(i)
400 t23(i) = t23(i)+(ps+a2(i))*f2p(i)
401 t24(i) = t24(i)+(pp+a3(i))*f2p(i)
403 IF(
ale%UPWIND%UPWM == 2)
THEN
406 f1(i)=fac*(-f1p(i)*dzzp(i)+f2p(i)*dyzp(i))
407 f2(i)=fac*( f1p(i)*dzyp(i)-f2p(i)*dyyp(i))
408 t11(i) = t11(i)+ps*f1(i)
409 t12(i) = t12(i)+pd*f1(i)
410 t13(i) = t13(i)+ps*f1(i)
411 t14(i) = t14(i)+pp*f1(i)
412 t21(i) = t21(i)+ps*f2(i)
414 t23(i) = t23(i)+ps*f2(i)
415 t24(i) = t24(i)+pp*f2(i)
subroutine emomt2(pm, rho, y1, y2, y3, y4, z1, z2, z3, z4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, t11, t12, t13, t14, t21, t22, t23, t24, py1, py2, pz1, pz2, aire, dyy, dzz, dyz, dzy, vdy, vdz, deltax, vis, mat, qmv, bufmat, ipm)