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

#include <source/euler/hyperbolic_system.h>

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

Classes

struct  Parameters
 

Public Types

template<int dim, typename Number = double, typename MemorySpace = dealii::MemorySpace::Host>
using View = HyperbolicSystemView< dim, Number, MemorySpace >
 

Public Member Functions

 HyperbolicSystem (const std::string &subsection="/HyperbolicSystem")
 
template<int dim, typename Number , typename MemorySpace = dealii::MemorySpace::Host>
auto view () const
 
template<typename MemorySpace = dealii::MemorySpace::Host, 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
 

Internal fields, methods, and friends

template<int , typename , typename >
class HyperbolicSystemView
 

Detailed Description

The compressible Euler equations of gas dynamics. Specialized implementation for a polytropic gas equation.

We have a (2 + dim) dimensional state space \([\rho, \textbf m, E]\), where \(\rho\) denotes the density, \(\textbf m\) is the momentum, and \(E\) is the total energy.

Definition at line 44 of file hyperbolic_system.h.

Member Typedef Documentation

◆ View

template<int dim, typename Number = double, typename MemorySpace = dealii::MemorySpace::Host>
using ryujin::Euler::HyperbolicSystem::View = HyperbolicSystemView<dim, Number, MemorySpace>

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

Definition at line 102 of file hyperbolic_system.h.

Constructor & Destructor Documentation

◆ HyperbolicSystem()

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

Constructor.

Definition at line 760 of file hyperbolic_system.h.

Member Function Documentation

◆ view()

template<int dim, typename Number , typename MemorySpace = dealii::MemorySpace::Host>
auto ryujin::Euler::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. The optional MemorySpace template parameter selects whether the view is intended for the host or device memory space.

Definition at line 114 of file hyperbolic_system.h.

Referenced by fill_precomputed_values().

◆ fill_precomputed_values()

template<typename MemorySpace , int dim, typename ScalarNumber >
void ryujin::Euler::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 818 of file hyperbolic_system.h.

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

Friends And Related Symbol Documentation

◆ HyperbolicSystemView

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

Definition at line 155 of file hyperbolic_system.h.

Member Data Documentation

◆ problem_name

const std::string ryujin::Euler::HyperbolicSystem::problem_name
inlinestatic
Initial value:
=
"Compressible Euler equations (polytropic gas EOS, optimized)"

The name of the hyperbolic system as a string.

Definition at line 50 of file hyperbolic_system.h.


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