ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
List of all members
ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number > Class Template Reference

#include <source/euler_barotropic/wave_speed_estimator.h>

Public Member Functions

Compute wavespeed estimates
 WaveSpeedEstimatorView (const View &view, const WaveSpeedEstimator< ScalarNumber > &wave_speed_estimator)
 
Number compute (const primitive_type &riemann_data_i, const primitive_type &riemann_data_j) const
 
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
 

Typedefs and constexpr constants

using View = HyperbolicSystemView< dim, Number >
 
using ScalarNumber = typename View::ScalarNumber
 
using state_type = typename View::state_type
 
using primitive_type = typename std::array< Number, riemann_data_size >
 
using precomputed_type = typename View::precomputed_type
 
using PrecomputedVectorView = typename View::PrecomputedVectorView
 
static constexpr auto problem_dimension = View::problem_dimension
 
static constexpr unsigned int riemann_data_size = 2
 

Detailed Description

template<int dim, typename Number>
class ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >

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 105 of file wave_speed_estimator.h.

Member Typedef Documentation

◆ View

template<int dim, typename Number >
using ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::View = HyperbolicSystemView<dim, Number>

Definition at line 113 of file wave_speed_estimator.h.

◆ ScalarNumber

template<int dim, typename Number >
using ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::ScalarNumber = typename View::ScalarNumber

Definition at line 115 of file wave_speed_estimator.h.

◆ state_type

template<int dim, typename Number >
using ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::state_type = typename View::state_type

Definition at line 119 of file wave_speed_estimator.h.

◆ primitive_type

template<int dim, typename Number >
using ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::primitive_type = typename std::array<Number, riemann_data_size>

The array type to store the primitive state for the Riemann solver \([v, a]\)

Definition at line 130 of file wave_speed_estimator.h.

◆ precomputed_type

template<int dim, typename Number >
using ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::precomputed_type = typename View::precomputed_type

Definition at line 132 of file wave_speed_estimator.h.

◆ PrecomputedVectorView

template<int dim, typename Number >
using ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::PrecomputedVectorView = typename View::PrecomputedVectorView

Definition at line 134 of file wave_speed_estimator.h.

Constructor & Destructor Documentation

◆ WaveSpeedEstimatorView()

template<int dim, typename Number >
ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::WaveSpeedEstimatorView ( const View view,
const WaveSpeedEstimator< ScalarNumber > &  wave_speed_estimator 
)
inline

Constructor taking a HyperbolicSystemView and a WaveSpeedEstimator object as arguments

Definition at line 146 of file wave_speed_estimator.h.

Member Function Documentation

◆ compute() [1/2]

template<int dim, typename Number >
Number ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::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 20 of file wave_speed_estimator.template.h.

◆ compute() [2/2]

template<int dim, typename Number >
DEAL_II_ALWAYS_INLINE Number ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, 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
inline

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 42 of file wave_speed_estimator.template.h.

Member Data Documentation

◆ problem_dimension

template<int dim, typename Number >
constexpr auto ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::problem_dimension = View::problem_dimension
staticconstexpr

Definition at line 117 of file wave_speed_estimator.h.

◆ riemann_data_size

template<int dim, typename Number >
constexpr unsigned int ryujin::EulerBarotropic::WaveSpeedEstimatorView< dim, Number >::riemann_data_size = 2
staticconstexpr

Number of components in a primitive state, we store \([v, a]\).

Definition at line 124 of file wave_speed_estimator.h.


The documentation for this class was generated from the following files: