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;
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)