36 #include <boost/core/ignore_unused.hpp> 45 std::string APEUpwindSolver::solverName =
47 "APEUpwind", APEUpwindSolver::create,
48 "Upwind solver for the APE equation");
50 APEUpwindSolver::APEUpwindSolver(
95 boost::ignore_unused(rhoL, rhoR, rhoF);
112 pF = pF + 0.5 * (c0L - u0L) *
113 (-rho0L * v0L * vL * (c0L * u0L + c0sqL) -
114 rho0L * w0L * wL * (c0L * u0L + c0sqL) +
115 (c0sqL - pow(u0L, 2)) * (rho0L * c0L * uL - pL)) /
116 (c0sqL - pow(u0L, 2));
120 (rho0L * c0L * (c0L * u0L + c0sqL) * (v0L * vL + w0L * wL) -
121 rho0L * c0sqL * uL * (c0sqL - pow(u0L, 2)) +
122 c0L * pL * (c0sqL - pow(u0L, 2))) /
123 (rho0L * c0sqL * (c0sqL - pow(u0L, 2)));
127 pF = pF + 0.5 * (c0R - u0R) *
128 (-rho0R * v0R * vR * (c0R * u0R + c0sqR) -
129 rho0R * w0R * wR * (c0R * u0R + c0sqR) +
130 (c0sqR - pow(u0R, 2)) * (rho0R * c0R * uR - pR)) /
131 (c0sqR - pow(u0R, 2));
135 (rho0R * c0R * (c0R * u0R + c0sqR) * (v0R * vR + w0R * wR) -
136 rho0R * c0sqR * uR * (c0sqR - pow(u0R, 2)) +
137 c0R * pR * (c0sqR - pow(u0R, 2))) /
138 (rho0R * c0sqR * (c0sqR - pow(u0R, 2)));
144 pF = pF + 0.5 * (c0L + u0L) *
145 (-rho0L * v0L * vL * (c0L * u0L - c0sqL) -
146 rho0L * w0L * wL * (c0L * u0L - c0sqL) +
147 (c0sqL - pow(u0L, 2)) * (rho0L * c0L * uL + pL)) /
148 (c0sqL - pow(u0L, 2));
152 (-rho0L * c0L * (c0L * u0L - c0sqL) * (v0L * vL + w0L * wL) +
153 rho0L * c0sqL * uL * (c0sqL - pow(u0L, 2)) +
154 c0L * pL * (c0sqL - pow(u0L, 2))) /
155 (rho0L * c0sqL * (c0sqL - pow(u0L, 2)));
159 pF = pF + 0.5 * (c0R + u0R) *
160 (-rho0R * v0R * vR * (c0R * u0R - c0sqR) -
161 rho0R * w0R * wR * (c0R * u0R - c0sqR) +
162 (c0sqR - pow(u0R, 2)) * (rho0R * c0R * uR + pR)) /
163 (c0sqR - pow(u0R, 2));
167 (-rho0R * c0R * (c0R * u0R - c0sqR) * (v0R * vR + w0R * wR) +
168 rho0R * c0sqR * uR * (c0sqR - pow(u0R, 2)) +
169 c0R * pR * (c0sqR - pow(u0R, 2))) /
170 (rho0R * c0sqR * (c0sqR - pow(u0R, 2)));
virtual void v_PointSolve(NekDouble pL, NekDouble rhoL, NekDouble uL, NekDouble vL, NekDouble wL, NekDouble pR, NekDouble rhoR, NekDouble uR, NekDouble vR, NekDouble wR, NekDouble c0sqL, NekDouble rho0L, NekDouble u0L, NekDouble v0L, NekDouble w0L, NekDouble c0sqR, NekDouble rho0R, NekDouble u0R, NekDouble v0R, NekDouble w0R, NekDouble &pF, NekDouble &rhoF, NekDouble &uF, NekDouble &vF, NekDouble &wF)
Upwind Riemann solver.
RiemannSolverFactory & GetRiemannSolverFactory()
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
std::shared_ptr< SessionReader > SessionReaderSharedPtr