![]() |
ryujin 2.1.1 revision b04fb4aba7bd97ddfa5994a6b4b6e8586eb15db2
|
#include <source/euler_aeos/wave_speed_estimator.h>
Public Member Functions | |
Compute wavespeed estimates | |
| WaveSpeedEstimatorView (const View &view, const WaveSpeedEstimator< ScalarNumber > &wse) | |
| DEAL_II_HOST_DEVICE Number | compute (const primitive_type &riemann_data_i, const primitive_type &riemann_data_j) const |
| DEAL_II_HOST_DEVICE Number | compute (const PrecomputedVectorView &pv, const state_type &U_i, const state_type &U_j, const unsigned int i, const unsigned int *js, const dealii::Tensor< 1, dim, Number > &n_ij) const |
Protected Member Functions | |
Internal methods | |
| DEAL_II_HOST_DEVICE primitive_type | riemann_data_from_state (const state_type &U, const Number &p, const dealii::Tensor< 1, dim, Number > &n_ij) const |
Typedefs and constexpr constants | |
| using | View = HyperbolicSystemView< dim, Number, MemorySpace > |
| using | ScalarNumber = typename View::ScalarNumber |
| using | state_type = typename View::state_type |
| using | RiemannSolverView = NASGRiemannSolverView< Number, NASGRiemannSolverOptions{}, MemorySpace > |
| using | primitive_type = typename RiemannSolverView::primitive_type |
| using | precomputed_type = typename View::precomputed_type |
| using | PrecomputedVectorView = typename View::PrecomputedVectorView |
| static constexpr unsigned int | riemann_data_size |
A view of the WaveSpeedEstimator that makes the interface available 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 111 of file wave_speed_estimator.h.
| using ryujin::EulerAEOS::WaveSpeedEstimatorView< dim, Number, MemorySpace >::View = HyperbolicSystemView<dim, Number, MemorySpace> |
Definition at line 124 of file wave_speed_estimator.h.
| using ryujin::EulerAEOS::WaveSpeedEstimatorView< dim, Number, MemorySpace >::ScalarNumber = typename View::ScalarNumber |
Definition at line 126 of file wave_speed_estimator.h.
| using ryujin::EulerAEOS::WaveSpeedEstimatorView< dim, Number, MemorySpace >::state_type = typename View::state_type |
Definition at line 128 of file wave_speed_estimator.h.
| using ryujin::EulerAEOS::WaveSpeedEstimatorView< dim, Number, MemorySpace >::RiemannSolverView = NASGRiemannSolverView<Number, NASGRiemannSolverOptions{}, MemorySpace> |
The view on the Riemann solver used for computing the wavespeed estimate.
Definition at line 134 of file wave_speed_estimator.h.
| using ryujin::EulerAEOS::WaveSpeedEstimatorView< dim, Number, MemorySpace >::primitive_type = typename RiemannSolverView::primitive_type |
The array type to store the expanded primitive state for the Riemann solver \([\rho, v, p, gamma, a]\)
Definition at line 150 of file wave_speed_estimator.h.
| using ryujin::EulerAEOS::WaveSpeedEstimatorView< dim, Number, MemorySpace >::precomputed_type = typename View::precomputed_type |
Definition at line 152 of file wave_speed_estimator.h.
| using ryujin::EulerAEOS::WaveSpeedEstimatorView< dim, Number, MemorySpace >::PrecomputedVectorView = typename View::PrecomputedVectorView |
Definition at line 154 of file wave_speed_estimator.h.
|
inline |
Constructor taking a HyperbolicSystemView and a WaveSpeedEstimator object as arguments
Definition at line 166 of file wave_speed_estimator.h.
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE Number ryujin::EulerAEOS::WaveSpeedEstimatorView< dim, Number, MemorySpace >::compute | ( | const primitive_type & | riemann_data_i, |
| const primitive_type & | riemann_data_j | ||
| ) | const |
For two given 1D primitive states riemann_data_i and riemann_data_j, compute an estimate for an upper bound of the maximum wavespeed lambda.
Definition at line 240 of file wave_speed_estimator.h.
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE Number ryujin::EulerAEOS::WaveSpeedEstimatorView< dim, Number, MemorySpace >::compute | ( | const PrecomputedVectorView & | pv, |
| const state_type & | U_i, | ||
| const state_type & | U_j, | ||
| const unsigned int | i, | ||
| const unsigned int * | js, | ||
| const dealii::Tensor< 1, dim, Number > & | n_ij | ||
| ) | const |
For two given states U_i a U_j and a (normalized) "direction" n_ij compute an estimate for an upper bound of the maximum wavespeed lambda.
Definition at line 250 of file wave_speed_estimator.h.
|
protected |
For a given (2+dim dimensional) state vector U, and a (normalized) "direction" n_ij, first compute the corresponding projected state in the corresponding 1D Riemann problem, and then compute and return the Riemann data [rho, u, p, a] (used in the approximative Riemann solver).
Definition at line 273 of file wave_speed_estimator.h.
References AssertThrowSIMD.
|
staticconstexpr |
Number of components in a primitive state, we store \([\rho, v, p, gamma, a]\), thus, 5.
Definition at line 143 of file wave_speed_estimator.h.