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