44 "Lax-Friedrichs Riemann solver");
71 double rhoL,
double rhouL,
double rhovL,
double rhowL,
double EL,
72 double rhoR,
double rhouR,
double rhovR,
double rhowR,
double ER,
73 double &rhof,
double &rhouf,
double &rhovf,
double &rhowf,
double &Ef)
87 (EL - 0.5 * (rhouL * uL + rhovL * vL + rhowL * wL));
89 (ER - 0.5 * (rhouR * uR + rhovR * vR + rhowR * wR));
101 NekDouble uRoe = (srL * uL + srR * uR) / srLR;
102 NekDouble vRoe = (srL * vL + srR * vR) / srLR;
103 NekDouble wRoe = (srL * wL + srR * wR) / srLR;
104 NekDouble hRoe = (srL * hL + srR * hR) / srLR;
105 NekDouble URoe = (uRoe * uRoe + vRoe * vRoe + wRoe * wRoe);
106 NekDouble cRoe = sqrt((gamma - 1.0)*(hRoe - 0.5 * URoe));
109 URoe = fabs(uRoe) + cRoe;
112 rhof = 0.5*(rhouL + rhouR - URoe*(rhoR - rhoL));
113 rhouf = 0.5*(pL + rhouL*uL + pR + rhouR*uR - URoe*(rhouR - rhouL));
114 rhovf = 0.5*(rhouL*vL + rhouR*vR - URoe*(rhovR - rhovL));
115 rhowf = 0.5*(rhouL*wL + rhouR*wR - URoe*(rhowR - rhowL));
116 Ef = 0.5*(uL*(EL + pL) + uR*(ER + pR) - URoe*(ER - EL));
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.