Dune Core Modules (2.11.0)

Dune::Gmsh4::LagrangeGridCreator< GridType > Struct Template Reference

#include <dune/gmsh4/gridcreators/lagrangegridcreator.hh>

Public Member Functions

template<class NodeAttributes >
void insertVerticesImpl (std::size_t numNodes, std::pair< std::size_t, std::size_t > nodeTagRange, std::vector< NodeAttributes > const &entityBlocks)
 Implementation of the interface function insertVertices()
 
template<class ElementAttributes , class BoundaryEntities >
void insertElementsImpl (std::size_t numElements, std::pair< std::size_t, std::size_t > elementTagRange, std::vector< ElementAttributes > const &entityBlocks, BoundaryEntities const &boundaryEntities)
 Implementation of the interface function insertElements()
 
LocalParametrization localParametrization (unsigned int insertionIndex) const
 Construct an element parametrization. More...
 
LocalParametrization localParametrization (Element const &element) const
 Construct an element parametrization. More...
 
template<class LocalParam >
int order (LocalParam const &localParam) const
 Determine Lagrange order from number of points.
 
int order () const
 Determine Lagrange order from number of points from the first element parametrization.
 
EntitySet entitySet () const
 Dummy function returning a placeholder entityset.
 
GlobalCoordinate operator() (GlobalCoordinate const &) const
 Dummy function returning a placeholder entityset.
 
GridFactory< Grid > & factory ()
 Return the associated GridFactory.
 
GridFactory< Grid > const & factory () const
 Return the associated (const) GridFactory.
 
void insertVertices (std::size_t numNodes, std::pair< std::size_t, std::size_t > nodeTagRange, std::vector< NodeAttributes > const &entityBlocks)
 Insert all points as vertices into the factory.
 
void insertElements (std::size_t numElements, std::pair< std::size_t, std::size_t > elementTagRange, std::vector< ElementAttributes > const &entityBlocks, BoundaryEntities const &boundaryEntities)
 Create elements based on type and connectivity description.
 
void insertPieces (std::vector< std::string > const &pieces)
 Insert part of a grid stored in file into factory.
 
auto comm () const
 Return the mpi collective communicator.
 

Friends

LocalFunction localFunction (LagrangeGridCreator &gridCreator)
 Local function representing the parametrization of the grid. More...
 

Detailed Description

template<class GridType>
struct Dune::Gmsh4::LagrangeGridCreator< GridType >

The grid is created from the first nodes of a cell parametrization, representing the corner vertices. Thus a piecewise "flat" grid is constructed. The parametrization is 1. passed as a local element parametrization to the insertElement() function of a gridFactory to allow the grid itself to handle the parametrization and 2. is stored internally that can be accessed by using this GridCreator object as a grid function, or by extracting locally the parametrization on each existing grid element after creation of the grid.

So, the LagrangeGridCreator models both, a GridCreator and a GridFunction.

Member Function Documentation

◆ localParametrization() [1/2]

template<class GridType >
LocalParametrization Dune::Gmsh4::LagrangeGridCreator< GridType >::localParametrization ( Element const &  element) const
inline

Construct an element parametrization.

The returned LocalParametrization is a mapping GlobalCoordinate(LocalCoordinate) where LocalCoordinate is w.r.t. the local coordinate system in the passed element andGlobalCoordinate` a world coordinate in the parametrized grid.

Note, when an element is passed, it might have a different local coordinate system than the coordinate system used to defined the element parametrization. Thus coordinate transform is internally chained to the evaluation of the local parametrization. This local geometry transform is obtained by figuring out the permutation of corners in the element corresponding to the inserted corner vertices.

References Dune::Gmsh4::LagrangeGridCreator< GridType >::factory(), GMSH4_ASSERT, Dune::GridFactoryInterface< GridType >::insertionIndex(), and Dune::Gmsh4::LagrangeGridCreator< GridType >::order().

◆ localParametrization() [2/2]

template<class GridType >
LocalParametrization Dune::Gmsh4::LagrangeGridCreator< GridType >::localParametrization ( unsigned int  insertionIndex) const
inline

Construct an element parametrization.

The returned LocalParametrization is a mapping GlobalCoordinate(LocalCoordinate) where LocalCoordinate is w.r.t. the local coordinate system in an element with giveninsertionIndex<tt>(defined by the inserted corner vertices) and GlobalCoordinate` a world coordinate in the parametrized grid.

References Dune::Gmsh4::LagrangeGridCreator< GridType >::order().

Referenced by Dune::Gmsh4::LagrangeGridCreator< GridType >::insertElementsImpl().

Friends And Related Function Documentation

◆ localFunction

template<class GridType >
LocalFunction localFunction ( LagrangeGridCreator< GridType > &  gridCreator)
friend

Local function representing the parametrization of the grid.

The returned object models Functions::Concept::LocalFunction and can thus be bound to an element of the created grid and evaluated in the local coordinates of the bound element.

It is implemented in terms of the LocalParametrization function returned by the method localParametrization(element). See comments there for further details.

Note, this methods requires the GridCreator to be based by lvalue-reference. This is necessary, since we want to guarantee that all internal storage is preserved while evaluating the local function.


The documentation for this struct was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Feb 14, 23:39, 2026)