![]() |
ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
|
#include <include/ryujin/interface/discretization.h>


Classes | |
| struct | Collection |
Public Types | |
Typedefs and constexpr constants | |
| using | Transformation = std::function< dealii::Point< dim >(const typename dealii::Triangulation< dim >::cell_iterator &, const dealii::Point< dim > &)> |
Public Member Functions | |
Setup | |
| virtual void | prepare (const std::string &base_name)=0 |
| virtual void | update_mapping ()=0 |
Protected Attributes | |
Internal data | |
| Ansatz | ansatz_ |
| unsigned int | refinement_ |
| std::unique_ptr< dealii::Triangulation< dim > > | triangulation_ |
| Collection | collection_ |
| std::shared_ptr< dealii::MappingQCache< dim > > | mapping_cache_ |
| Transformation | transformation_ |
| Geometry< dim > * | selected_geometry_ = nullptr |
Information and statistics | |
| bool | have_discontinuous_ansatz () const |
| unsigned int | polynomial_degree () const |
| const dealii::hp::FECollection< dim > & | finite_element () const |
| Discretization (const std::string &subsection) | |
The interface of a Discretization: a container for data related to the discretization, this includes the triangulation, finite element, mapping, and quadrature. After prepare() is called, the getter functions triangulation(), finite_element(), mapping(), and quadrature() return valid const references to the mentioned objects.
The interface holds all state in protected fields with a non-virtual accessor each. A derived class fills the fields in prepare() and update_mapping().
Definition at line 210 of file discretization.h.
| using ryujin::Interface::Discretization< dim >::Transformation = std::function<dealii::Point<dim>( const typename dealii::Triangulation<dim>::cell_iterator &, const dealii::Point<dim> &)> |
A forward transformation that maps points of the triangulation to the actual geometry, see Geometry::transformation().
Definition at line 244 of file discretization.h.
|
inlineexplicitprotected |
Return a read-only const reference to the quadrature rule.
Definition at line 473 of file discretization.h.
|
pure virtual |
Create the triangulation and set up the finite element, mapping and quadrature objects.
Implemented in ryujin::Discretization< dim >.
|
pure virtual |
Recompute the cached mapping after the triangulation, or the transformation(), has changed.
Implemented in ryujin::Discretization< dim >.
|
inline |
Return a read-only const reference to the selected geometry. Return a read-only const reference to the finite element ansatz. Return a boolean indicating whether the chosen Ansatz space is discontinuous.
Definition at line 286 of file discretization.h.
References ryujin::Interface::Discretization< dim >::ansatz_, ryujin::cg_q1, ryujin::cg_q2, ryujin::cg_q3, ryujin::dg_q1, ryujin::dg_q2, and ryujin::dg_q3.
Referenced by ryujin::Interface::Discretization< dim >::finite_element().
|
inline |
Return the polynomial degree of the chosen finite element ansatz.
Definition at line 313 of file discretization.h.
References ryujin::Interface::Discretization< dim >::ansatz_, ryujin::cg_q1, ryujin::cg_q2, ryujin::cg_q3, 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. Return a mutable reference to the transformation used for the MappingQCache object.
Definition at line 402 of file discretization.h.
References ryujin::Interface::Discretization< dim >::collection_, ryujin::Interface::Discretization< dim >::Collection::finite_element_cg, ryujin::Interface::Discretization< dim >::Collection::finite_element_dg, and ryujin::Interface::Discretization< dim >::have_discontinuous_ansatz().
|
protected |
Definition at line 485 of file discretization.h.
Referenced by ryujin::Interface::Discretization< dim >::have_discontinuous_ansatz(), and ryujin::Interface::Discretization< dim >::polynomial_degree().
|
protected |
Definition at line 487 of file discretization.h.
|
protected |
Definition at line 489 of file discretization.h.
|
protected |
Definition at line 491 of file discretization.h.
Referenced by ryujin::Interface::Discretization< dim >::finite_element().
|
protected |
Definition at line 492 of file discretization.h.
|
protected |
Definition at line 493 of file discretization.h.
|
protected |
Definition at line 495 of file discretization.h.