44 "Linear HLL Riemann solver");
75 ASSERTL0(dL == dR,
"not constant depth in LinearHLL");
98 etaf = (SR * dL * uL - SL * dR * uR +
99 SL * SR * (etaR - etaL)) / (SR - SL);
100 uf = (SR * g * etaL - SL * g * etaR +
101 SL * SR * (uR - uL)) / (SR - SL);
102 vf = (SL * SR * (vR - vL)) / (SR - SL);
#define ASSERTL0(condition, msg)
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
virtual void v_PointSolve(NekDouble etaL, NekDouble uL, NekDouble vL, NekDouble dL, NekDouble etaR, NekDouble uR, NekDouble vR, NekDouble dR, NekDouble &etaf, NekDouble &uf, NekDouble &vf)
HLL Riemann solver for the linear Shallow Water Equations.
static std::string solverName
LinearHLLSolver(const LibUtilities::SessionReaderSharedPtr &pSession)
static RiemannSolverSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession)
std::map< std::string, RSParamFuncType > m_params
Map of parameter function types.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
RiemannSolverFactory & GetRiemannSolverFactory()
The above copyright notice and this permission notice shall be included.
scalarT< T > sqrt(scalarT< T > in)