68 double rhowL,
double EL,
double rhoR,
double rhouR,
69 double rhovR,
double rhowR,
double ER,
70 double &rhof,
double &rhouf,
double &rhovf,
71 double &rhowf,
double &Ef)
82 NekDouble eL = (EL - 0.5 * (rhouL * uL + rhovL * vL + rhowL * wL)) / rhoL;
83 NekDouble eR = (ER - 0.5 * (rhouR * uR + rhovR * vR + rhowR * wR)) / rhoR;
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 URoe2 = uRoe * uRoe + vRoe * vRoe + wRoe * wRoe;
105 NekDouble HRoe = (srL * HL + srR * HR) / srLR;
107 srR, HRoe, URoe2, srLR);
110 NekDouble SL = std::min(uL - cL, uRoe - cRoe);
111 NekDouble SR = std::max(uR + cR, uRoe + cRoe);
117 rhouf = rhouL * uL + pL;
126 rhouf = rhouR * uR + pR;
136 rhof = (SR * rhouL - SL * rhouR + tmp2 * (rhoR - rhoL)) * tmp1;
137 rhouf = (SR * (rhouL * uL + pL) - SL * (rhouR * uR + pR) +
138 tmp2 * (rhouR - rhouL)) *
141 (SR * rhouL * vL - SL * rhouR * vR + tmp2 * (rhovR - rhovL)) * tmp1;
143 (SR * rhouL * wL - SL * rhouR * wR + tmp2 * (rhowR - rhowL)) * tmp1;
144 Ef = (SR * uL * (EL + pL) - SL * uR * (ER + pR) + tmp2 * (ER - EL)) *
ND GetRoeSoundSpeed(ND rhoL, ND pL, ND eL, ND HL, ND srL, ND rhoR, ND pR, ND eR, ND HR, ND srR, ND HRoe, ND URoe2, ND srLR)
EquationOfStateSharedPtr m_eos
static std::string solverName
void v_PointSolve(double rhoL, double rhouL, double rhovL, double rhowL, double EL, double rhoR, double rhouR, double rhovR, double rhowR, double ER, double &rhof, double &rhouf, double &rhovf, double &rhowf, double &Ef) override
HLL Riemann solver.
HLLSolver(const LibUtilities::SessionReaderSharedPtr &pSession)
static RiemannSolverSharedPtr create(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)