ryujin 2.1.1 revision dbf0e3ba7acdb60b6d558e4257815df4a8f8daf9
Public Types | Public Member Functions | List of all members
ryujin::Geometry< dim > Class Template Referenceabstract

#include <source/geometries/geometry.h>

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

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, const bool, typename ryujin::Discretization< dim >::Collection &) const
 

Detailed Description

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

A small abstract base class to group configuration options for a number of geometries together.

Definition at line 33 of file geometry.h.

Member Enumeration Documentation

◆ HP_Collection

template<int dim>
enum class ryujin::Geometry::HP_Collection
strong

An enum class describing the hp collection

Enumerator
standard_quadrilaterals 
standard_simplices 
populated_by_geometry 

Definition at line 72 of file geometry.h.

Constructor & Destructor Documentation

◆ Geometry()

template<int dim>
ryujin::Geometry< dim >::Geometry ( const std::string &  name,
const std::string &  subsection 
)
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 41 of file geometry.h.

Member Function Documentation

◆ create_coarse_triangulation()

template<int dim>
virtual void ryujin::Geometry< dim >::create_coarse_triangulation ( dealii::Triangulation< dim > &  triangulation) const
pure virtual

◆ update_dof_handler()

template<int dim>
virtual void ryujin::Geometry< dim >::update_dof_handler ( dealii::DoFHandler< dim > &  ) const
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 65 of file geometry.h.

◆ populate_hp_collections()

template<int dim>
virtual HP_Collection ryujin::Geometry< dim >::populate_hp_collections ( const unsigned int  ,
const bool  ,
typename ryujin::Discretization< dim >::Collection &   
) const
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::RectangularDomain< dim >.

Definition at line 96 of file geometry.h.

References ryujin::Geometry< dim >::standard_quadrilaterals.


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