3 from .equation
import Equation
16 const double irho = 1.0 / Q[0];
17 constexpr double Gamma = """
20 const double p = (Gamma - 1.0) * (Q[4] - 0.5 * irho * (Q[1]*Q[1]+Q[2]*Q[2]+Q[3]*Q[3]));
22 const double c = std::sqrt(Gamma * p * irho);
23 const double u = Q[normal + 1] * irho;
25 return std::fmax(std::abs(u-c), std::abs(u+c));
29 const double irho = 1.0 / Q[0];
30 constexpr double Gamma = """
33 const double p = (Gamma - 1.0) * (Q[3] - 0.5 * irho * (Q[1]*Q[1]+Q[2]*Q[2]));
35 const double c = std::sqrt(Gamma * p * irho);
36 const double u = Q[normal + 1] * irho;
38 return std::fmax(std::abs(u-c), std::abs(u+c));
45 const double irho = 1.0 / Q[0];
46 constexpr double Gamma = """
49 const double p = (Gamma - 1.0) * (Q[4] - 0.5 * irho * (Q[1]*Q[1]+Q[2]*Q[2]+Q[3]*Q[3]));
52 F[1] = Q[normal + 1] * Q[1] * irho;
53 F[2] = Q[normal + 1] * Q[2] * irho;
54 F[3] = Q[normal + 1] * Q[3] * irho;
55 F[4] = Q[normal + 1] * irho * (Q[4] + p);
61 const double irho = 1.0 / Q[0];
62 constexpr double Gamma = """
65 const double p = (Gamma - 1.0) * (Q[3] - 0.5 * irho * (Q[1]*Q[1]+Q[2]*Q[2]));
68 F[1] = Q[normal + 1] * Q[1] * irho;
69 F[2] = Q[normal + 1] * Q[2] * irho;
70 F[3] = Q[normal + 1] * irho * (Q[3] + p);
int num_auxiliary_variables
def __init__(self, dimensions, gamma=1.4)