ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
ryujin::ShallowWater::HyperbolicSystem Class Referencefinal

#include <source/shallow_water/hyperbolic_system.h>

Inheritance diagram for ryujin::ShallowWater::HyperbolicSystem:
Inheritance graph
[legend]
Collaboration diagram for ryujin::ShallowWater::HyperbolicSystem:
Collaboration graph
[legend]

Public Types

template<int dim, typename Number = double>
using View = HyperbolicSystemView< dim, Number >
 

Public Member Functions

 HyperbolicSystem (const std::string &subsection="/HyperbolicSystem")
 
template<int dim, typename Number >
auto view () const
 
template<int dim, typename ScalarNumber >
void fill_precomputed_values (const OfflineData< dim, ScalarNumber > &offline_data, typename HyperbolicSystemView< dim, ScalarNumber >::StateVector &state_vector, const bool skip_constrained_dofs=true) const
 

Static Public Attributes

static const std::string problem_name = "Shallow water equations"
 

Friends

Internal data
template<int dim, typename Number >
class HyperbolicSystemView
 

Detailed Description

Description of a dim dimensional hyperbolic conservation law modeling the shallow water equations.

We have a (1 + dim) dimensional state space \([h, \textbf m]\), where \(h\) denotes the water depth, abd \(\textbf m\) is the momentum.

Definition at line 41 of file hyperbolic_system.h.

Member Typedef Documentation

◆ View

template<int dim, typename Number = double>
using ryujin::ShallowWater::HyperbolicSystem::View = HyperbolicSystemView<dim, Number>

Alias for the view on the hyperbolic system for a given dimension dim and choice of number type Number.

Definition at line 59 of file hyperbolic_system.h.

Constructor & Destructor Documentation

◆ HyperbolicSystem()

ryujin::ShallowWater::HyperbolicSystem::HyperbolicSystem ( const std::string &  subsection = "/HyperbolicSystem")
inline

Constructor.

Definition at line 664 of file hyperbolic_system.h.

Member Function Documentation

◆ view()

template<int dim, typename Number >
auto ryujin::ShallowWater::HyperbolicSystem::view ( ) const
inline

Return a view on the Hyperbolic System 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 68 of file hyperbolic_system.h.

Referenced by fill_precomputed_values().

◆ fill_precomputed_values()

template<int dim, typename ScalarNumber >
void ryujin::ShallowWater::HyperbolicSystem::fill_precomputed_values ( const OfflineData< dim, ScalarNumber > &  offline_data,
typename HyperbolicSystemView< dim, ScalarNumber >::StateVector &  state_vector,
const bool  skip_constrained_dofs = true 
) const
inline

Part of step 1 of the hyperbolic update step: Compute "precomputed values" and fill into the state vector.

Note
The method does not update the ghost range of the state vector. The precomputed part has to be synchronized by explicitly calling the update ghost values function.

Definition at line 693 of file hyperbolic_system.h.

References ryujin::OfflineData< dim, Number >::n_locally_internal(), ryujin::OfflineData< dim, Number >::n_locally_owned(), ryujin::pow(), ryujin::OfflineData< dim, Number >::sparsity_pattern_simd(), and view().

Friends And Related Symbol Documentation

◆ HyperbolicSystemView

template<int dim, typename Number >
friend class HyperbolicSystemView
friend

Definition at line 108 of file hyperbolic_system.h.

Member Data Documentation

◆ problem_name

const std::string ryujin::ShallowWater::HyperbolicSystem::problem_name = "Shallow water equations"
inlinestatic

The name of the hyperbolic system as a string.

Definition at line 47 of file hyperbolic_system.h.


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