ryujin 2.1.1 revision f751393c604e228afd3e8516e9e236ec609caae0
Public Types | Public Member Functions | List of all members
ryujin::Discretization< dim > Class Template Reference

#include <source/discretization.h>

Inheritance diagram for ryujin::Discretization< dim >:
Inheritance graph
[legend]
Collaboration diagram for ryujin::Discretization< dim >:
Collaboration graph
[legend]

Public Types

using Triangulation = typename Proxy< dim >::Triangulation
 

Public Member Functions

 Discretization (const MPI_Comm &mpi_communicator, const std::string &subsection="/Discretization")
 
void prepare ()
 

Static Public Attributes

Discretization compile time options
static constexpr unsigned int order_finite_element = ORDER_FINITE_ELEMENT
 
static constexpr unsigned int order_mapping = ORDER_MAPPING
 
static constexpr unsigned int order_quadrature = ORDER_QUADRATURE
 
const MPI_Comm & mpi_communicator_
 
std::unique_ptr< Triangulationtriangulation_
 
std::unique_ptr< const dealii::Mapping< dim > > mapping_
 
std::unique_ptr< const dealii::FiniteElement< dim > > finite_element_
 
std::unique_ptr< const dealii::Quadrature< dim > > quadrature_
 
std::unique_ptr< const dealii::Quadrature< 1 > > quadrature_1d_
 
auto & triangulation () const
 
auto & mapping () const
 
auto & finite_element () const
 
auto & quadrature () const
 
auto & quadrature_1d () const
 

Detailed Description

template<int dim>
class ryujin::Discretization< dim >

This class is as a container for data related to the discretization, this includes the triangulation, finite element, mapping, and quadrature. After prepare() is called, the getter functions Discretization::triangulation(), Discretization::finite_element(), Discretization::mapping(), and Discretization::quadrature() return valid const references to the mentioned objects.

The class uses dealii::ParameterAcceptor to handle a multitude of parameters to control the creation of meshes for a variety of benchmark configurations and to read in meshes in one of the formats supported by the deal.II library.

Definition at line 177 of file discretization.h.

Member Typedef Documentation

◆ Triangulation

template<int dim>
using ryujin::Discretization< dim >::Triangulation = typename Proxy<dim>::Triangulation

A type alias denoting the Triangulation we are using:

In one spatial dimensions we use a dealii::parallel::shared::Triangulation and for two and three dimensions a dealii::parallel::distributed::Triangulation.

Definition at line 187 of file discretization.h.

Constructor & Destructor Documentation

◆ Discretization()

template<int dim>
ryujin::Discretization< dim >::Discretization ( const MPI_Comm &  mpi_communicator,
const std::string &  subsection = "/Discretization< dim >" 
)

Member Function Documentation

◆ prepare()

template<int dim>
void ryujin::Discretization< dim >::prepare

Create the triangulation and set up the finite element, mapping and quadrature objects.

Definition at line 76 of file discretization.template.h.

Referenced by ryujin::Checkpointing::load_mesh().

◆ triangulation()

template<int dim>
auto & ryujin::Discretization< dim >::triangulation ( ) const
inline

Return a mutable reference to the refinement variable. Return a mutable reference to the triangulation. Return a read-only const reference to the triangulation.

Definition at line 241 of file discretization.h.

Referenced by ryujin::Checkpointing::load_mesh().

◆ mapping()

template<int dim>
auto & ryujin::Discretization< dim >::mapping ( ) const
inline

Return a read-only const reference to the mapping.

Definition at line 246 of file discretization.h.

◆ finite_element()

template<int dim>
auto & ryujin::Discretization< dim >::finite_element ( ) const
inline

Return a read-only const reference to the finite element.

Definition at line 251 of file discretization.h.

◆ quadrature()

template<int dim>
auto & ryujin::Discretization< dim >::quadrature ( ) const
inline

Return a read-only const reference to the quadrature rule.

Definition at line 256 of file discretization.h.

◆ quadrature_1d()

template<int dim>
auto & ryujin::Discretization< dim >::quadrature_1d ( ) const
inline

Return a read-only const reference to the 1D quadrature rule.

Definition at line 261 of file discretization.h.

Member Data Documentation

◆ order_finite_element

template<int dim>
constexpr unsigned int ryujin::Discretization< dim >::order_finite_element = ORDER_FINITE_ELEMENT
staticconstexpr

Definition at line 208 of file discretization.h.

◆ order_mapping

template<int dim>
constexpr unsigned int ryujin::Discretization< dim >::order_mapping = ORDER_MAPPING
staticconstexpr

Definition at line 209 of file discretization.h.

◆ order_quadrature

template<int dim>
constexpr unsigned int ryujin::Discretization< dim >::order_quadrature = ORDER_QUADRATURE
staticconstexpr

Definition at line 210 of file discretization.h.

◆ mpi_communicator_

template<int dim>
const MPI_Comm& ryujin::Discretization< dim >::mpi_communicator_
protected

Definition at line 219 of file discretization.h.

Referenced by ryujin::Discretization< dim >::Discretization().

◆ triangulation_

template<int dim>
std::unique_ptr<Triangulation> ryujin::Discretization< dim >::triangulation_
protected

Definition at line 221 of file discretization.h.

Referenced by ryujin::Discretization< dim >::Discretization().

◆ mapping_

template<int dim>
std::unique_ptr<const dealii::Mapping<dim> > ryujin::Discretization< dim >::mapping_
protected

Definition at line 222 of file discretization.h.

◆ finite_element_

template<int dim>
std::unique_ptr<const dealii::FiniteElement<dim> > ryujin::Discretization< dim >::finite_element_
protected

Definition at line 223 of file discretization.h.

◆ quadrature_

template<int dim>
std::unique_ptr<const dealii::Quadrature<dim> > ryujin::Discretization< dim >::quadrature_
protected

Definition at line 224 of file discretization.h.

◆ quadrature_1d_

template<int dim>
std::unique_ptr<const dealii::Quadrature<1> > ryujin::Discretization< dim >::quadrature_1d_
protected

Definition at line 225 of file discretization.h.


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