![]() |
ryujin 2.1.1 revision 9dcb748690310d6a540ebb8b066d1a0834fc7604
|
#include <source/initial_values.h>
Public Types | |
using | HyperbolicSystem = typename Description::HyperbolicSystem |
using | HyperbolicSystemView = typename HyperbolicSystem::template View< dim, Number > |
using | state_type = typename HyperbolicSystemView::state_type |
using | vector_type = MultiComponentVector< Number, problem_dimension > |
using | precomputed_state_type = typename HyperbolicSystemView::precomputed_state_type |
Public Member Functions | |
InitialValues (const HyperbolicSystem &hyperbolic_system, const OfflineData< dim, Number > &offline_data, const std::string &subsection="/InitialValues") | |
void | parse_parameters_callback () |
DEAL_II_ALWAYS_INLINE state_type | initial_state (const dealii::Point< dim > &point, Number t) const |
vector_type | interpolate (Number t=0) const |
DEAL_II_ALWAYS_INLINE precomputed_state_type | flux_contributions (const dealii::Point< dim > &point) const |
MultiComponentVector< Number, n_precomputed_values > | interpolate_precomputed_initial_values () const |
Static Public Attributes | |
static constexpr unsigned int | problem_dimension |
static constexpr unsigned int | n_precomputed_values |
A class implementing a number of different initial value configurations.
Given a position point
the member function InitialValues::initial_state() returns the corresponding (conserved) initial state. The function is used to interpolate initial values and enforce Dirichlet boundary conditions. For the latter, the the function signature has an additional parameter t
denoting the current time to allow for time-dependent (in-flow) Dirichlet data.
For validation purposes a number of analytic solutions are implemented as well.
Definition at line 37 of file initial_values.h.
using ryujin::InitialValues< Description, dim, Number >::HyperbolicSystem = typename Description::HyperbolicSystem |
Definition at line 43 of file initial_values.h.
using ryujin::InitialValues< Description, dim, Number >::HyperbolicSystemView = typename HyperbolicSystem::template View<dim, Number> |
Definition at line 48 of file initial_values.h.
using ryujin::InitialValues< Description, dim, Number >::state_type = typename HyperbolicSystemView::state_type |
Definition at line 60 of file initial_values.h.
using ryujin::InitialValues< Description, dim, Number >::vector_type = MultiComponentVector<Number, problem_dimension> |
Typedef for a MultiComponentVector storing the state U.
Definition at line 65 of file initial_values.h.
using ryujin::InitialValues< Description, dim, Number >::precomputed_state_type = typename HyperbolicSystemView::precomputed_state_type |
Array type used for precomputed values.
Definition at line 76 of file initial_values.h.
ryujin::InitialValues< Description, dim, Number >::InitialValues | ( | const HyperbolicSystem & | hyperbolic_system, |
const OfflineData< dim, Number > & | offline_data, | ||
const std::string & | subsection = "/InitialValues< Description, dim, Number >" |
||
) |
Constructor.
Definition at line 21 of file initial_values.template.h.
References ryujin::InitialStateLibrary< Description, dim, Number >::populate_initial_state_list().
void ryujin::InitialValues< Description, dim, Number >::parse_parameters_callback |
Callback for ParameterAcceptor::initialize(). After we read in configuration parameters from the parameter file we have to do some (minor) preparatory work in this class to precompute some initial state values. Do this with a callback.
Definition at line 154 of file initial_values.template.h.
|
inline |
Given a position point
returns the corresponding (conserved) initial state. The function is used to interpolate initial values and enforce Dirichlet boundary conditions. For the latter, the the function signature has an additional parameter t
denoting the current time to allow for time-dependent (in-flow) Dirichlet data.
Definition at line 104 of file initial_values.h.
auto ryujin::InitialValues< Description, dim, Number >::interpolate | ( | Number | t = 0 | ) | const |
This routine computes and returns a state vector populated with initial values for a specified time t
.
Definition at line 222 of file initial_values.template.h.
References ryujin::MultiComponentVector< Number, n_comp, simd_length >::get_tensor(), ryujin::MultiComponentVector< Number, n_comp, simd_length >::insert_component(), ryujin::no_slip, ryujin::slip, and ryujin::MultiComponentVector< Number, n_comp, simd_length >::write_tensor().
|
inline |
Given a position point
returns the corresponding (conserved) initial state. The function is used to interpolate initial values and enforce Dirichlet boundary conditions. For the latter, the the function signature has an additional parameter t
denoting the current time to allow for time-dependent (in-flow) Dirichlet data.
Definition at line 125 of file initial_values.h.
auto ryujin::InitialValues< Description, dim, Number >::interpolate_precomputed_initial_values |
This routine computes and returns a state vector populated with initial values for a specified time t
.
Definition at line 281 of file initial_values.template.h.
References ryujin::MultiComponentVector< Number, n_comp, simd_length >::insert_component(), and ryujin::MultiComponentVector< Number, n_comp, simd_length >::reinit_with_scalar_partitioner().
|
staticconstexpr |
Definition at line 54 of file initial_values.h.
|
staticconstexpr |
Definition at line 70 of file initial_values.h.