44 "AUSM2 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));
106 NekDouble Mtilde = 0.5 * (ML * ML + MR * MR);
108 NekDouble Mp = -Kp * ((pR - pL) / (rhoA * cA * cA)) *
109 std::max(1.0 - sigma * Mtilde, 0.0);
114 NekDouble pu = -2.0 * Ku * rhoA * cA * cA * (MR - ML) *
122 rhof = cA * Mbar * rhoL;
123 rhouf = cA * Mbar * rhoL * uL + pbar;
124 rhovf = cA * Mbar * rhoL * vL;
125 rhowf = cA * Mbar * rhoL * wL;
126 Ef = cA * Mbar * (EL + pL);
130 rhof = cA * Mbar * rhoR;
131 rhouf = cA * Mbar * rhoR * uR + pbar;
132 rhovf = cA * Mbar * rhoR * vR;
133 rhowf = cA * Mbar * rhoR * wR;
134 Ef = cA * Mbar * (ER + pR);
144 out = 0.5 * (M + fabs(M));
148 out = 0.5 * (M - fabs(M));
160 out = 0.25 * (M + 1.0) * (M + 1.0);
164 out = -0.25 * (M - 1.0) * (M - 1.0);
209 out *= (2.0 - M) - 16.0 * alpha * M *
M2Function(1, M);
213 out *= (-2.0 - M) + 16.0 * alpha * M *
M2Function(0, M);
double M1Function(int A, double M)
static std::string solverName
RiemannSolverFactory & GetRiemannSolverFactory()
double M4Function(int A, double beta, double M)
virtual 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)
AUSM2 Riemann solver.
static RiemannSolverSharedPtr create()
std::map< std::string, RSParamFuncType > m_params
Map of parameter function types.
double P5Function(int A, double alpha, double M)
double M2Function(int A, double M)
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.