DUNE PDELab (git)
gridfactory.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
227 insertionIndex ( [[maybe_unused]] const typename GridType::LeafIntersection &intersection ) const
325 virtual void insertBoundarySegment([[maybe_unused]] const std::vector<unsigned int>& vertices) {
Base class for grid boundary segments of arbitrary geometry.
Collective communication interface and sequential default implementation.
Definition: communication.hh:100
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
Provide a generic factory class for unstructured grids.
Definition: gridfactory.hh:70
virtual void insertBoundarySegment(const std::vector< unsigned int > &vertices, const std::shared_ptr< BoundarySegment< dimension, dimworld > > &boundarySegment)
insert an arbitrarily shaped boundary segment
Definition: gridfactory.hh:153
virtual unsigned int insertionIndex(const typename Codim< 0 >::Entity &entity) const
obtain an element's insertion index
Definition: gridfactory.hh:181
virtual void insertElement(const GeometryType &type, const std::vector< unsigned int > &vertices)=0
Insert an element into the coarse grid.
virtual std::unique_ptr< GridType > createGrid()=0
Finalize grid creation and hand over the grid.
virtual void insertElement(const GeometryType &type, const std::vector< unsigned int > &vertices, std::function< FieldVector< ctype, dimworld >(FieldVector< ctype, dimension >)> elementParametrization)
Insert a parametrized element into the coarse grid.
Definition: gridfactory.hh:122
virtual void insertBoundarySegment(const std::vector< unsigned int > &vertices)=0
insert a boundary segment
virtual ~GridFactoryInterface()
virtual destructor
Definition: gridfactory.hh:94
virtual void insertVertex(const FieldVector< ctype, dimworld > &pos)=0
Insert a vertex into the coarse grid.
static constexpr int dimworld
The grid world dimension.
Definition: gridfactory.hh:77
static const int dimension
dimension of the grid
Definition: gridfactory.hh:74
virtual unsigned int insertionIndex(const typename GridType::LeafIntersection &intersection) const
obtain a boundary's insertion index
Definition: gridfactory.hh:227
GridType::ctype ctype
Type used by the grid for coordinates.
Definition: gridfactory.hh:80
GridFactoryInterface()
Default constructor.
Definition: gridfactory.hh:90
Communication comm() const
Return the Communication used by the grid factory.
Definition: gridfactory.hh:258
virtual unsigned int insertionIndex(const typename Codim< dimension >::Entity &entity) const
obtain a vertex' insertion index
Definition: gridfactory.hh:202
virtual bool wasInserted(const typename GridType::LeafIntersection &intersection) const
determine whether an intersection was inserted
Definition: gridfactory.hh:247
Provide a generic factory class for unstructured grids.
Definition: gridfactory.hh:275
virtual void insertElement(const GeometryType &type, const std::vector< unsigned int > &vertices)
Insert an element into the coarse grid.
Definition: gridfactory.hh:307
virtual void insertVertex(const FieldVector< ctype, dimworld > &pos)
Insert a vertex into the coarse grid.
Definition: gridfactory.hh:296
virtual void insertBoundarySegment(const std::vector< unsigned int > &vertices)
insert a boundary segment
Definition: gridfactory.hh:325
virtual std::unique_ptr< GridType > createGrid()
Finalize grid creation and hand over the grid.
Definition: gridfactory.hh:333
static MPICommunicator getLocalCommunicator()
get a local communicator
Definition: mpihelper.hh:211
Different resources needed by all grid implementations.
Implements a vector constructed from a given type representing a field and a compile-time given size.
Helpers for dealing with MPI.
Base class for classes implementing geometries of boundary segments.
Definition: boundarysegment.hh:94
A unique label for each type of element that can occur in a grid.
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 23, 23:29, 2024)