![]() |
ryujin 2.1.1 revision 71cdc42292164f8095c0bd62c4ea75ebcfac58fa
|
#include <source/geometries/geometry.h>


Public Types | |
| enum class | HP_Collection { standard_quadrilaterals , standard_simplices , populated_by_geometry } |
Public Member Functions | |
| Geometry (const std::string &name, const std::string &subsection) | |
| virtual void | create_coarse_triangulation (dealii::Triangulation< dim > &triangulation) const =0 |
| virtual void | update_dof_handler (dealii::DoFHandler< dim > &) const |
| virtual HP_Collection | populate_hp_collections (const unsigned int, typename ryujin::Discretization< dim >::Collection &) const |
Protected Attributes | |
| std::function< dealii::Point< dim >(const typename dealii::Triangulation< dim >::cell_iterator &, const dealii::Point< dim > &)> | transformation_ |
A small abstract base class to group configuration options for a number of geometries together.
Definition at line 34 of file geometry.h.
|
strong |
An enum class describing the hp collection
| Enumerator | |
|---|---|
| standard_quadrilaterals | |
| standard_simplices | |
| populated_by_geometry | |
Definition at line 73 of file geometry.h.
|
inline |
Constructor taking geometry name name and a subsection subsection as an argument. The dealii::ParameterAcceptor is initialized with the subsubsection subsection + "/" + name.
Definition at line 42 of file geometry.h.
|
pure virtual |
Create a coarse triangulation representing the current Geometry. This virtual method needs to be implemented in a derived classes.
Implemented in ryujin::Geometries::Airfoil< dim >, ryujin::Geometries::Annulus< dim >, ryujin::Geometries::Cylinder< dim >, ryujin::Geometries::Disk< dim >, ryujin::Geometries::GeoTIFFProfile< dim >, ryujin::Geometries::Reader< dim >, ryujin::Geometries::Step< dim >, ryujin::Geometries::WaveTank< dim >, ryujin::Geometries::TwoTanks< dim >, ryujin::Geometries::Wall< dim >, and ryujin::Geometries::RectangularDomain< dim >.
|
inlinevirtual |
This method is called before we distribute dofs and can be used to set the correct active FE index for each active cell for the given DoFHandler, or update material, or manifold ids, etc.
This method can be left empty for a standard geometry that only uses only one reference element. The method must be reimplemented for geometries that use hp capabilities, such as meshes with mixed finite elements, or meshes with FE_Nothing.
Definition at line 66 of file geometry.h.
|
inlinevirtual |
Populate all hp::*Collection objects for finite elements, mappings, and quadratures. As this is a formidable zoo of different collection objects, we get a writable reference to the discretization object to set them directly.
Reimplemented in ryujin::Geometries::Reader< dim >, and ryujin::Geometries::RectangularDomain< dim >.
Definition at line 97 of file geometry.h.
References ryujin::Geometry< dim >::standard_quadrilaterals.
|
mutableprotected |
Return the (optional) forward transformation that maps points of the undeformed triangulation created by create_coarse_triangulation() (and its refinements) to the actual geometry.
If the function is nonempty the Discretization class refines the triangulation without manifolds and realizes the geometry with a MappingQCache whose support points are computed with this transformation. If the function object is empty then a standard MappinQ is used instead. Return the name of the geometry as (const reference) std::string The transformation function object which should be set in create_coarse_triangulation() of derived classes that need MappingQCache to be set up.
Definition at line 137 of file geometry.h.