xref: /phasta/phSolver/compressible/e3mtrx.f (revision 595995161822a203c8467e0e4a253d7bd7d6df32)
1*59599516SKenneth E. Jansen        subroutine e3mtrx (rho,    pres,   T,
2*59599516SKenneth E. Jansen     &                     ei,     h,	   alfap,
3*59599516SKenneth E. Jansen     &                     betaT,  cp,     rk,
4*59599516SKenneth E. Jansen     &                     u1,     u2,   u3,
5*59599516SKenneth E. Jansen     &                     A0,     A1,
6*59599516SKenneth E. Jansen     &                     A2,     A3,
7*59599516SKenneth E. Jansen     &                     e2p,    e3p,    e4p,
8*59599516SKenneth E. Jansen     &                     drdp,   drdT,   A0DC,
9*59599516SKenneth E. Jansen     &                     A0inv,  dVdY)
10*59599516SKenneth E. Jansenc
11*59599516SKenneth E. Jansenc----------------------------------------------------------------------
12*59599516SKenneth E. Jansenc
13*59599516SKenneth E. Jansenc This routine sets up the necessary matrices at the integration point.
14*59599516SKenneth E. Jansenc
15*59599516SKenneth E. Jansenc input:
16*59599516SKenneth E. Jansenc  rho   (npro)         : density
17*59599516SKenneth E. Jansenc  pres  (npro)         : pressure
18*59599516SKenneth E. Jansenc  T     (npro)         : temperature
19*59599516SKenneth E. Jansenc  ei    (npro)         : internal energy
20*59599516SKenneth E. Jansenc  h     (npro)         : enthalpy
21*59599516SKenneth E. Jansenc  alfap (npro)         : expansivity
22*59599516SKenneth E. Jansenc  betaT (npro)         : isothermal compressibility
23*59599516SKenneth E. Jansenc  cp    (npro)         : specific heat at constant pressure
24*59599516SKenneth E. Jansenc  c     (npro)         : speed of sound
25*59599516SKenneth E. Jansenc  rk    (npro)         : kinetic energy
26*59599516SKenneth E. Jansenc  u1    (npro)         : x1-velocity component
27*59599516SKenneth E. Jansenc  u2    (npro)         : x2-velocity component
28*59599516SKenneth E. Jansenc  u3    (npro)         : x3-velocity component
29*59599516SKenneth E. Jansenc
30*59599516SKenneth E. Jansenc output:
31*59599516SKenneth E. Jansenc  A0    (npro,nflow,nflow)  : A0 matrix
32*59599516SKenneth E. Jansenc  A1   (npro,nflow,nflow)  : A_1 matrix
33*59599516SKenneth E. Jansenc  A2   (npro,nflow,nflow)  : A_2 matrix
34*59599516SKenneth E. Jansenc  A3   (npro,nflow,nflow)  : A_3 matrix
35*59599516SKenneth E. Jansenc
36*59599516SKenneth E. Jansenc Note: the definition of the matrices can be found in
37*59599516SKenneth E. Jansenc       thesis by Hauke.
38*59599516SKenneth E. Jansenc
39*59599516SKenneth E. Jansenc Zdenek Johan, Summer 1990.  (Modified from e2mtrx.f)
40*59599516SKenneth E. Jansenc Zdenek Johan, Winter 1991.  (Fortran 90)
41*59599516SKenneth E. Jansenc Kenneth Jansen, Winter 1997 Primitive Variables
42*59599516SKenneth E. Jansenc----------------------------------------------------------------------
43*59599516SKenneth E. Jansenc
44*59599516SKenneth E. Jansen        include "common.h"
45*59599516SKenneth E. Jansenc
46*59599516SKenneth E. Jansenc
47*59599516SKenneth E. Jansenc  passed arrays
48*59599516SKenneth E. Jansenc
49*59599516SKenneth E. Jansen        dimension rho(npro),                 pres(npro),
50*59599516SKenneth E. Jansen     &            T(npro),                   ei(npro),
51*59599516SKenneth E. Jansen     &            h(npro),                   alfap(npro),
52*59599516SKenneth E. Jansen     &            betaT(npro),
53*59599516SKenneth E. Jansen     &            cp(npro),
54*59599516SKenneth E. Jansen     &            rk(npro),
55*59599516SKenneth E. Jansen     &            u1(npro),                 u2(npro),
56*59599516SKenneth E. Jansen     &            u3(npro),                 fact1(npro),
57*59599516SKenneth E. Jansen     &            A0(npro,nflow,nflow),     dVdY(npro,15),
58*59599516SKenneth E. Jansen     &            A1(npro,nflow,nflow),     A2(npro,nflow,nflow),
59*59599516SKenneth E. Jansen     &            A3(npro,nflow,nflow),     A0DC(npro,4),
60*59599516SKenneth E. Jansen     &            A0inv(npro,15),           d(npro),
61*59599516SKenneth E. Jansen     &            fact2(npro),               s1(npro),
62*59599516SKenneth E. Jansen     &            e1bar(npro),              e2bar(npro),
63*59599516SKenneth E. Jansen     &            e3bar(npro),              e4bar(npro),
64*59599516SKenneth E. Jansen     &            e5bar(npro),              c1bar(npro),
65*59599516SKenneth E. Jansen     &            c2bar(npro),              cv(npro),
66*59599516SKenneth E. Jansen     &            c3bar(npro),              u12(npro),
67*59599516SKenneth E. Jansen     &            u31(npro),                u23(npro)
68*59599516SKenneth E. Jansenc
69*59599516SKenneth E. Jansenc  local work arrays that are passed shared space
70*59599516SKenneth E. Jansenc
71*59599516SKenneth E. Jansen        dimension e2p(npro),
72*59599516SKenneth E. Jansen     &            e3p(npro),                 e4p(npro),
73*59599516SKenneth E. Jansen     &            drdp(npro),                drdT(npro)
74*59599516SKenneth E. Jansen
75*59599516SKenneth E. Jansen	ttim(21) = ttim(21) - secs(0.0)
76*59599516SKenneth E. Jansenc
77*59599516SKenneth E. Jansenc.... initialize
78*59599516SKenneth E. Jansenc
79*59599516SKenneth E. Jansen        A0 = zero
80*59599516SKenneth E. Jansen        A1 = zero
81*59599516SKenneth E. Jansen        A2 = zero
82*59599516SKenneth E. Jansen        A3 = zero
83*59599516SKenneth E. Jansenc
84*59599516SKenneth E. Jansenc.... set up the constants
85*59599516SKenneth E. Jansenc
86*59599516SKenneth E. Jansenc
87*59599516SKenneth E. Jansen        drdp = rho * betaT
88*59599516SKenneth E. Jansen        drdT = -rho * alfap
89*59599516SKenneth E. Jansen        A0(:,5,1) = drdp * (h + rk)  - alfap * T    ! e1p
90*59599516SKenneth E. Jansenc        A0(:,5,1) = drdp * (ei + rk) + betaT * pres - alfap * T    ! e1p
91*59599516SKenneth E. Jansen          e2p  = A0(:,5,1) + one
92*59599516SKenneth E. Jansen          e3p  = rho * ( h + rk)
93*59599516SKenneth E. Jansen          e4p  = drdT * (h + rk) + rho * cp
94*59599516SKenneth E. Jansenc
95*59599516SKenneth E. Jansenc
96*59599516SKenneth E. Jansenc.... Calculate A0
97*59599516SKenneth E. Jansenc
98*59599516SKenneth E. Jansen        A0(:,1,1) = drdp
99*59599516SKenneth E. Jansenc       A0(:,1,2) = zero
100*59599516SKenneth E. Jansenc       A0(:,1,3) = zero
101*59599516SKenneth E. Jansenc       A0(:,1,4) = zero
102*59599516SKenneth E. Jansen        A0(:,1,5) = drdT
103*59599516SKenneth E. Jansenc
104*59599516SKenneth E. Jansen        A0(:,2,1) = drdp * u1
105*59599516SKenneth E. Jansen        A0(:,2,2) = rho
106*59599516SKenneth E. Jansenc       A0(:,2,3) = zero
107*59599516SKenneth E. Jansenc       A0(:,2,4) = zero
108*59599516SKenneth E. Jansen        A0(:,2,5) = drdT * u1
109*59599516SKenneth E. Jansenc
110*59599516SKenneth E. Jansen        A0(:,3,1) = drdp * u2
111*59599516SKenneth E. Jansenc       A0(:,3,2) = zero
112*59599516SKenneth E. Jansen        A0(:,3,3) = rho
113*59599516SKenneth E. Jansenc       A0(:,3,4) = zero
114*59599516SKenneth E. Jansen        A0(:,3,5) = drdT * u2
115*59599516SKenneth E. Jansenc
116*59599516SKenneth E. Jansen        A0(:,4,1) = drdp * u3
117*59599516SKenneth E. Jansenc       A0(:,4,2) = zero
118*59599516SKenneth E. Jansenc       A0(:,4,3) = zero
119*59599516SKenneth E. Jansen        A0(:,4,4) = rho
120*59599516SKenneth E. Jansen        A0(:,4,5) = drdT * u3
121*59599516SKenneth E. Jansenc
122*59599516SKenneth E. Jansencovered above       A0(:,5,1) = drdp * u1
123*59599516SKenneth E. Jansen        A0(:,5,2) = rho * u1
124*59599516SKenneth E. Jansen        A0(:,5,3) = rho * u2
125*59599516SKenneth E. Jansen        A0(:,5,4) = rho * u3
126*59599516SKenneth E. Jansen        A0(:,5,5) = e4p
127*59599516SKenneth E. Jansenc
128*59599516SKenneth E. Jansen        flops = flops + 67*npro
129*59599516SKenneth E. Jansenc
130*59599516SKenneth E. Jansenc.... Calculate A-tilde-1, A-tilde-2 and A-tilde-3
131*59599516SKenneth E. Jansenc
132*59599516SKenneth E. Jansen        A1(:,1,1) = drdp * u1
133*59599516SKenneth E. Jansen        A1(:,1,2) = rho
134*59599516SKenneth E. Jansenc       A1(:,1,3) = zero
135*59599516SKenneth E. Jansenc       A1(:,1,4) = zero
136*59599516SKenneth E. Jansen        A1(:,1,5) = drdT * u1
137*59599516SKenneth E. Jansenc
138*59599516SKenneth E. Jansen        A1(:,2,1) = drdp * u1 * u1 +1
139*59599516SKenneth E. Jansen        A1(:,2,2) = two *rho  * u1
140*59599516SKenneth E. Jansenc       A1(:,2,3) = zero
141*59599516SKenneth E. Jansenc       A1(:,2,4) = zero
142*59599516SKenneth E. Jansen        A1(:,2,5) = drdT * u1 * u1
143*59599516SKenneth E. Jansenc
144*59599516SKenneth E. Jansen        A1(:,3,1) = drdp * u1 * u2
145*59599516SKenneth E. Jansen        A1(:,3,2) = rho  * u2
146*59599516SKenneth E. Jansen        A1(:,3,3) = rho  * u1
147*59599516SKenneth E. Jansenc       A1(:,3,4) = zero
148*59599516SKenneth E. Jansen        A1(:,3,5) = drdT * u1 * u2
149*59599516SKenneth E. Jansenc
150*59599516SKenneth E. Jansen        A1(:,4,1) = drdp * u1 * u3
151*59599516SKenneth E. Jansen        A1(:,4,2) = rho  * u3
152*59599516SKenneth E. Jansenc       A1(:,4,3) = zero
153*59599516SKenneth E. Jansen        A1(:,4,4) = rho  * u1
154*59599516SKenneth E. Jansen        A1(:,4,5) = drdT * u1 * u3
155*59599516SKenneth E. Jansenc
156*59599516SKenneth E. Jansen        A1(:,5,1) = u1 * e2p
157*59599516SKenneth E. Jansen        A1(:,5,2) = e3p + rho * u1 * u1
158*59599516SKenneth E. Jansen        A1(:,5,3) = rho * u1 * u2
159*59599516SKenneth E. Jansen        A1(:,5,4) = rho * u1 * u3
160*59599516SKenneth E. Jansen        A1(:,5,5) = u1 * e4p
161*59599516SKenneth E. Jansenc
162*59599516SKenneth E. Jansen        flops = flops + 35*npro
163*59599516SKenneth E. Jansenc
164*59599516SKenneth E. Jansen        A2(:,1,1) = drdp * u2
165*59599516SKenneth E. Jansenc       A2(:,1,2) = zero
166*59599516SKenneth E. Jansen        A2(:,1,3) = rho
167*59599516SKenneth E. Jansenc       A2(:,1,4) = zero
168*59599516SKenneth E. Jansen        A2(:,1,5) = drdT * u2
169*59599516SKenneth E. Jansenc
170*59599516SKenneth E. Jansen        A2(:,2,1) = drdp * u1 * u2
171*59599516SKenneth E. Jansen        A2(:,2,2) = rho  * u2
172*59599516SKenneth E. Jansen        A2(:,2,3) = rho  * u1
173*59599516SKenneth E. Jansenc       A2(:,2,4) = zero
174*59599516SKenneth E. Jansen        A2(:,2,5) = drdT * u1 * u2
175*59599516SKenneth E. Jansenc
176*59599516SKenneth E. Jansen        A2(:,3,1) = drdp * u2 * u2 +1
177*59599516SKenneth E. Jansenc       A2(:,3,2) = zero
178*59599516SKenneth E. Jansen        A2(:,3,3) = two * rho  * u2
179*59599516SKenneth E. Jansenc       A2(:,3,4) = zero
180*59599516SKenneth E. Jansen        A2(:,3,5) = drdT * u2 * u2
181*59599516SKenneth E. Jansenc
182*59599516SKenneth E. Jansen        A2(:,4,1) = drdp * u2 * u3
183*59599516SKenneth E. Jansenc       A2(:,4,2) = zero
184*59599516SKenneth E. Jansen        A2(:,4,3) = rho  * u3
185*59599516SKenneth E. Jansen        A2(:,4,4) = rho  * u2
186*59599516SKenneth E. Jansen        A2(:,4,5) = drdT * u2 * u3
187*59599516SKenneth E. Jansenc
188*59599516SKenneth E. Jansen        A2(:,5,1) = u2 * e2p
189*59599516SKenneth E. Jansen        A2(:,5,2) = rho * u1 * u2
190*59599516SKenneth E. Jansen        A2(:,5,3) = e3p + rho * u2 * u2
191*59599516SKenneth E. Jansen        A2(:,5,4) = rho * u2 * u3
192*59599516SKenneth E. Jansen        A2(:,5,5) = u2 * e4p
193*59599516SKenneth E. Jansenc
194*59599516SKenneth E. Jansen        flops = flops + 35*npro
195*59599516SKenneth E. Jansenc
196*59599516SKenneth E. Jansen        A3(:,1,1) = drdp * u3
197*59599516SKenneth E. Jansenc       A3(:,1,2) = zero
198*59599516SKenneth E. Jansenc       A3(:,1,3) = zero
199*59599516SKenneth E. Jansen        A3(:,1,4) = rho
200*59599516SKenneth E. Jansen        A3(:,1,5) = drdT * u3
201*59599516SKenneth E. Jansenc
202*59599516SKenneth E. Jansen        A3(:,2,1) = drdp * u1 * u3
203*59599516SKenneth E. Jansen        A3(:,2,2) = rho  * u3
204*59599516SKenneth E. Jansenc       A3(:,2,3) = zero
205*59599516SKenneth E. Jansen        A3(:,2,4) = rho  * u1
206*59599516SKenneth E. Jansen        A3(:,2,5) = drdT * u1 * u3
207*59599516SKenneth E. Jansenc
208*59599516SKenneth E. Jansen        A3(:,3,1) = drdp * u3 * u2
209*59599516SKenneth E. Jansenc       A3(:,3,2) = zero
210*59599516SKenneth E. Jansen        A3(:,3,3) = rho  * u3
211*59599516SKenneth E. Jansen        A3(:,3,4) = rho  * u2
212*59599516SKenneth E. Jansen        A3(:,3,5) = drdT * u3 * u2
213*59599516SKenneth E. Jansenc
214*59599516SKenneth E. Jansen        A3(:,4,1) = drdp * u3 * u3 +1
215*59599516SKenneth E. Jansenc       A3(:,4,2) = zero
216*59599516SKenneth E. Jansenc       A3(:,4,3) = zero
217*59599516SKenneth E. Jansen        A3(:,4,4) = two *rho  * u3
218*59599516SKenneth E. Jansen        A3(:,4,5) = drdT * u3 * u3
219*59599516SKenneth E. Jansenc
220*59599516SKenneth E. Jansen        A3(:,5,1) = u3 * e2p
221*59599516SKenneth E. Jansen        A3(:,5,2) = rho * u1 * u3
222*59599516SKenneth E. Jansen        A3(:,5,3) = rho * u2 * u3
223*59599516SKenneth E. Jansen        A3(:,5,4) = e3p + rho * u3 * u3
224*59599516SKenneth E. Jansen        A3(:,5,5) = u3 * e4p
225*59599516SKenneth E. Jansenc
226*59599516SKenneth E. Jansen        flops = flops + 35*npro
227*59599516SKenneth E. Jansen	ttim(21) = ttim(21) + secs(0.0)
228*59599516SKenneth E. Jansen
229*59599516SKenneth E. Jansenc
230*59599516SKenneth E. Jansenc.... return
231*59599516SKenneth E. Jansenc
232*59599516SKenneth E. Jansen      if (idc .ne. 0) then
233*59599516SKenneth E. Jansenc.... for Discountinuity Capturing Term
234*59599516SKenneth E. Jansenc
235*59599516SKenneth E. Jansenc.... calculation of A0^DC matrix
236*59599516SKenneth E. Jansenc
237*59599516SKenneth E. Jansenc.... Ref P-163 of the handout
238*59599516SKenneth E. Jansenc
239*59599516SKenneth E. Jansen       s1 = one/(rho**2 * betaT * T)
240*59599516SKenneth E. Jansen       cv = cp - (alfap**2 * T/rho/betaT)
241*59599516SKenneth E. Jansen       A0DC(:,1) = (rho * betaT)**2*s1
242*59599516SKenneth E. Jansen       A0DC(:,2) = -rho*alfap*rho*betaT*s1
243*59599516SKenneth E. Jansen       A0DC(:,3) = rho/T
244*59599516SKenneth E. Jansen       A0DC(:,4) = (-rho*alfap)**2 * s1 + (rho*cv/T**2)
245*59599516SKenneth E. Jansenc
246*59599516SKenneth E. Jansenc.... calculation of A0^tilda^inverse matrix
247*59599516SKenneth E. Jansenc.... ref P-169 of the hand out
248*59599516SKenneth E. Jansenc
249*59599516SKenneth E. Jansen       fact1 = one/(rho*cv*T**2)
250*59599516SKenneth E. Jansen       d = alfap*T/rho/betaT
251*59599516SKenneth E. Jansen       e1bar = h - rk
252*59599516SKenneth E. Jansen       e2bar = e1bar - d
253*59599516SKenneth E. Jansen       e3bar = e2bar - cv * T
254*59599516SKenneth E. Jansen       e4bar = e2bar - 2* cv * T
255*59599516SKenneth E. Jansen       e5bar = e1bar**2 - 2*e1bar*d + 2*rk*cv*T + cp*T/rho/betaT
256*59599516SKenneth E. Jansen       c1bar = u1**2 + cv * T
257*59599516SKenneth E. Jansen       c2bar = u2**2 + cv * T
258*59599516SKenneth E. Jansen       c3bar = u3**2 + cv * T
259*59599516SKenneth E. Jansen       u12 = u1 * u2
260*59599516SKenneth E. Jansen       u31 = u3 * u1
261*59599516SKenneth E. Jansen       u23 = u2 * u3
262*59599516SKenneth E. Jansen       A0inv( :,1) = e5bar*fact1
263*59599516SKenneth E. Jansen       A0inv( :,2) = c1bar*fact1
264*59599516SKenneth E. Jansen       A0inv( :,3) = c2bar*fact1
265*59599516SKenneth E. Jansen       A0inv( :,4) = c3bar*fact1
266*59599516SKenneth E. Jansen       A0inv( :,5) = 1*fact1
267*59599516SKenneth E. Jansen       A0inv( :,6) = u1*e3bar*fact1
268*59599516SKenneth E. Jansen       A0inv( :,7) = u2*e3bar*fact1
269*59599516SKenneth E. Jansen       A0inv( :,8) = u3*e3bar*fact1
270*59599516SKenneth E. Jansen       A0inv( :,9) = -e2bar*fact1
271*59599516SKenneth E. Jansen       A0inv(:,10) = u12*fact1
272*59599516SKenneth E. Jansen       A0inv(:,11) = u31*fact1
273*59599516SKenneth E. Jansen       A0inv(:,12) = -u1*fact1
274*59599516SKenneth E. Jansen       A0inv(:,13) = u23*fact1
275*59599516SKenneth E. Jansen       A0inv(:,14) = -u2*fact1
276*59599516SKenneth E. Jansen       A0inv(:,15) = -u3*fact1
277*59599516SKenneth E. Jansenc
278*59599516SKenneth E. Jansenc.....calculation of dV/dY (derivative of entropy variables w.r.to primitive
279*59599516SKenneth E. Jansenc
280*59599516SKenneth E. Jansen      fact1 = 1/T
281*59599516SKenneth E. Jansen      fact2 = fact1/T
282*59599516SKenneth E. Jansen      dVdY( :,1) = fact1/rho
283*59599516SKenneth E. Jansen      dVdY( :,2) = -fact1*u1
284*59599516SKenneth E. Jansen      dVdY( :,3) =  fact1
285*59599516SKenneth E. Jansen      dVdY( :,4) =  -fact1*u2
286*59599516SKenneth E. Jansen      dVdY( :,5) =  zero
287*59599516SKenneth E. Jansen      dVdY( :,6) =  fact1
288*59599516SKenneth E. Jansen      dVdY( :,7) =  -fact1*u3
289*59599516SKenneth E. Jansen      dVdY( :,8) =  zero
290*59599516SKenneth E. Jansen      dVdY( :,9) =  zero
291*59599516SKenneth E. Jansen      dVdY(:,10) =  fact1
292*59599516SKenneth E. Jansen      dVdY(:,11) =  -(h-rk)*fact2
293*59599516SKenneth E. Jansen      dVdY(:,12) =  -fact2*u1
294*59599516SKenneth E. Jansen      dVdY(:,13) =  -fact2*u2
295*59599516SKenneth E. Jansen      dVdY(:,14) =  -fact2*u3
296*59599516SKenneth E. Jansen      dVdY(:,15) =   fact2
297*59599516SKenneth E. Jansen
298*59599516SKenneth E. Jansen      endif  !end of idc.ne.0
299*59599516SKenneth E. Jansen
300*59599516SKenneth E. Jansen        return
301*59599516SKenneth E. Jansen        end
302*59599516SKenneth E. Jansenc
303*59599516SKenneth E. Jansenc
304*59599516SKenneth E. Jansen        subroutine e3mtrxSclr (rho,
305*59599516SKenneth E. Jansen     &                         u1,     u2,   u3,
306*59599516SKenneth E. Jansen     &                         A0t,    A1t,
307*59599516SKenneth E. Jansen     &                         A2t,    A3t  )
308*59599516SKenneth E. Jansenc
309*59599516SKenneth E. Jansenc----------------------------------------------------------------------
310*59599516SKenneth E. Jansenc
311*59599516SKenneth E. Jansenc This routine sets up the necessary matrices at the integration point.
312*59599516SKenneth E. Jansenc
313*59599516SKenneth E. Jansenc input:
314*59599516SKenneth E. Jansenc  rho   (npro)         : density
315*59599516SKenneth E. Jansenc  u1    (npro)         : x1-velocity component
316*59599516SKenneth E. Jansenc  u2    (npro)         : x2-velocity component
317*59599516SKenneth E. Jansenc  u3    (npro)         : x3-velocity component
318*59599516SKenneth E. Jansenc
319*59599516SKenneth E. Jansenc output:
320*59599516SKenneth E. Jansenc  A0t    (npro) : A_0 "matrix"
321*59599516SKenneth E. Jansenc  A1t   (npro)  : A_1 "matrix"
322*59599516SKenneth E. Jansenc  A2t   (npro)  : A_2 "matrix"
323*59599516SKenneth E. Jansenc  A3t   (npro)  : A_3 "matrix"
324*59599516SKenneth E. Jansenc
325*59599516SKenneth E. Jansenc Note: the definition of the matrices can be found in
326*59599516SKenneth E. Jansenc       thesis by Hauke.
327*59599516SKenneth E. Jansenc
328*59599516SKenneth E. Jansenc Zdenek Johan, Summer 1990.  (Modified from e2mtrx.f)
329*59599516SKenneth E. Jansenc Zdenek Johan, Winter 1991.  (Fortran 90)
330*59599516SKenneth E. Jansenc Kenneth Jansen, Winter 1997 Primitive Variables
331*59599516SKenneth E. Jansenc----------------------------------------------------------------------
332*59599516SKenneth E. Jansenc
333*59599516SKenneth E. Jansen        include "common.h"
334*59599516SKenneth E. Jansenc
335*59599516SKenneth E. Jansenc
336*59599516SKenneth E. Jansenc  passed arrays
337*59599516SKenneth E. Jansenc
338*59599516SKenneth E. Jansen        dimension rho(npro),
339*59599516SKenneth E. Jansen     &            u1(npro),        u2(npro),
340*59599516SKenneth E. Jansen     &            u3(npro),
341*59599516SKenneth E. Jansen     &            A0t(npro),
342*59599516SKenneth E. Jansen     &            A1t(npro),       A2t(npro),
343*59599516SKenneth E. Jansen     &            A3t(npro)
344*59599516SKenneth E. Jansenc
345*59599516SKenneth E. Jansen        if (iconvsclr.eq.2) then  !convective form
346*59599516SKenneth E. Jansen           A0t(:) = one
347*59599516SKenneth E. Jansen           A1t(:) = u1(:)
348*59599516SKenneth E. Jansen           A2t(:) = u2(:)
349*59599516SKenneth E. Jansen           A3t(:) = u3(:)
350*59599516SKenneth E. Jansen        else                    !conservative form
351*59599516SKenneth E. Jansen           A0t(:) = rho(:)
352*59599516SKenneth E. Jansen           A1t(:) = rho(:)*u1(:)
353*59599516SKenneth E. Jansen           A2t(:) = rho(:)*u2(:)
354*59599516SKenneth E. Jansen           A3t(:) = rho(:)*u3(:)
355*59599516SKenneth E. Jansen        endif
356*59599516SKenneth E. Jansen
357*59599516SKenneth E. Jansenc
358*59599516SKenneth E. Jansenc.... return
359*59599516SKenneth E. Jansenc
360*59599516SKenneth E. Jansen        return
361*59599516SKenneth E. Jansen        end
362*59599516SKenneth E. Jansen
363*59599516SKenneth E. Jansen
364