![]() |
ryujin 2.1.1 revision 350e54cc11f3d21282bddcf3e6517944dbc508bf
|
#include <source/discretization.h>
Public Member Functions | |
Discretization (const MPIEnsemble &mpi_ensemble, const std::string &subsection="/Discretization") | |
void | prepare (const std::string &base_name) |
Accessors to data structures managed by this class. | |
const MPIEnsemble & | mpi_ensemble_ |
std::unique_ptr< dealii::Triangulation< dim > > | triangulation_ |
std::unique_ptr< const dealii::hp::MappingCollection< dim > > | mapping_ |
std::unique_ptr< const dealii::hp::FECollection< dim > > | finite_element_ |
std::unique_ptr< const dealii::hp::FECollection< dim > > | finite_element_cg_ |
std::unique_ptr< const dealii::hp::QCollection< dim > > | quadrature_ |
std::unique_ptr< const dealii::hp::QCollection< dim > > | quadrature_high_order_ |
std::unique_ptr< const dealii::hp::QCollection< dim > > | nodal_quadrature_ |
std::unique_ptr< const dealii::hp::QCollection< 1 > > | quadrature_1d_ |
std::unique_ptr< const dealii::hp::QCollection< dim - 1 > > | face_quadrature_ |
std::unique_ptr< const dealii::hp::QCollection< dim - 1 > > | face_nodal_quadrature_ |
const auto & | ansatz () const |
bool | have_discontinuous_ansatz () const |
unsigned int | polynomial_degree () const |
bool | have_distributed_triangulation () const |
const auto & | triangulation () const |
const auto & | mapping () const |
const auto & | finite_element () const |
const auto & | finite_element_cg () const |
const auto & | quadrature () const |
const auto & | quadrature_high_order () const |
const auto & | nodal_quadrature () const |
const auto & | quadrature_1d () const |
const auto & | face_quadrature () const |
const auto & | face_nodal_quadrature () const |
Internal data: | |
template<typename Discretization , int dim_, typename Number_ > | |
class | SolutionTransfer |
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 220 of file discretization.h.
ryujin::Discretization< dim >::Discretization | ( | const MPIEnsemble & | mpi_ensemble, |
const std::string & | subsection = "/Discretization< dim >" |
||
) |
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 65 of file discretization.template.h.
References ryujin::parallel_distributed, ryujin::parallel_fullydistributed, and ryujin::parallel_shared.
|
inline |
Return a read-only const reference to the finite element ansatz.
Definition at line 243 of file discretization.h.
|
inline |
Return a boolean indicating whether the chosen Ansatz space is discontinuous.
Definition at line 250 of file discretization.h.
References ryujin::cg_q1, ryujin::cg_q2, ryujin::cg_q3, ryujin::dg_q1, ryujin::dg_q2, and ryujin::dg_q3.
|
inline |
Return the polynomial degree of the chosen finite element ansatz.
Definition at line 277 of file discretization.h.
References ryujin::cg_q1, ryujin::cg_q2, ryujin::cg_q3, ryujin::dg_q1, ryujin::dg_q2, and ryujin::dg_q3.
|
inline |
Return a boolean indicating whether the chosen mesh geometry is stored in a parallel distributed, or parallel fullydistributed triangulation.
Definition at line 304 of file discretization.h.
References ryujin::Discretization< dim >::triangulation_.
|
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 330 of file discretization.h.
|
inline |
Return a read-only const reference to the mapping.
Definition at line 337 of file discretization.h.
|
inline |
Return a read-only const reference to the finite element.
Definition at line 344 of file discretization.h.
|
inline |
Return a read-only const reference to a continuous ("cG") variant of the selected discontinuous finite element space.
Definition at line 352 of file discretization.h.
|
inline |
Return a read-only const reference to the quadrature rule.
Definition at line 359 of file discretization.h.
|
inline |
Return a read-only const reference to a highe order quadrature rule used for computing errors.
Definition at line 367 of file discretization.h.
|
inline |
Return a read-only const reference to the nodal quadrature rule (Gauß Lobatto).
Definition at line 375 of file discretization.h.
|
inline |
Return a read-only const reference to the 1D quadrature rule.
Definition at line 382 of file discretization.h.
|
inline |
Return a read-only const reference to the face quadrature rule.
Definition at line 389 of file discretization.h.
|
inline |
Return a read-only const reference to the nodal face quadrature rule (Gauß Lobatto).
Definition at line 397 of file discretization.h.
|
friend |
In the SolutionTransfer class we need writable access to the triangulation object in order to prepare data for mesh adaptation and checkpointing / restart. Work around this issue by declaring the solution transfer class to be a friend rather than changing the constructor, or augmenting the methods in SolutionTransfer.
Definition at line 448 of file discretization.h.
|
protected |
Definition at line 400 of file discretization.h.
|
protected |
Definition at line 402 of file discretization.h.
Referenced by ryujin::Discretization< dim >::have_distributed_triangulation().
|
protected |
Definition at line 403 of file discretization.h.
|
protected |
Definition at line 404 of file discretization.h.
|
protected |
Definition at line 405 of file discretization.h.
|
protected |
Definition at line 406 of file discretization.h.
|
protected |
Definition at line 407 of file discretization.h.
|
protected |
Definition at line 408 of file discretization.h.
|
protected |
Definition at line 409 of file discretization.h.
|
protected |
Definition at line 410 of file discretization.h.
|
protected |
Definition at line 412 of file discretization.h.