ryujin 2.5.0 revision 1fd7ee7216a92230e59b83634b28787072850d50
Loading...
Searching...
No Matches
List of all members
ryujin::InitialValues< HyperbolicDescription, dim, Number > Class Template Referencefinal

#include <include/ryujin/typed/initial_values.h>

Inheritance diagram for ryujin::InitialValues< HyperbolicDescription, dim, Number >:
Inheritance graph
[legend]
Collaboration diagram for ryujin::InitialValues< HyperbolicDescription, dim, Number >:
Collaboration graph
[legend]

Public Member Functions

Constructor and setup
 InitialValues (const MPIEnsemble &mpi_ensemble, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const Interface::ParabolicSystem &parabolic_system, const std::string &subsection="/InitialValues")
 
void parse_parameters_callback ()
 
Interpolate initial states
DEAL_II_ALWAYS_INLINE state_type initial_state (const dealii::Point< dim > &point, Number t) const
 
DEAL_II_ALWAYS_INLINE initial_precomputed_type initial_precomputed (const dealii::Point< dim > &point) const
 
MultiComponentVector< Number > interpolate_hyperbolic_vector (Number t=0) const override
 
MultiComponentVector< Number > interpolate_initial_precomputed_vector () const
 

Typedefs and constexpr constants

using HyperbolicSystem = typename HyperbolicDescription::HyperbolicSystem
 
using View = typename HyperbolicSystem::template View< dim, Number >
 
using state_type = typename View::state_type
 
using initial_precomputed_type = typename View::initial_precomputed_type
 
static constexpr auto problem_dimension = View::problem_dimension
 
static constexpr auto n_initial_precomputed_values
 

Additional Inherited Members

- Protected Member Functions inherited from ryujin::Interface::InitialValues< dim, Number >
 InitialValues (const std::string &subsection)
 

Detailed Description

template<typename HyperbolicDescription, int dim, typename Number = double>
class ryujin::InitialValues< HyperbolicDescription, dim, Number >

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

Member Typedef Documentation

◆ HyperbolicSystem

template<typename HyperbolicDescription , int dim, typename Number = double>
using ryujin::InitialValues< HyperbolicDescription, dim, Number >::HyperbolicSystem = typename HyperbolicDescription::HyperbolicSystem

Definition at line 50 of file initial_values.h.

◆ View

template<typename HyperbolicDescription , int dim, typename Number = double>
using ryujin::InitialValues< HyperbolicDescription, dim, Number >::View = typename HyperbolicSystem::template View<dim, Number>

Definition at line 52 of file initial_values.h.

◆ state_type

template<typename HyperbolicDescription , int dim, typename Number = double>
using ryujin::InitialValues< HyperbolicDescription, dim, Number >::state_type = typename View::state_type

Definition at line 56 of file initial_values.h.

◆ initial_precomputed_type

template<typename HyperbolicDescription , int dim, typename Number = double>
using ryujin::InitialValues< HyperbolicDescription, dim, Number >::initial_precomputed_type = typename View::initial_precomputed_type

Definition at line 61 of file initial_values.h.

Constructor & Destructor Documentation

◆ InitialValues()

template<typename HyperbolicDescription , int dim, typename Number >
ryujin::InitialValues< HyperbolicDescription, dim, Number >::InitialValues ( const MPIEnsemble &  mpi_ensemble,
const OfflineData< dim, Number > &  offline_data,
const HyperbolicSystem &  hyperbolic_system,
const Interface::ParabolicSystem &  parabolic_system,
const std::string &  subsection = "/InitialValues< HyperbolicDescription, dim, Number >" 
)

Member Function Documentation

◆ parse_parameters_callback()

template<typename HyperbolicDescription , int dim, typename Number >
void ryujin::InitialValues< HyperbolicDescription, 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 181 of file initial_values.template.h.

References ryujin::Library< Base, Args >::select(), and ryujin::state.

Referenced by ryujin::InitialValues< HyperbolicDescription, dim, Number >::InitialValues().

◆ initial_state()

template<typename HyperbolicDescription , int dim, typename Number = double>
DEAL_II_ALWAYS_INLINE state_type ryujin::InitialValues< HyperbolicDescription, dim, Number >::initial_state ( const dealii::Point< dim > &  point,
Number  t 
) const
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 function signature has an additional parameter t denoting the current time to allow for time-dependent (in-flow) Dirichlet data.

Definition at line 100 of file initial_values.h.

◆ initial_precomputed()

template<typename HyperbolicDescription , int dim, typename Number = double>
DEAL_II_ALWAYS_INLINE initial_precomputed_type ryujin::InitialValues< HyperbolicDescription, dim, Number >::initial_precomputed ( const dealii::Point< dim > &  point) const
inline

Given a position point returns the corresponding precomputed initial values, i.e., the quantities that are derived from the initial state and that remain constant throughout the computation (such as, for example, the bathymetry of the shallow water equations).

Definition at line 113 of file initial_values.h.

◆ interpolate_hyperbolic_vector()

template<typename HyperbolicDescription , int dim, typename Number >
auto ryujin::InitialValues< HyperbolicDescription, dim, Number >::interpolate_hyperbolic_vector ( Number  t = 0) const
overridevirtual

This routine computes and returns a hyperbolic state vector populated with initial values for a specified time t.

Implements ryujin::Interface::InitialValues< dim, Number >.

Definition at line 241 of file initial_values.template.h.

References ryujin::MultiComponentVector< Number >::reinit_with_vector_partitioner().

◆ interpolate_initial_precomputed_vector()

template<typename HyperbolicDescription , int dim, typename Number >
auto ryujin::InitialValues< HyperbolicDescription, dim, Number >::interpolate_initial_precomputed_vector ( ) const

This routine computes and returns a vector populated with the precomputed initial values returned by initial_precomputed().

Definition at line 281 of file initial_values.template.h.

References ryujin::precomputed, and ryujin::MultiComponentVector< Number >::reinit_with_scalar_partitioner().

Member Data Documentation

◆ problem_dimension

template<typename HyperbolicDescription , int dim, typename Number = double>
constexpr auto ryujin::InitialValues< HyperbolicDescription, dim, Number >::problem_dimension = View::problem_dimension
staticconstexpr

Definition at line 54 of file initial_values.h.

◆ n_initial_precomputed_values

template<typename HyperbolicDescription , int dim, typename Number = double>
constexpr auto ryujin::InitialValues< HyperbolicDescription, dim, Number >::n_initial_precomputed_values
staticconstexpr
Initial value:
=
View::n_initial_precomputed_values

Definition at line 58 of file initial_values.h.


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