54 Set::Scalar p_L = (gamma-1.0) * (E_L - 0.5*rho_L*(u_L*u_L + v_L*v_L)) + p_ref;
55 Set::Scalar p_R = (gamma-1.0) * (E_R - 0.5*rho_R*(u_R*u_R + v_R*v_R)) + p_ref;
63 Set::Scalar pstar = std::max(0.0, 0.5*(p_L + p_R) - 0.5*(u_R - u_L)*rhobar*abar);
67 std::sqrt(1.0 + ((gamma+1)/(2*gamma)) * (pstar/p_L - 1.0));
70 std::sqrt(1.0 + ((gamma+1)/(2*gamma)) * (pstar/p_R - 1.0));
78 (p_R - p_L + rho_L*u_L*(S_L-u_L) - rho_R*u_R*(S_R-u_R)) /
79 ( rho_L*(S_L-u_L) - rho_R*(S_R - u_R) );
90 else if (S_L <= 0.0 && 0.0 < Sstar)
104 (E_L/rho_L) + (Sstar-u_L) * (Sstar + p_L/(rho_L*(S_L-u_L))));
105 Ustar_L *= rho_L*(S_L - u_L)/(S_L-Sstar);
107 return F_L + S_L*(Ustar_L - U_L);
109 else if (Sstar <= 0.0 && 0.0 <= S_R )
111 Flux F_R ( rho_R*u_R,
124 (E_R/rho_R) + (Sstar - u_R)*(Sstar + p_R/(rho_R*(S_R-u_R))));
125 Ustar_R *= rho_R*(S_R-u_R)/(S_R-Sstar);
127 return F_R + S_R*(Ustar_R - U_R);
131 Flux F_R ( rho_R*u_R,
143 return Flux(NAN,NAN,NAN,NAN);