44 "LaxFriedrichs Riemann solver");
65 double hL,
double huL,
double hvL,
66 double hR,
double huR,
double hvR,
67 double &hf,
double &huf,
double &hvf)
87 NekDouble uRoe = (srL * uL + srR * uR) / srLR;
88 NekDouble cRoe = sqrt(0.5 * (cL * cL + cR * cR));
91 NekDouble S = std::max(uRoe+cRoe, std::max(uR+cR, -(uL-cL)));
100 hf = 0.5 * ((huL + huR) - sign * S * (hR -hL));
103 huf = 0.5 * ((hL * uL * uL + 0.5 * g * hL * hL +
104 hR * uR * uR + 0.5 * g * hR * hR) -
105 sign * S * (huR - huL));
108 hvf = 0.5 * ((hL * uL * vL + hR * uR * vR) -
109 sign * S * (hvR - hvL));
#define sign(a, b)
return the sign(b)*a
virtual void v_PointSolve(NekDouble pL, NekDouble rhoL, NekDouble uL, NekDouble vL, NekDouble wL, NekDouble pR, NekDouble rhoR, NekDouble uR, NekDouble vR, NekDouble wR, NekDouble p0, NekDouble rho0, NekDouble u0, NekDouble v0, NekDouble w0, NekDouble &pF, NekDouble &rhoF, NekDouble &uF, NekDouble &vF, NekDouble &wF)
Lax-Friedrichs Riemann solver.
RiemannSolverFactory & GetRiemannSolverFactory()
static std::string solverName
static RiemannSolverSharedPtr create()
std::map< std::string, RSParamFuncType > m_params
Map of parameter function types.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.