![]() |
ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
|
#include <source/skeleton/hyperbolic_system.h>
Public Member Functions | |
Constructor and setup | |
| HyperbolicSystemView (const HyperbolicSystem &hyperbolic_system) | |
Computing derived physical quantities | |
| bool | is_admissible (const state_type &) const |
Special functions for boundary states | |
| template<typename Lambda > | |
| state_type | apply_boundary_conditions (const dealii::types::boundary_id, const state_type &U, const dealii::Tensor< 1, dim, Number > &, const Lambda &) const |
State transformations | |
| template<typename ST > | |
| state_type | expand_state (const ST &state) const |
| state_type | from_primitive_state (const state_type &primitive_state) const |
| state_type | to_primitive_state (const state_type &state) const |
| template<typename Lambda > | |
| state_type | apply_galilei_transform (const state_type &state, const Lambda &) const |
Flux computations | |
| static constexpr bool | have_high_order_flux = false |
| flux_contribution_type | flux_contribution (const PrecomputedVectorView &, const InitialPrecomputedVectorView &, const unsigned int, const state_type &) const |
| flux_contribution_type | flux_contribution (const PrecomputedVectorView &, const InitialPrecomputedVectorView &, const unsigned int *, const state_type &) const |
| state_type | flux_divergence (const flux_contribution_type &flux_i, const flux_contribution_type &flux_j, const dealii::Tensor< 1, dim, Number > &c_ij) const |
| state_type | high_order_flux_divergence (const flux_contribution_type &, const flux_contribution_type &, const dealii::Tensor< 1, dim, Number > &) const =delete |
Computing stencil source terms | |
| static constexpr bool | have_source_terms = false |
| state_type | nodal_source (const PrecomputedVectorView &, const unsigned int, const state_type &, const ScalarNumber) const =delete |
| state_type | nodal_source (const PrecomputedVectorView &, const unsigned int *, const state_type &, const ScalarNumber) const =delete |
A view on the HyperbolicSystem for a given dimension dim and choice of number type Number (which can be a scalar float, or double, as well as a VectorizedArray holding packed scalars.
Definition at line 110 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::ScalarNumber = typename get_value_type<Number>::type |
The underlying scalar number type.
Definition at line 121 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::state_type = dealii::Tensor<1, problem_dimension, Number> |
Storage type for a (conserved) state vector \(\boldsymbol U\).
Definition at line 131 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::flux_type = dealii::Tensor<1, problem_dimension, dealii::Tensor<1, dim, Number> > |
Storage type for the flux \(\mathbf{f}\).
Definition at line 136 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::flux_contribution_type = flux_type |
The storage type used for flux contributions.
Definition at line 142 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::precomputed_type = std::array<Number, n_precomputed_values> |
Array type used for precomputed values.
Definition at line 182 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::initial_precomputed_type = std::array<Number, n_initial_precomputed_values> |
Array type used for precomputed initial values.
Definition at line 198 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::StateVector = Vectors:: StateVector<ScalarNumber, problem_dimension, n_precomputed_values> |
A compound state vector.
Definition at line 210 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::HyperbolicVector = Vectors::MultiComponentVector<ScalarNumber, problem_dimension> |
MulticomponentVector for storing the hyperbolic state vector:
Definition at line 216 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::PrecomputedVector = Vectors::MultiComponentVector<ScalarNumber, n_precomputed_values> |
MulticomponentVector for storing a vector of precomputed states:
Definition at line 222 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::PrecomputedVectorView = Vectors::MultiComponentVectorView< ScalarNumber, n_precomputed_values, dealii::VectorizedArray<ScalarNumber>::size(), dealii::MemorySpace::Host, false> |
MulticomponentVectorView for accessing a vector of precomputed states:
Definition at line 229 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::InitialPrecomputedVector = Vectors::MultiComponentVector<ScalarNumber, n_initial_precomputed_values> |
MulticomponentVector for storing a vector of precomputed initial states:
Definition at line 240 of file hyperbolic_system.h.
| using ryujin::Skeleton::HyperbolicSystemView< dim, Number >::InitialPrecomputedVectorView = Vectors::MultiComponentVectorView< ScalarNumber, n_initial_precomputed_values, dealii::VectorizedArray<ScalarNumber>::size(), dealii::MemorySpace::Host, false> |
MulticomponentVectorView for accessing a vector of precomputed initial states:
Definition at line 248 of file hyperbolic_system.h.
|
inline |
Constructor taking a reference to the underlying HyperbolicSystem
Definition at line 265 of file hyperbolic_system.h.
|
inline |
Returns whether the state U is admissible. If U is a vectorized state then U is admissible if all vectorized values are admissible.
Definition at line 281 of file hyperbolic_system.h.
|
inline |
Apply boundary conditions.
Definition at line 296 of file hyperbolic_system.h.
|
inline |
Given a state U_i and an index i compute flux contributions.
Intended usage:
For the Euler equations we simply compute f(U_i).
Definition at line 331 of file hyperbolic_system.h.
|
inline |
Definition at line 340 of file hyperbolic_system.h.
|
inline |
Given flux contributions flux_i and flux_j compute the flux (-f(U_i) - f(U_j) * c_ij
Definition at line 353 of file hyperbolic_system.h.
References ryujin::add(), and ryujin::contract().
|
delete |
|
delete |
|
delete |
|
inline |
Given a state vector associated with a different spatial dimensions than the current one, return an "expanded" version of the state vector associated with dim spatial dimensions where the momentum vector of the conserved state state is expaned with zeros to a total length of dim entries.
Definition at line 406 of file hyperbolic_system.h.
|
inline |
Given a primitive state [rho, u_1, ..., u_d, p] return a conserved state
Definition at line 415 of file hyperbolic_system.h.
|
inline |
Given a conserved state return a primitive state [rho, u_1, ..., u_d, p]
Definition at line 424 of file hyperbolic_system.h.
|
inline |
Transform the current state according to a given operator lambda acting on a dim dimensional momentum (or velocity) vector.
Definition at line 435 of file hyperbolic_system.h.
|
staticconstexpr |
The dimension of the state space.
Definition at line 126 of file hyperbolic_system.h.
|
inlinestatic |
An array holding all component names of the conserved state as a string.
Definition at line 148 of file hyperbolic_system.h.
|
inlinestatic |
An array holding all component names of the primitive state as a string.
Definition at line 163 of file hyperbolic_system.h.
|
staticconstexpr |
The number of precomputed values.
Definition at line 177 of file hyperbolic_system.h.
|
inlinestatic |
An array holding all component names of the precomputed values.
Definition at line 187 of file hyperbolic_system.h.
|
staticconstexpr |
The number of precomputed initial values.
Definition at line 193 of file hyperbolic_system.h.
|
inlinestatic |
An array holding all component names of the precomputed values.
Definition at line 204 of file hyperbolic_system.h.
|
staticconstexpr |
The low-order and high-order fluxes are the same:
Definition at line 363 of file hyperbolic_system.h.
|
staticconstexpr |
We do not have source terms
Definition at line 377 of file hyperbolic_system.h.