44 "Lax-Friedrichs Solver for LEE");
101 a_1_max = std::max(a_1_max,
std::abs(u0L - cL));
102 a_1_max = std::max(a_1_max,
std::abs(u0R - cR));
103 a_1_max = std::max(a_1_max,
std::abs(u0L + cL));
104 a_1_max = std::max(a_1_max,
std::abs(u0R + cR));
106 NekDouble pFL = rhouL * c0sqL + u0L * pL;
112 NekDouble pFR = rhouR * c0sqR + u0R * pR;
119 pF = 0.5 * (pFL + pFR - a_1_max * (pR - pL));
120 rhoF = 0.5 * (rhoFL + rhoFR - a_1_max * (rhoR - rhoL));
121 rhouF = 0.5 * (rhouFL + rhouFR - a_1_max * (rhouR - rhouL));
122 rhovF = 0.5 * (rhovFL + rhovFR - a_1_max * (rhovR - rhovL));
123 rhowF = 0.5 * (rhowFL + rhowFR - a_1_max * (rhowR - rhowL));
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
LEELaxFriedrichsSolver(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 > abs(scalarT< T > in)
scalarT< T > sqrt(scalarT< T > in)