dune-grid-glue
2.3.0
|
Provides codimension-independent methods for grid extraction. More...
#include <dune/grid-glue/extractors/extractor.hh>
Classes | |
struct | CoordinateInfo |
struct | CornerInfo |
Helpful struct holding one index for the coordinate (vertex) to which it is associated and the element's corner index;. More... | |
struct | ElementInfo |
simple struct holding an entity pointer and an index More... | |
struct | SubEntityInfo |
Holds some information about an element's subentity involved in a coupling. More... | |
struct | VertexInfo |
simple struct holding a vertex pointer and an index More... | |
Public Types | |
enum | { dimworld = GV::dimensionworld } |
enum | { dim = GV::dimension } |
enum | { codim = cd } |
enum | { cube_corners = 1 << (dim-codim) } |
typedef GV | GridView |
typedef GV::Grid::ctype | ctype |
typedef Dune::FieldVector < ctype, dimworld > | Coords |
typedef Dune::FieldVector < ctype, dim > | LocalCoords |
typedef GV::Traits::template Codim< dim >::EntityPointer | VertexPtr |
typedef GV::Traits::template Codim< dim >::Entity | Vertex |
typedef GV::Traits::template Codim< 0 >::EntityPointer | ElementPtr |
typedef GV::Traits::template Codim< 0 >::Entity | Element |
typedef GV::Traits::template Codim< 0 >::Iterator | ElementIter |
typedef std::vector< unsigned int > | VertexVector |
typedef Dune::MultipleCodimMultipleGeomTypeMapper < GridView, MCMGElementLayout > | CellMapper |
typedef int | IndexType |
typedef Dune::GenericGeometry::BasicGeometry < dim-codim, Dune::GenericGeometry::DefaultGeometryTraits < ctype, dim-codim, dimworld > > | Geometry |
typedef Dune::GenericGeometry::BasicGeometry < dim-codim, Dune::GenericGeometry::DefaultGeometryTraits < ctype, dim-codim, dim > > | LocalGeometry |
Public Member Functions | |
Extractor (const GV &gv) | |
Constructor. More... | |
~Extractor () | |
Destructor frees allocated memory. More... | |
void | clear () |
delete everything build up so far and free the memory More... | |
void | getCoords (std::vector< Dune::FieldVector< ctype, dimworld > > &coords) const |
getter for the coordinates array More... | |
unsigned int | nCoords () const |
getter for the count of coordinates More... | |
void | getGeometryTypes (std::vector< Dune::GeometryType > &geometryTypes) const |
Get the list of geometry types. More... | |
void | getFaces (std::vector< VertexVector > &faces) const |
Get the corners of the extracted subentities. More... | |
bool | faceIndices (const Element &e, int &first, int &count) const |
gets index of first subentity as well as the total number of subentities that were extracted from this element More... | |
int | indexInInside (unsigned int index) const |
gets the number face in the parent element More... | |
const GridView & | gridView () const |
tests that a given entry in the extraction set does have local couplings More... | |
const ElementPtr & | element (unsigned int index) const |
gets the parent element for a given face index, throws an exception if index not valid More... | |
const VertexPtr & | vertex (unsigned int index) const |
gets the vertex for a given coordinate index throws an exception if index not valid More... | |
Geometry | geometry (unsigned int index) const |
Get world geometry of the extracted face. More... | |
LocalGeometry | geometryLocal (unsigned int index) const |
Get geometry of the extracted face in element coordinates. More... | |
Protected Types | |
typedef std::map< IndexType, ElementInfo * > | ElementInfoMap |
typedef std::map< IndexType, VertexInfo * > | VertexInfoMap |
Protected Attributes | |
const GridView & | gv_ |
the grid object to extract the surface from More... | |
std::vector< CoordinateInfo > | coords_ |
all information about the corner vertices of the extracted More... | |
std::vector< SubEntityInfo > | subEntities_ |
all information about the extracted subEntities More... | |
VertexInfoMap | vtxInfo_ |
a map enabling faster access to vertices and coordinates More... | |
ElementInfoMap | elmtInfo_ |
a map enabling faster access to elements and faces More... | |
CellMapper | cellMapper_ |
Provides codimension-independent methods for grid extraction.
GV | the grid view type |
cd | codimension of the extracted entities |
typedef Dune::MultipleCodimMultipleGeomTypeMapper<GridView, MCMGElementLayout> Dune::GridGlue::Extractor< GV, cd >::CellMapper |
typedef Dune::FieldVector<ctype, dimworld> Dune::GridGlue::Extractor< GV, cd >::Coords |
typedef GV::Grid::ctype Dune::GridGlue::Extractor< GV, cd >::ctype |
typedef GV::Traits::template Codim<0>::Entity Dune::GridGlue::Extractor< GV, cd >::Element |
|
protected |
typedef GV::Traits::template Codim<0>::Iterator Dune::GridGlue::Extractor< GV, cd >::ElementIter |
typedef GV::Traits::template Codim<0>::EntityPointer Dune::GridGlue::Extractor< GV, cd >::ElementPtr |
typedef Dune::GenericGeometry::BasicGeometry<dim-codim, Dune::GenericGeometry::DefaultGeometryTraits<ctype,dim-codim,dimworld> > Dune::GridGlue::Extractor< GV, cd >::Geometry |
typedef GV Dune::GridGlue::Extractor< GV, cd >::GridView |
typedef int Dune::GridGlue::Extractor< GV, cd >::IndexType |
typedef Dune::FieldVector<ctype, dim> Dune::GridGlue::Extractor< GV, cd >::LocalCoords |
typedef Dune::GenericGeometry::BasicGeometry<dim-codim, Dune::GenericGeometry::DefaultGeometryTraits<ctype,dim-codim,dim> > Dune::GridGlue::Extractor< GV, cd >::LocalGeometry |
typedef GV::Traits::template Codim<dim>::Entity Dune::GridGlue::Extractor< GV, cd >::Vertex |
|
protected |
typedef GV::Traits::template Codim<dim>::EntityPointer Dune::GridGlue::Extractor< GV, cd >::VertexPtr |
typedef std::vector<unsigned int> Dune::GridGlue::Extractor< GV, cd >::VertexVector |
|
inline |
Constructor.
gv | the grid view object to work with |
Dune::GridGlue::Extractor< GV, cd >::~Extractor | ( | ) |
Destructor frees allocated memory.
References Dune::GridGlue::Extractor< GV, cd >::clear().
|
inline |
delete everything build up so far and free the memory
Referenced by Dune::GridGlue::Extractor< GV, cd >::~Extractor().
|
inline |
gets the parent element for a given face index, throws an exception if index not valid
index | the index of the face |
|
inline |
gets index of first subentity as well as the total number of subentities that were extracted from this element
[in] | e | the element |
[out] | first | will contain the index of the first subentity if it exists, else -1 |
[out] | count | will contain the number of subentities extracted from this element |
Extractor< GV, cd >::Geometry Dune::GridGlue::Extractor< GV, cd >::geometry | ( | unsigned int | index | ) | const |
Get world geometry of the extracted face.
Get World geometry of the extracted face.
References Dune::GridGlue::Extractor< GV, cd >::coords_, and Dune::GridGlue::Extractor< GV, cd >::subEntities_.
Extractor< GV, cd >::LocalGeometry Dune::GridGlue::Extractor< GV, cd >::geometryLocal | ( | unsigned int | index | ) | const |
Get geometry of the extracted face in element coordinates.
Get Geometry of the extracted face in element coordinates.
References Dune::GridGlue::Extractor< GV, cd >::SubEntityInfo::corners, Dune::GridGlue::Extractor< GV, cd >::dim, Dune::GridGlue::Extractor< GV, cd >::elmtInfo_, Dune::GridGlue::Extractor< GV, cd >::CornerInfo::num, Dune::GridGlue::Extractor< GV, cd >::SubEntityInfo::parent, and Dune::GridGlue::Extractor< GV, cd >::subEntities_.
|
inline |
getter for the coordinates array
coords | a vector that will be resized (!) and filled with the coordinates, note that the single components are written consecutively |
Referenced by Dune::GridGlue::GridGlue< P0, P1 >::extractGrid().
|
inline |
Get the corners of the extracted subentities.
Referenced by Dune::GridGlue::GridGlue< P0, P1 >::extractGrid().
|
inline |
Get the list of geometry types.
Referenced by Dune::GridGlue::GridGlue< P0, P1 >::extractGrid().
|
inline |
tests that a given entry in the extraction set does have local couplings
give access to the Dune::GridView where this Patch belongs to
|
inline |
gets the number face in the parent element
index | the index of the face |
|
inline |
getter for the count of coordinates
|
inline |
gets the vertex for a given coordinate index throws an exception if index not valid
index | the index of the coordinate |
|
protected |
|
protected |
all information about the corner vertices of the extracted
Referenced by Dune::GridGlue::Extractor< GV, cd >::geometry().
|
protected |
a map enabling faster access to elements and faces
Maps an element's index (from index set) to an object holding the locally associated index of its first face in _indices (if there are more they are positioned consecutively) and an entity pointer to the codim<0> entity.
Referenced by Dune::GridGlue::Extractor< GV, cd >::geometryLocal().
|
protected |
the grid object to extract the surface from
Referenced by Dune::GridGlue::Extractor< GV, 1 >::gridView().
|
protected |
all information about the extracted subEntities
Referenced by Dune::GridGlue::Extractor< GV, cd >::geometry(), and Dune::GridGlue::Extractor< GV, cd >::geometryLocal().
|
protected |
a map enabling faster access to vertices and coordinates
Maps a vertex' index (from index set) to an object holding the locally associated index of the vertex' coordinate in coords_ and an entity pointer to the codim<dim> entity.