44 "AUSM3 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));
103 NekDouble Mtilde = 0.5 * (ML * ML + MR * MR);
104 NekDouble Mo = std::min(1.0, std::max(Mtilde, Mco*Mco));
112 NekDouble Mp = -(Kp / fa) * ((pR - pL) / (rhoA * cA * cA)) *
113 std::max(1.0 - sigma * Mtilde, 0.0);
118 NekDouble pu = -2.0 * Ku * rhoA * cA * cA * (MR - ML) *
126 rhof = cA * Mbar * rhoL;
127 rhouf = cA * Mbar * rhoL * uL + pbar;
128 rhovf = cA * Mbar * rhoL * vL;
129 rhowf = cA * Mbar * rhoL * wL;
130 Ef = cA * Mbar * (EL + pL);
134 rhof = cA * Mbar * rhoR;
135 rhouf = cA * Mbar * rhoR * uR + pbar;
136 rhovf = cA * Mbar * rhoR * vR;
137 rhowf = cA * Mbar * rhoR * wR;
138 Ef = cA * Mbar * (ER + pR);
148 out = 0.5 * (M + fabs(M));
152 out = 0.5 * (M - fabs(M));
164 out = 0.25 * (M + 1.0) * (M + 1.0);
168 out = -0.25 * (M - 1.0) * (M - 1.0);
213 out *= (2.0 - M) - 16.0 * alpha * M *
M2Function(1, M);
217 out *= (-2.0 - M) + 16.0 * alpha * M *
M2Function(0, M);
double P5Function(int A, double alpha, double M)
double M1Function(int A, double M)
RiemannSolverFactory & GetRiemannSolverFactory()
static RiemannSolverSharedPtr create()
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)
AUSM3 Riemann solver.
double M4Function(int A, double beta, double M)
std::map< std::string, RSParamFuncType > m_params
Map of parameter function types.
static std::string solverName
double M2Function(int A, double M)
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.