45 "Linear HLL Riemann solver");
68 double etaL,
double uL,
double vL,
double dL,
69 double etaR,
double uR,
double vR,
double dR,
70 double &etaf,
double &uf,
double &vf)
76 ASSERTL0(
false,
"not constant depth in LinearHLL");
100 etaf = (SR * dL * uL - SL * dR * uR +
101 SL * SR * (etaR - etaL)) / (SR - SL);
102 uf = (SR * g * etaL - SL * g * etaR +
103 SL * SR * (uR - uL)) / (SR - SL);
104 vf = (SL * SR * (vR - vL)) / (SR - SL);
#define ASSERTL0(condition, msg)
static std::string solverName
static RiemannSolverSharedPtr create()
RiemannSolverFactory & GetRiemannSolverFactory()
virtual void v_PointSolve(double etaL, double uL, double vL, double dL, double etaR, double uR, double vR, double dR, double &etaf, double &uf, double &vf)
HLL Riemann solver for the linear Shallow Water Equations.
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.