68 double rhowL,
double EL,
double rhoR,
69 double rhouR,
double rhovR,
double rhowR,
70 double ER,
double &rhof,
double &rhouf,
71 double &rhovf,
double &rhowf,
double &Ef)
82 NekDouble eL = (EL - 0.5 * (rhouL * uL + rhovL * vL + rhowL * wL)) / rhoL;
83 NekDouble eR = (ER - 0.5 * (rhouR * uR + rhovR * vR + rhowR * wR)) / rhoR;
101 NekDouble Mtilde = 0.5 * (ML * ML + MR * MR);
102 NekDouble Mo = std::min(1.0, std::max(Mtilde, Mco * Mco));
110 NekDouble Mp = -(Kp / fa) * ((pR - pL) / (rhoA * cA * cA)) *
111 std::max(1.0 - sigma * Mtilde, 0.0);
115 NekDouble pu = -2.0 * Ku * rhoA * cA * cA * (MR - ML) *
123 rhof = cA * Mbar * rhoL;
124 rhouf = cA * Mbar * rhoL * uL + pbar;
125 rhovf = cA * Mbar * rhoL * vL;
126 rhowf = cA * Mbar * rhoL * wL;
127 Ef = cA * Mbar * (EL + pL);
131 rhof = cA * Mbar * rhoR;
132 rhouf = cA * Mbar * rhoR * uR + pbar;
133 rhovf = cA * Mbar * rhoR * vR;
134 rhowf = cA * Mbar * rhoR * wR;
135 Ef = cA * Mbar * (ER + pR);
145 out = 0.5 * (M + fabs(M));
149 out = 0.5 * (M - fabs(M));
161 out = 0.25 * (M + 1.0) * (M + 1.0);
165 out = -0.25 * (M - 1.0) * (M - 1.0);
210 out *= (2.0 - M) - 16.0 * alpha * M *
M2Function(1, M);
214 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)
static std::string solverName
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) override
AUSM3 Riemann solver.
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
@ beta
Gauss Radau pinned at x=-1,.
RiemannSolverFactory & GetRiemannSolverFactory()
The above copyright notice and this permission notice shall be included.