![]() |
ryujin 2.1.1 revision 9391072059490dd712e0ea92785f21acd6605f00
|
#include <source/discretization.h>
Public Types | |
using | Triangulation = typename Proxy< dim >::Triangulation |
Public Member Functions | |
Discretization (const MPI_Comm &mpi_communicator, const std::string &subsection="/Discretization") | |
void | prepare (const std::string &base_name) |
Accessors to data structures managed by this class. | |
const MPI_Comm & | mpi_communicator_ |
std::unique_ptr< Triangulation > | triangulation_ |
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_ |
std::unique_ptr< const dealii::Quadrature< dim - 1 > > | face_quadrature_ |
std::unique_ptr< const dealii::Quadrature< dim - 1 > > | face_nodal_quadrature_ |
auto & | ansatz () const |
bool | have_discontinuous_ansatz () const |
auto & | triangulation () const |
auto & | mapping () const |
auto & | finite_element () const |
auto & | quadrature () const |
auto & | quadrature_1d () const |
auto & | face_quadrature () const |
auto & | face_nodal_quadrature () const |
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 224 of file discretization.h.
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 234 of file discretization.h.
ryujin::Discretization< dim >::Discretization | ( | const MPI_Comm & | mpi_communicator, |
const std::string & | subsection = "/Discretization< dim >" |
||
) |
Constructor.
Definition at line 26 of file discretization.template.h.
References ryujin::cg_q1, ryujin::Discretization< dim >::mpi_communicator_, and ryujin::Discretization< dim >::triangulation_.
void ryujin::Discretization< dim >::prepare | ( | const std::string & | base_name | ) |
Create the triangulation and set up the finite element, mapping and quadrature objects.
Definition at line 82 of file discretization.template.h.
References ryujin::cg_q1, ryujin::cg_q2, ryujin::cg_q3, ryujin::dg_q0, ryujin::dg_q1, ryujin::dg_q2, and ryujin::dg_q3.
Referenced by ryujin::Checkpointing::load_mesh().
|
inline |
Return a read-only const reference to the finite element ansatz.
Definition at line 258 of file discretization.h.
|
inline |
Return a boolean indicating whether the chosen Ansatz space is discontinuous.
Definition at line 264 of file discretization.h.
References ryujin::cg_q1, ryujin::cg_q2, ryujin::cg_q3, ryujin::dg_q0, ryujin::dg_q1, ryujin::dg_q2, and ryujin::dg_q3.
|
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 302 of file discretization.h.
Referenced by ryujin::Checkpointing::load_mesh().
|
inline |
Return a read-only const reference to the mapping.
Definition at line 307 of file discretization.h.
|
inline |
Return a read-only const reference to the finite element.
Definition at line 312 of file discretization.h.
|
inline |
Return a read-only const reference to the quadrature rule.
Definition at line 317 of file discretization.h.
|
inline |
Return a read-only const reference to the 1D quadrature rule.
Definition at line 322 of file discretization.h.
|
inline |
Return a read-only const reference to the face quadrature rule.
Definition at line 327 of file discretization.h.
|
inline |
Return a read-only const reference to the nodal face quadrature rule (GaußLobatto).
Definition at line 333 of file discretization.h.
|
protected |
Definition at line 336 of file discretization.h.
Referenced by ryujin::Discretization< dim >::Discretization().
|
protected |
Definition at line 338 of file discretization.h.
Referenced by ryujin::Discretization< dim >::Discretization().
|
protected |
Definition at line 339 of file discretization.h.
|
protected |
Definition at line 340 of file discretization.h.
|
protected |
Definition at line 341 of file discretization.h.
|
protected |
Definition at line 342 of file discretization.h.
|
protected |
Definition at line 343 of file discretization.h.
|
protected |
Definition at line 344 of file discretization.h.