DUNE PDELab (git)

Classes

class  Dune::GridView< ViewTraits >
 Grid view abstract base class. More...
 
struct  Dune::GridView< ViewTraits >::Codim< cd >
 A struct that collects all associated types of one implementation from the Traits class. More...
 
struct  Dune::GridView< ViewTraits >::Codim< cd >::Partition< pit >
 Define types needed to iterate over entities of a given partition type. More...
 

Typedefs

typedef ViewTraits::GridViewImp Dune::GridView< ViewTraits >::Implementation
 type of underlying implementation More...
 
typedef ViewTraits Dune::GridView< ViewTraits >::Traits
 Traits class.
 
typedef Traits::Grid Dune::GridView< ViewTraits >::Grid
 type of the grid
 
typedef Traits::IndexSet Dune::GridView< ViewTraits >::IndexSet
 type of the index set
 
typedef Traits::Intersection Dune::GridView< ViewTraits >::Intersection
 type of the intersection
 
typedef Traits::IntersectionIterator Dune::GridView< ViewTraits >::IntersectionIterator
 type of the intersection iterator
 
using Dune::GridView< ViewTraits >::Communication = typename Traits ::Communication
 A type that is a model of Dune::Communication. It provides a portable way for communication on the set of processes used by the grid.
 
typedef Traits::template Codim< cd >::Iterator Dune::GridView< ViewTraits >::Codim< cd >::Iterator
 type of iterator returned by the grid view
 
typedef Traits::template Codim< cd >::Entity Dune::GridView< ViewTraits >::Codim< cd >::Entity
 type of corresponding entity
 
typedef Traits::template Codim< cd >::Geometry Dune::GridView< ViewTraits >::Codim< cd >::Geometry
 type of the geometry implementation
 
typedef Traits::template Codim< cd >::LocalGeometry Dune::GridView< ViewTraits >::Codim< cd >::LocalGeometry
 type of the implementation for local geometries
 
typedef Traits::template Codim< cd >::template Partition< pit >::Iterator Dune::GridView< ViewTraits >::Codim< cd >::Partition< pit >::Iterator
 iterator over a given codim and partition type
 
typedef Grid::ctype Dune::GridView< ViewTraits >::ctype
 type used for coordinates in grid
 

Functions

template<int dim, int dimworld, class ct , class GridFamily >
Grid< dim, dimworld, ct, GridFamily >::LevelGridView Dune::levelGridView (const Grid< dim, dimworld, ct, GridFamily > &grid, int level)
 level grid view for the given grid and level. More...
 
template<int dim, int dimworld, class ct , class GridFamily >
Grid< dim, dimworld, ct, GridFamily >::LeafGridView Dune::leafGridView (const Grid< dim, dimworld, ct, GridFamily > &grid)
 leaf grid view for the given grid More...
 

Variables

static constexpr bool Dune::GridView< ViewTraits >::conforming = Traits :: conforming
 Export if this grid view is guaranteed conforming.
 
static constexpr int Dune::GridView< ViewTraits >::dimension = Grid :: dimension
 The dimension of the grid.
 
static constexpr int Dune::GridView< ViewTraits >::dimensionworld = Grid :: dimensionworld
 The dimension of the world the grid lives in.
 

Interface for the implementor

Implementation Dune::GridView< ViewTraits >::impl_
 
 Dune::GridView< ViewTraits >::GridView (const Implementation &imp)
 constructor (engine concept)
 
 Dune::GridView< ViewTraits >::GridView (const ThisType &other)
 Copy constructor.
 
ThisTypeDune::GridView< ViewTraits >::operator= (const ThisType &other)
 assignment operator
 
const GridDune::GridView< ViewTraits >::grid () const
 obtain a const reference to the underlying hierarchic grid
 
const IndexSetDune::GridView< ViewTraits >::indexSet () const
 obtain the index set More...
 
int Dune::GridView< ViewTraits >::size (int codim) const
 obtain number of entities in a given codimension
 
int Dune::GridView< ViewTraits >::size (const GeometryType &type) const
 obtain number of entities with a given geometry type
 
bool Dune::GridView< ViewTraits >::isConforming () const
 return true if current state of grid view represents a conforming grid
 
template<class EntityType >
bool Dune::GridView< ViewTraits >::contains (const EntityType &e) const
 Return true if the given entity is contained in this grid view. More...
 
template<int cd>
Codim< cd >::Iterator Dune::GridView< ViewTraits >::begin () const
 obtain begin iterator for this view
 
template<int cd>
Codim< cd >::Iterator Dune::GridView< ViewTraits >::end () const
 obtain end iterator for this view
 
template<int cd, PartitionIteratorType pitype>
Codim< cd >::template Partition< pitype >::Iterator Dune::GridView< ViewTraits >::begin () const
 obtain begin iterator for this view
 
template<int cd, PartitionIteratorType pitype>
Codim< cd >::template Partition< pitype >::Iterator Dune::GridView< ViewTraits >::end () const
 obtain end iterator for this view
 
IntersectionIterator Dune::GridView< ViewTraits >::ibegin (const typename Codim< 0 > ::Entity &entity) const
 obtain begin intersection iterator with respect to this view
 
IntersectionIterator Dune::GridView< ViewTraits >::iend (const typename Codim< 0 > ::Entity &entity) const
 obtain end intersection iterator with respect to this view
 
const CommunicationDune::GridView< ViewTraits >::comm () const
 obtain communication object
 
int Dune::GridView< ViewTraits >::overlapSize (int codim) const
 Return size of the overlap region for a given codim on the grid view.

 
int Dune::GridView< ViewTraits >::ghostSize (int codim) const
 Return size of the ghost region for a given codim on the grid view.

 
template<class DataHandleImp , class DataType >
auto Dune::GridView< ViewTraits >::communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
 Communicate data on this view.
 
ImplementationDune::GridView< ViewTraits >::impl ()
 access to the underlying implementation More...
 
const ImplementationDune::GridView< ViewTraits >::impl () const
 access to the underlying implementation More...
 
template<class DataHandleImp , class DataType >
auto Dune::GridView< ViewTraits >::communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir, std::integral_constant< bool, false >) const
 Communicate data on this view.
 
template<class DataHandleImp , class DataType >
auto Dune::GridView< ViewTraits >::communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir, std::integral_constant< bool, true >) const
 Communicate data on this view.
 

Detailed Description

Though a DUNE grid is hierarchic, one often only needs access to a certain subset of the entities in the grid, e.g., all entities on a given level or the leaf entities in the hierarchy. These views are provided by an implementation of GridView. Each grid exports a LevelGridView and a LeafGridView, corresponding to the two different subsets (views) described above.

A grid view provides the following functionality:

  • The index set for the required subset can be accessed by the indexSet() method.
  • A pair of begin() / end() methods provide iterators for each codimension.
  • A pair of ibegin() / iend() methods return suitable intersection iterators for a given entity of codimension 0 in the subset.
  • For parallel computations, a suitable communicate() method is provided.
  • The underlying grid can be accessed through the grid() method.

The default GridViews can be obtained from the grid by calling one of the levelGridView() or leafGridView() methods which are provided as both free functions and member functions of the Grid interface class.

Typedef Documentation

◆ Implementation

template<class ViewTraits >
typedef ViewTraits::GridViewImp Dune::GridView< ViewTraits >::Implementation

type of underlying implementation

Warning
Implementation details may change without prior notification.

Function Documentation

◆ contains()

template<class ViewTraits >
template<class EntityType >
bool Dune::GridView< ViewTraits >::contains ( const EntityType &  e) const
inline

Return true if the given entity is contained in this grid view.

Todo:
Currently we call the implementation on the IndexSet. This may lead to suboptimal efficiency.
Note
If the input element e is not an element of the grid, then the result of contains() is undefined.

References Dune::GridView< ViewTraits >::impl().

◆ impl() [1/2]

◆ impl() [2/2]

template<class ViewTraits >
const Implementation & Dune::GridView< ViewTraits >::impl ( ) const
inline

access to the underlying implementation

Warning
Implementation details may change without prior notification.

◆ indexSet()

template<class ViewTraits >
const IndexSet & Dune::GridView< ViewTraits >::indexSet ( ) const
inline

obtain the index set

The lifetime of the returned index set is bound to the lifetime of the grid view. Keep a copy of the grid view to prevent the index set from becoming a dangling reference.

References Dune::GridView< ViewTraits >::impl().

Referenced by checkElementDataMapper(), checkMixedDataMapper(), checkVertexDataMapper(), Dune::GlobalIndexSet< GridView >::GlobalIndexSet(), Dune::GlobalIndexSet< GridView >::index(), Dune::GridPtr< GridType >::parameters(), Dune::GlobalIndexSet< GridView >::subIndex(), and Dune::VTKWriter< GridView >::writeCellFaces().

◆ leafGridView()

template<int dim, int dimworld, class ct , class GridFamily >
Grid< dim, dimworld, ct, GridFamily >::LeafGridView Dune::leafGridView ( const Grid< dim, dimworld, ct, GridFamily > &  grid)

leaf grid view for the given grid

Identical to the method in the Grid interface, but provided as a free function.

See also
Grid::leafGridView
Parameters
gridGrid to obtain the leaf grid view for

References Dune::Grid< dim, dimworld, ct, GridFamily >::leafGridView().

Referenced by Dune::gridleaflist().

◆ levelGridView()

template<int dim, int dimworld, class ct , class GridFamily >
Grid< dim, dimworld, ct, GridFamily >::LevelGridView Dune::levelGridView ( const Grid< dim, dimworld, ct, GridFamily > &  grid,
int  level 
)

level grid view for the given grid and level.

Identical to the method in the Grid interface, but provided as a free function.

See also
Grid::levelGridView
Parameters
gridGrid to obtain the level grid view for
levellevel of the level grid view

References Dune::Grid< dim, dimworld, ct, GridFamily >::levelGridView().

Referenced by Dune::gridlevellist().

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 23, 23:29, 2024)