43 "AUSM3 Riemann solver");
72 double rhoL,
double rhouL,
double rhovL,
double rhowL,
double EL,
73 double rhoR,
double rhouR,
double rhovR,
double rhowR,
double ER,
74 double &rhof,
double &rhouf,
double &rhovf,
double &rhowf,
double &Ef)
86 (EL - 0.5 * (rhouL * uL + rhovL * vL + rhowL * wL)) / rhoL;
88 (ER - 0.5 * (rhouR * uR + rhovR * vR + rhowR * wR)) / rhoR;
106 NekDouble Mtilde = 0.5 * (ML * ML + MR * MR);
107 NekDouble Mo = std::min(1.0, std::max(Mtilde, Mco*Mco));
115 NekDouble Mp = -(Kp / fa) * ((pR - pL) / (rhoA * cA * cA)) *
116 std::max(1.0 - sigma * Mtilde, 0.0);
121 NekDouble pu = -2.0 * Ku * rhoA * cA * cA * (MR - ML) *
129 rhof = cA * Mbar * rhoL;
130 rhouf = cA * Mbar * rhoL * uL + pbar;
131 rhovf = cA * Mbar * rhoL * vL;
132 rhowf = cA * Mbar * rhoL * wL;
133 Ef = cA * Mbar * (EL + pL);
137 rhof = cA * Mbar * rhoR;
138 rhouf = cA * Mbar * rhoR * uR + pbar;
139 rhovf = cA * Mbar * rhoR * vR;
140 rhowf = cA * Mbar * rhoR * wR;
141 Ef = cA * Mbar * (ER + pR);
151 out = 0.5 * (M + fabs(M));
155 out = 0.5 * (M - fabs(M));
167 out = 0.25 * (M + 1.0) * (M + 1.0);
171 out = -0.25 * (M - 1.0) * (M - 1.0);
216 out *= (2.0 - M) - 16.0 * alpha * M *
M2Function(1, M);
220 out *= (-2.0 - M) + 16.0 * alpha * M *
M2Function(0, M);
double M4Function(int A, double beta, double M)
double M2Function(int A, double M)
static RiemannSolverSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession)
AUSM3Solver(const LibUtilities::SessionReaderSharedPtr &pSession)
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.
static std::string solverName
double M1Function(int A, double M)
double P5Function(int A, double alpha, double M)
EquationOfStateSharedPtr m_eos
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
RiemannSolverFactory & GetRiemannSolverFactory()
The above copyright notice and this permission notice shall be included.