36 #include <boost/core/ignore_unused.hpp> 45 std::string LEEUpwindSolver::solverName =
47 "LEEUpwind", LEEUpwindSolver::create,
"Upwind Solver for LEE");
52 LEEUpwindSolver::LEEUpwindSolver(
94 boost::ignore_unused(rho0L, v0L, w0L, rho0R, v0R, w0R);
112 rhoF = rhoF + u0L * (c0sqL * rhoL - pL) / c0sqL;
113 rhovF = rhovF + rhovL * u0L;
114 rhowF = rhowF + rhowL * u0L;
118 rhoF = rhoF + u0R * (c0sqR * rhoR - pR) / c0sqR;
119 rhovF = rhovF + rhovR * u0R;
120 rhowF = rhowF + rhowR * u0R;
126 pF = pF + 0.5 * (c0L - u0L) * (rhouL * c0L - pL);
127 rhoF = rhoF + 0.5 * (c0L - u0L) * (rhouL * c0sqL - c0L * pL) /
128 pow(c0sqL, 3.0 / 2.0);
129 rhouF = rhouF + 0.5 * (c0L - u0L) * (-rhouL * c0L + pL) / c0L;
133 pF = pF + 0.5 * (c0R - u0R) * (rhouR * c0R - pR);
134 rhoF = rhoF + 0.5 * (c0R - u0R) * (rhouR * c0sqR - c0R * pR) /
135 pow(c0sqR, 3.0 / 2.0);
136 rhouF = rhouF + 0.5 * (c0R - u0R) * (-rhouR * c0R + pR) / c0R;
142 pF = pF + 0.5 * (c0L + u0L) * (rhouL * c0L + pL);
143 rhoF = rhoF + 0.5 * (c0L + u0L) * (rhouL * c0sqL + c0L * pL) /
144 pow(c0sqL, 3.0 / 2.0);
145 rhouF = rhouF + 0.5 * (c0L + u0L) * (rhouL * c0L + pL) / c0L;
149 pF = pF + 0.5 * (c0R + u0R) * (rhouR * c0R + pR);
150 rhoF = rhoF + 0.5 * (c0R + u0R) * (rhouR * c0sqR + c0R * pR) /
151 pow(c0sqR, 3.0 / 2.0);
152 rhouF = rhouF + 0.5 * (c0R + u0R) * (rhouR * c0R + pR) / c0R;
RiemannSolverFactory & GetRiemannSolverFactory()
virtual void v_PointSolve(NekDouble pL, NekDouble rhoL, NekDouble rhouL, NekDouble rhovL, NekDouble rhowL, NekDouble pR, NekDouble rhoR, NekDouble rhouR, NekDouble rhovR, NekDouble rhowR, NekDouble c0sqL, NekDouble rho0L, NekDouble u0L, NekDouble v0L, NekDouble w0L, NekDouble c0sqR, NekDouble rho0R, NekDouble u0R, NekDouble v0R, NekDouble w0R, NekDouble &pF, NekDouble &rhoF, NekDouble &rhouF, NekDouble &rhovF, NekDouble &rhowF)
Lax-Friedrichs Riemann solver.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
std::shared_ptr< SessionReader > SessionReaderSharedPtr