Class template Dune::GDT::EulerTools¶
-
template<size_t d, class R = double>
class Dune::GDT::EulerTools<d, R>¶ A collection of useful tools in the context of the Euler equations.
In paritcular, provides
conversion between primitive (physical) variables - density rho: R^d -> R - velocity v: R^d -> R^d - pressure p: R^d -> R and conservative variables w = (rho, rhov[1], …, rhov[d], E): R^d -> R^m, with m = d + 2 and - total energy E: R^d -> R;
evaluation of the euler fluxes f_1, …, f_d: R^m -> R^m and their respective jacobians A_1, …, A_d;
the eigendecomposition T^{-1} P T = diagonal( lambda_1 , …, lambda_m ) with - P = A * n (n being a unit normal) - the eigenvalues lambda_i of P - the (right) eigenvectors T of P - the (left eigenvectors) inverse of the (right) eigenvectors T^{-1} of P;
some quantities of interest - speed of sound - mach number - enthalpy;
a means to visualize a function representing the conservative variables w.
See also: [Dolejsi, Feistauer, 2016, pp. 404 and following], [Kröner, 1997, p. 387] for 1d and 2d
Method Dune::GDT::EulerTools::density_index¶
-
template<size_t d, class R = double>
static int Dune::GDT::EulerTools<d, R>::density_index()¶ Note
While the indices may seem silly, using them helps to reduce typo induced errors.
Method Dune::GDT::EulerTools::velocity_indices¶
-
template<size_t d, class R = double>
static int Dune::GDT::EulerTools<d, R>::velocity_indices()¶ No documentation provided.
Method Dune::GDT::EulerTools::energy_index¶
-
template<size_t d, class R = double>
static int Dune::GDT::EulerTools<d, R>::energy_index()¶ No documentation provided.
Method Dune::GDT::EulerTools::pressure_index¶
-
template<size_t d, class R = double>
static int Dune::GDT::EulerTools<d, R>::pressure_index()¶ No documentation provided.
Method Dune::GDT::EulerTools::density¶
- template<size_t d, class R = double> XT::Common::FieldVector<R, 1> Dune::GDT::EulerTools<d, R>::density(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::velocity¶
- template<size_t d, class R = double> XT::Common::FieldVector<R, d> Dune::GDT::EulerTools<d, R>::velocity(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::energy¶
- template<size_t d, class R = double> XT::Common::FieldVector<R, 1> Dune::GDT::EulerTools<d, R>::energy(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::energy¶
-
template<size_t d, class R = double>
XT::Common::FieldVector<R, 1> Dune::GDT::EulerTools<d, R>::energy(const FieldVector<R, 1> &rho, const FieldVector<R, d> &v, const FieldVector<R, 1> &p) const¶ No documentation provided.
Method Dune::GDT::EulerTools::primitive¶
- template<size_t d, class R = double> XT::Common::FieldVector<R, <recovery-expr>()> Dune::GDT::EulerTools<d, R>::primitive(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::primitives¶
- template<size_t d, class R = double> std::tuple<XT::Common::FieldVector<R, 1>, XT::Common::FieldVector<R, d>, XT::Common::FieldVector<R, 1>> Dune::GDT::EulerTools<d, R>::primitives(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::pressure¶
- template<size_t d, class R = double> XT::Common::FieldVector<R, 1> Dune::GDT::EulerTools<d, R>::pressure(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::conservative¶
- template<size_t d, class R = double> XT::Common::FieldVector<R, <recovery-expr>()> Dune::GDT::EulerTools<d, R>::conservative(const FieldVector<R, 1> &rho, const XT::Common::FieldVector<R, d> &v, const FieldVector<R, 1> &p) const
No documentation provided.
Method Dune::GDT::EulerTools::speed_of_sound2¶
- template<size_t d, class R = double> R Dune::GDT::EulerTools<d, R>::speed_of_sound2(const FieldVector<R, <recovery-expr>()> &w) const
Method Dune::GDT::EulerTools::speed_of_sound2¶
-
template<size_t d, class R = double>
R Dune::GDT::EulerTools<d, R>::speed_of_sound2(const FieldVector<R, 1> &rho, const FieldVector<R, 1> &p) const¶ No documentation provided.
Method Dune::GDT::EulerTools::speed_of_sound¶
- template<size_t d, class R = double> R Dune::GDT::EulerTools<d, R>::speed_of_sound(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::speed_of_sound¶
-
template<size_t d, class R = double>
R Dune::GDT::EulerTools<d, R>::speed_of_sound(const FieldVector<R, 1> &rho, const FieldVector<R, 1> &p) const¶ No documentation provided.
Method Dune::GDT::EulerTools::mach_number¶
- template<size_t d, class R = double> R Dune::GDT::EulerTools<d, R>::mach_number(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::mach_number¶
-
template<size_t d, class R = double>
R Dune::GDT::EulerTools<d, R>::mach_number(const FieldVector<R, 1> &rho, const FieldVector<R, d> &v, const FieldVector<R, 1> &p) const¶ No documentation provided.
Method Dune::GDT::EulerTools::enthalpy¶
- template<size_t d, class R = double> R Dune::GDT::EulerTools<d, R>::enthalpy(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::enthalpy¶
-
template<size_t d, class R = double>
R Dune::GDT::EulerTools<d, R>::enthalpy(const FieldVector<R, 1> &rho, const FieldVector<R, 1> &E, const FieldVector<R, 1> &p) const¶ No documentation provided.
Method Dune::GDT::EulerTools::flux_order¶
-
template<size_t d, class R = double>
int Dune::GDT::EulerTools<d, R>::flux_order() const¶ \ }
To access the flux f and its jacobian.
\ {
Method Dune::GDT::EulerTools::flux¶
- template<size_t d, class R = double> XT::Common::FieldMatrix<R, d, <recovery-expr>()> Dune::GDT::EulerTools<d, R>::flux(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::flux_at_impermeable_walls¶
- template<size_t d, class R = double> XT::Common::FieldVector<R, <recovery-expr>()> Dune::GDT::EulerTools<d, R>::flux_at_impermeable_walls(const FieldVector<R, <recovery-expr>()> &w, const XT::Common::FieldVector<double, d> &n) const
The Euler flux at impermeable walls (e.g., v*n = 0).
See also: [DF2015, p. 414, (8.58)]
Method Dune::GDT::EulerTools::flux_jacobian¶
- template<size_t d, class R = double> int Dune::GDT::EulerTools<d, R>::flux_jacobian(const FieldVector<R, <recovery-expr>()> &w) const
No documentation provided.
Method Dune::GDT::EulerTools::eigenvalues_flux_jacobian¶
- template<size_t d, class R = double> XT::Common::FieldVector<R, <recovery-expr>()> Dune::GDT::EulerTools<d, R>::eigenvalues_flux_jacobian(const FieldVector<R, <recovery-expr>()> &w, const FieldVector<double, d> &n) const
See also: [Kröner, 1997, p. 387] for 1d and 2d
Method Dune::GDT::EulerTools::eigenvectors_flux_jacobian¶
- template<size_t d, class R = double> XT::Common::FieldMatrix<R, <recovery-expr>(), <recovery-expr>()> Dune::GDT::EulerTools<d, R>::eigenvectors_flux_jacobian(const FieldVector<R, <recovery-expr>()> &w, const FieldVector<double, d> &n) const
See also: [Kröner, 1997, p. 387, M T] for 1d and 2d
Method Dune::GDT::EulerTools::eigenvectors_inv_flux_jacobian¶
- template<size_t d, class R = double> XT::Common::FieldMatrix<R, <recovery-expr>(), <recovery-expr>()> Dune::GDT::EulerTools<d, R>::eigenvectors_inv_flux_jacobian(const FieldVector<R, <recovery-expr>()> &w, const FieldVector<double, d> &n) const
See also: [Kröner, 1997, p. 387, (M T)^{-1}] (with q = 1 in the top left entry) for 1d and 2d
Constructor Dune::GDT::EulerTools::EulerTools<d, R>¶
Field Dune::GDT::EulerTools::gamma_¶
-
const double Dune::GDT::EulerTools::gamma_¶
No documentation provided.
Variable Dune::GDT::EulerTools::m¶
-
const int Dune::GDT::EulerTools::m¶
No documentation provided.
Function template Dune::GDT::EulerTools::visualize¶
- template<size_t d, class R = double> template <class E, class GL> int Dune::GDT::EulerTools<d, R>::visualize(const XT::Functions::GridFunctionInterface<E, <recovery-expr>(), 1, R> &u_conservative, const GL &grid_layer, const std::string filename_prefix, const std::string filename_suffix, const bool subsampling = false) const