ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
ryujin::Vectors Namespace Reference

Classes

class  MultiComponentVector
 
class  MultiComponentVectorView
 

Typedefs

template<typename Number >
using ScalarHostVector = dealii::LinearAlgebra::distributed::Vector< Number >
 
template<typename Number >
using BlockHostVector = dealii::LinearAlgebra::distributed::BlockVector< Number >
 
template<typename Number >
using ScalarVector = MultiComponentVector< Number, 1 >
 
template<typename Number , unsigned int problem_dim, unsigned int prec_dim>
using StateVector = std::tuple< MultiComponentVector< Number, problem_dim >, MultiComponentVector< Number, prec_dim >, BlockHostVector< Number > >
 

Functions

std::shared_ptr< const dealii::Utilities::MPI::Partitioner > create_vector_partitioner (const std::shared_ptr< const dealii::Utilities::MPI::Partitioner > &scalar_partitioner, const unsigned int n_comp)
 
template<typename Number , int prob_dim, int prec_dim, typename OfflineData >
void debug_poison_invalid_values (StateVector< Number, prob_dim, prec_dim > &state_vector, const OfflineData &offline_data)
 

Detailed Description

A namespace for various vector type aliases.

Typedef Documentation

◆ ScalarHostVector

template<typename Number >
using ryujin::Vectors::ScalarHostVector = typedef dealii::LinearAlgebra::distributed::Vector<Number>

A scalar vector representing a single component given by a deal.II data type that is compatible with deal.II functions and methods and lives in the host memory space.

Definition at line 35 of file state_vector.h.

◆ BlockHostVector

template<typename Number >
using ryujin::Vectors::BlockHostVector = typedef dealii::LinearAlgebra::distributed::BlockVector<Number>

A block vector representing a multiple components given by a deal.II data type that is compatible with deal.II functions and methods and lives in the host memory space.

Definition at line 44 of file state_vector.h.

◆ ScalarVector

template<typename Number >
using ryujin::Vectors::ScalarVector = typedef MultiComponentVector<Number, 1>

A scalar vector representing a single component.

Definition at line 52 of file state_vector.h.

◆ StateVector

template<typename Number , unsigned int problem_dim, unsigned int prec_dim>
using ryujin::Vectors::StateVector = typedef std::tuple< MultiComponentVector<Number, problem_dim> , MultiComponentVector<Number, prec_dim> , BlockHostVector<Number> >

A compound state vector formed by a std::tuple consisting of the hyperbolic state vector U, precomputed values, and an "parabolic state" vector stored as a BlockVector. All of these vectors have in common that they are associated with a hyperbolic, or parabolic state and precomputed data (derived from the hyperbolic state) for point in time.

Definition at line 64 of file state_vector.h.

Function Documentation

◆ debug_poison_invalid_values()

template<typename Number , int prob_dim, int prec_dim, typename OfflineData >
void ryujin::Vectors::debug_poison_invalid_values ( StateVector< Number, prob_dim, prec_dim > &  state_vector,
const OfflineData offline_data 
)

A small helper function that sets all values of the hyperbolic vector that are invalid after a hyperbolic substep to a NaN value. This includes:

  • the entire precomputed state vector
  • constrained degrees of freedom of the hyperbolic state vector
  • the ghost range of the hyperbolic state vector

Definition at line 79 of file state_vector.h.

References ryujin::have_separate_memory_spaces.

Referenced by ryujin::TimeLoop< Description, dim, Number >::run(), and ryujin::HyperbolicModule< Description, dim, Number >::step().