110 rhoF = rhoF + u0L * (c0sqL * rhoL - pL) / c0sqL;
111 rhovF = rhovF + rhovL * u0L;
112 rhowF = rhowF + rhowL * u0L;
116 rhoF = rhoF + u0R * (c0sqR * rhoR - pR) / c0sqR;
117 rhovF = rhovF + rhovR * u0R;
118 rhowF = rhowF + rhowR * u0R;
124 pF = pF + 0.5 * (c0L - u0L) * (rhouL * c0L - pL);
125 rhoF = rhoF + 0.5 * (c0L - u0L) * (rhouL * c0sqL - c0L * pL) /
126 pow(c0sqL, 3.0 / 2.0);
127 rhouF = rhouF + 0.5 * (c0L - u0L) * (-rhouL * c0L + pL) / c0L;
131 pF = pF + 0.5 * (c0R - u0R) * (rhouR * c0R - pR);
132 rhoF = rhoF + 0.5 * (c0R - u0R) * (rhouR * c0sqR - c0R * pR) /
133 pow(c0sqR, 3.0 / 2.0);
134 rhouF = rhouF + 0.5 * (c0R - u0R) * (-rhouR * c0R + pR) / c0R;
140 pF = pF + 0.5 * (c0L + u0L) * (rhouL * c0L + pL);
141 rhoF = rhoF + 0.5 * (c0L + u0L) * (rhouL * c0sqL + c0L * pL) /
142 pow(c0sqL, 3.0 / 2.0);
143 rhouF = rhouF + 0.5 * (c0L + u0L) * (rhouL * c0L + pL) / c0L;
147 pF = pF + 0.5 * (c0R + u0R) * (rhouR * c0R + pR);
148 rhoF = rhoF + 0.5 * (c0R + u0R) * (rhouR * c0sqR + c0R * pR) /
149 pow(c0sqR, 3.0 / 2.0);
150 rhouF = rhouF + 0.5 * (c0R + u0R) * (rhouR * c0R + pR) / c0R;
static RiemannSolverSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession)
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) override
Lax-Friedrichs Riemann solver.
static std::string solverName
LEEUpwindSolver(const LibUtilities::SessionReaderSharedPtr &pSession)
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
RiemannSolverFactory & GetRiemannSolverFactory()
scalarT< T > sqrt(scalarT< T > in)