46 "Lax-Friedrichs Solver for LEE");
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));
105 a_1_max = std::max(a_1_max,
std::abs(u0L + cL));
106 a_1_max = std::max(a_1_max,
std::abs(u0R + cR));
108 NekDouble pFL = rhouL * c0sqL + u0L * pL;
114 NekDouble pFR = rhouR * c0sqR + u0R * pR;
121 pF = 0.5 * (pFL + pFR - a_1_max * (pR - pL));
122 rhoF = 0.5 * (rhoFL + rhoFR - a_1_max * (rhoR - rhoL));
123 rhouF = 0.5 * (rhouFL + rhouFR - a_1_max * (rhouR - rhouL));
124 rhovF = 0.5 * (rhovFL + rhovFR - a_1_max * (rhovR - rhovL));
125 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)