1*59599516SKenneth E. Jansen subroutine e3massr (aci, dui, ri, 2*59599516SKenneth E. Jansen & rmi, A0) 3*59599516SKenneth E. Jansenc 4*59599516SKenneth E. Jansenc---------------------------------------------------------------------- 5*59599516SKenneth E. Jansenc 6*59599516SKenneth E. Jansenc This routine calculates the contribution of the jump condition 7*59599516SKenneth E. Jansenc and the time flux to RHS and LHS. 8*59599516SKenneth E. Jansenc 9*59599516SKenneth E. Jansenc input: 10*59599516SKenneth E. Jansenc aci (npro,nflow) : Y variable acceleration 11*59599516SKenneth E. Jansenc dui (npro,nflow) : dU variables at previous step 12*59599516SKenneth E. Jansenc A0 (npro,nflow,nflow) : weighted Jacobian 13*59599516SKenneth E. Jansenc 14*59599516SKenneth E. Jansenc output: 15*59599516SKenneth E. Jansenc ri (npro,nflow*(nsd+1)) : partial residual 16*59599516SKenneth E. Jansenc rmi (npro,nflow*(nsd+1)) : partial modified residual 17*59599516SKenneth E. Jansenc 18*59599516SKenneth E. Jansenc 19*59599516SKenneth E. Jansenc 20*59599516SKenneth E. Jansenc Zdenek Johan, Summer 1990. (Modified from e2jump.f) 21*59599516SKenneth E. Jansenc Zdenek Johan, Winter 1991. (Fortran 90) 22*59599516SKenneth E. Jansenc Kenneth Jansen, Winter 1997 Prim Variables 23*59599516SKenneth E. Jansenc---------------------------------------------------------------------- 24*59599516SKenneth E. Jansenc 25*59599516SKenneth E. Jansen include "common.h" 26*59599516SKenneth E. Jansenc 27*59599516SKenneth E. Jansen dimension aci(npro,nflow), dui(npro,nflow), 28*59599516SKenneth E. Jansen & ri(npro,nflow*(nsd+1)), 29*59599516SKenneth E. Jansen & rmi(npro,nflow*(nsd+1)), A0(npro,nflow,nflow) 30*59599516SKenneth E. Jansenc 31*59599516SKenneth E. Jansenc 32*59599516SKenneth E. Jansenc.... add contribution of U at previous step 33*59599516SKenneth E. Jansenc 34*59599516SKenneth E. Jansen if(ires.eq.1 .or. ires .eq. 3) then 35*59599516SKenneth E. Jansen 36*59599516SKenneth E. Jansen ri(:,16) = ri(:,16) 37*59599516SKenneth E. Jansen & + A0(:,1,1)*aci(:,1) 38*59599516SKenneth E. Jansenc & + A0(:,1,2)*aci(:,2) 39*59599516SKenneth E. Jansenc & + A0(:,1,3)*aci(:,3) 40*59599516SKenneth E. Jansenc & + A0(:,1,4)*aci(:,4) 41*59599516SKenneth E. Jansen & + A0(:,1,5)*aci(:,5) 42*59599516SKenneth E. Jansenc 43*59599516SKenneth E. Jansen ri(:,17) = ri(:,17) 44*59599516SKenneth E. Jansen & + A0(:,2,1)*aci(:,1) 45*59599516SKenneth E. Jansen & + A0(:,2,2)*aci(:,2) 46*59599516SKenneth E. Jansenc & + A0(:,2,3)*aci(:,3) 47*59599516SKenneth E. Jansenc & + A0(:,2,4)*aci(:,4) 48*59599516SKenneth E. Jansen & + A0(:,2,5)*aci(:,5) 49*59599516SKenneth E. Jansenc 50*59599516SKenneth E. Jansen ri(:,18) = ri(:,18) 51*59599516SKenneth E. Jansen & + A0(:,3,1)*aci(:,1) 52*59599516SKenneth E. Jansenc & + A0(:,3,2)*aci(:,2) 53*59599516SKenneth E. Jansen & + A0(:,3,3)*aci(:,3) 54*59599516SKenneth E. Jansenc & + A0(:,3,4)*aci(:,4) 55*59599516SKenneth E. Jansen & + A0(:,3,5)*aci(:,5) 56*59599516SKenneth E. Jansenc 57*59599516SKenneth E. Jansen ri(:,19) = ri(:,19) 58*59599516SKenneth E. Jansen & + A0(:,4,1)*aci(:,1) 59*59599516SKenneth E. Jansenc & + A0(:,4,2)*aci(:,2) 60*59599516SKenneth E. Jansenc & + A0(:,4,3)*aci(:,3) 61*59599516SKenneth E. Jansen & + A0(:,4,4)*aci(:,4) 62*59599516SKenneth E. Jansen & + A0(:,4,5)*aci(:,5) 63*59599516SKenneth E. Jansenc 64*59599516SKenneth E. Jansen ri(:,20) = ri(:,20) 65*59599516SKenneth E. Jansen & + A0(:,5,1)*aci(:,1) 66*59599516SKenneth E. Jansen & + A0(:,5,2)*aci(:,2) 67*59599516SKenneth E. Jansen & + A0(:,5,3)*aci(:,3) 68*59599516SKenneth E. Jansen & + A0(:,5,4)*aci(:,4) 69*59599516SKenneth E. Jansen & + A0(:,5,5)*aci(:,5) 70*59599516SKenneth E. Jansenc 71*59599516SKenneth E. Jansen 72*59599516SKenneth E. Jansen endif 73*59599516SKenneth E. Jansen if(ires.ne.1) then 74*59599516SKenneth E. Jansenc 75*59599516SKenneth E. Jansenc the modified residual 76*59599516SKenneth E. Jansenc 77*59599516SKenneth E. Jansen fct1=almi/gami/alfi*dtgl 78*59599516SKenneth E. Jansen 79*59599516SKenneth E. Jansen rmi(:,16) = rmi(:,16) + fct1*dui(:,1) 80*59599516SKenneth E. Jansen rmi(:,17) = rmi(:,17) + fct1*dui(:,2) 81*59599516SKenneth E. Jansen rmi(:,18) = rmi(:,18) + fct1*dui(:,3) 82*59599516SKenneth E. Jansen rmi(:,19) = rmi(:,19) + fct1*dui(:,4) 83*59599516SKenneth E. Jansen rmi(:,20) = rmi(:,20) + fct1*dui(:,5) 84*59599516SKenneth E. Jansen 85*59599516SKenneth E. Jansen endif 86*59599516SKenneth E. Jansen 87*59599516SKenneth E. Jansenc 88*59599516SKenneth E. Jansenc.... return 89*59599516SKenneth E. Jansenc 90*59599516SKenneth E. Jansen return 91*59599516SKenneth E. Jansen end 92*59599516SKenneth E. Jansenc 93*59599516SKenneth E. Jansenc 94*59599516SKenneth E. Jansenc 95*59599516SKenneth E. Jansen subroutine e3massrSclr (acti, rti, A0t) 96*59599516SKenneth E. Jansenc 97*59599516SKenneth E. Jansenc---------------------------------------------------------------------- 98*59599516SKenneth E. Jansenc 99*59599516SKenneth E. Jansenc This routine calculates the contribution of the jump condition 100*59599516SKenneth E. Jansenc and the time flux to RHS and LHS. 101*59599516SKenneth E. Jansenc 102*59599516SKenneth E. Jansenc input: 103*59599516SKenneth E. Jansenc acti (npro) : scalar variable acceleration 104*59599516SKenneth E. Jansenc A0t (npro) : weighted Jacobian 105*59599516SKenneth E. Jansenc 106*59599516SKenneth E. Jansenc output: 107*59599516SKenneth E. Jansenc rti (npro,nsd+1) : partial residual 108*59599516SKenneth E. Jansenc 109*59599516SKenneth E. Jansenc 110*59599516SKenneth E. Jansenc 111*59599516SKenneth E. Jansenc Zdenek Johan, Summer 1990. (Modified from e2jump.f) 112*59599516SKenneth E. Jansenc Zdenek Johan, Winter 1991. (Fortran 90) 113*59599516SKenneth E. Jansenc Kenneth Jansen, Winter 1997 Prim Variables 114*59599516SKenneth E. Jansenc---------------------------------------------------------------------- 115*59599516SKenneth E. Jansenc 116*59599516SKenneth E. Jansen include "common.h" 117*59599516SKenneth E. Jansenc 118*59599516SKenneth E. Jansen dimension acti(npro), 119*59599516SKenneth E. Jansen & rti(npro,nsd+1), 120*59599516SKenneth E. Jansen & rmti(npro,nsd+1), A0t(npro) 121*59599516SKenneth E. Jansenc 122*59599516SKenneth E. Jansenc 123*59599516SKenneth E. Jansenc.... add contribution of U at previous step 124*59599516SKenneth E. Jansenc 125*59599516SKenneth E. Jansen if(ires.eq.1 .or. ires .eq. 3) then 126*59599516SKenneth E. Jansen 127*59599516SKenneth E. Jansen rti(:,4) = rti(:,4) + A0t(:)*acti(:) 128*59599516SKenneth E. Jansen 129*59599516SKenneth E. Jansen endif 130*59599516SKenneth E. Jansen 131*59599516SKenneth E. Jansen 132*59599516SKenneth E. Jansenc if(ires.ne.1) then 133*59599516SKenneth E. Jansenc 134*59599516SKenneth E. Jansenc the modified residual 135*59599516SKenneth E. Jansenc 136*59599516SKenneth E. Jansenc fct1=almi/gami/alfi*dtgl 137*59599516SKenneth E. Jansenc 138*59599516SKenneth E. Jansenc rmi(:,4) = rmi(:,4) + fct1*duti(:) 139*59599516SKenneth E. Jansenc 140*59599516SKenneth E. Jansenc endif 141*59599516SKenneth E. Jansen 142*59599516SKenneth E. Jansenc 143*59599516SKenneth E. Jansenc.... return 144*59599516SKenneth E. Jansenc 145*59599516SKenneth E. Jansen return 146*59599516SKenneth E. Jansen end 147*59599516SKenneth E. Jansen 148