Loading...
Searching...
No Matches
Dune::Functions::Experimental::SubDomainIndexSet< HGV > Class Template Reference
Utility

An IndexSet for a sub-domain. More...

`#include <dune/functions/common/subdomain.hh>`

Inheritance diagram for Dune::Functions::Experimental::SubDomainIndexSet< HGV >:

## Classes

struct | Codim
| Codim specific typedefs. More...

## Public Types

enum | { dimension = Grid::dimension }
using | Grid = typename HostGridView::Grid
using | Types = std::vector<Dune::GeometryType>
using | IndexType = std::size_t

## Public Member Functions

| SubDomainIndexSet (const HostGridView &hostGridView)
| Construct SubDomainIndexSet for underlying host grid view.
IndexType | size (Dune::GeometryType gt) const
IndexType | size (int codim) const
template<class Entity>
IndexType | index (const Entity &entity) const
template<int cc>
IndexType | index (const typename Codim< cc >::Entity &entity) const
template<class Entity>
IndexType | subIndex (const Entity &entity, int subEntity, unsigned int codim) const
template<int cc>
IndexType | subIndex (const typename Codim< cc >::Entity &entity, int subEntity, unsigned int codim) const
template<class Entity>
bool | contains (const Entity &entity) const
Types | types (int codim) const
const HostGridView & | hostGridView () const
| Access underlying host grid view.
void | insertElement (const typename Codim< 0 >::Entity &element)
| Insert element and all its sub-entities into SubDomainIndexSet.

## Protected Member Functions

void | clear ()

## Protected Attributes

HostGridView | hostGridView_
std::array< std::size_t, typeIndexSize > | sizePerGT_
std::array< std::size_t, dimension+1 > | sizePerCodim_
std::array< Types, dimension+1 > | typesPerCodim_
AllEntityMapper | allEntityMapper_
std::vector< IndexType > | indices_

## Detailed Description

template<class HGV>
class Dune::Functions::Experimental::SubDomainIndexSet< HGV >

An IndexSet for a sub-domain.

A SubDomainIndexSet provides indices for a subset of the entities of a grid view. Once created, new entities can be inserted using subDomainIndexSet.insertElement(element) which will insert the grid element of codim 0 and all its sub entities. This will increment the internally stored size information accordingly. Querying the index of an entity or sub-entity that has not been inserted before will lead to an exception.

Internally this uses a std::vector<std::size_t> which stores the sub-domain index for each entity in the underlying grid view using a magic value for entities not contained in the sub-domain.

Template Parameters

  HGV | The underlying host grid view type.

## Member Typedef Documentation

## Grid

template<class HGV>

using Dune::Functions::Experimental::SubDomainIndexSet< HGV >::Grid = typename HostGridView::Grid

## IndexType

template<class HGV>

using Dune::Functions::Experimental::SubDomainIndexSet< HGV >::IndexType = std::size_t

## Types

template<class HGV>

using Dune::Functions::Experimental::SubDomainIndexSet< HGV >::Types = std::vector<Dune::GeometryType>

## Member Enumeration Documentation

## anonymous enum

template<class HGV>

anonymous enum

Enumerator
dimension |

## Constructor & Destructor Documentation

## SubDomainIndexSet()

template<class HGV>

Dune::Functions::Experimental::SubDomainIndexSet< HGV >::SubDomainIndexSet | ( | const HostGridView & | hostGridView | ) |

inline

Construct SubDomainIndexSet for underlying host grid view.

## Member Function Documentation

## clear()

template<class HGV>

void Dune::Functions::Experimental::SubDomainIndexSet< HGV >::clear | ( |  | ) |

inline protected

## contains()

template<class HGV>
template<class Entity>

bool Dune::Functions::Experimental::SubDomainIndexSet< HGV >::contains | ( | const Entity & | entity | ) | const

inline

## hostGridView()

template<class HGV>

const HostGridView & Dune::Functions::Experimental::SubDomainIndexSet< HGV >::hostGridView | ( |  | ) | const

inline

Access underlying host grid view.

## index() [1/2]

template<class HGV>
template<class Entity>

IndexType Dune::Functions::Experimental::SubDomainIndexSet< HGV >::index | ( | const Entity & | entity | ) | const

inline

## index() [2/2]

template<class HGV>
template<int cc>

IndexType Dune::Functions::Experimental::SubDomainIndexSet< HGV >::index | ( | const typename Codim< cc >::Entity & | entity | ) | const

inline

## insertElement()

template<class HGV>

void Dune::Functions::Experimental::SubDomainIndexSet< HGV >::insertElement | ( | const typename Codim< 0 >::Entity & | element | ) |

inline

Insert element and all its sub-entities into SubDomainIndexSet.

## size() [1/2]

template<class HGV>

IndexType Dune::Functions::Experimental::SubDomainIndexSet< HGV >::size | ( | Dune::GeometryType | gt | ) | const

inline

## size() [2/2]

template<class HGV>

IndexType Dune::Functions::Experimental::SubDomainIndexSet< HGV >::size | ( | int | codim | ) | const

inline

## subIndex() [1/2]

template<class HGV>
template<class Entity>

IndexType Dune::Functions::Experimental::SubDomainIndexSet< HGV >::subIndex | ( | const Entity & | entity,
|  | int | subEntity,
|  | unsigned int | codim ) const

inline

## subIndex() [2/2]

template<class HGV>
template<int cc>

IndexType Dune::Functions::Experimental::SubDomainIndexSet< HGV >::subIndex | ( | const typename Codim< cc >::Entity & | entity,
|  | int | subEntity,
|  | unsigned int | codim ) const

inline

## types()

template<class HGV>

Types Dune::Functions::Experimental::SubDomainIndexSet< HGV >::types | ( | int | codim | ) | const

inline

## Member Data Documentation

## allEntityMapper_

template<class HGV>

AllEntityMapper Dune::Functions::Experimental::SubDomainIndexSet< HGV >::allEntityMapper_

protected

## hostGridView_

template<class HGV>

HostGridView Dune::Functions::Experimental::SubDomainIndexSet< HGV >::hostGridView_

protected

## indices_

template<class HGV>

std::vector<IndexType> Dune::Functions::Experimental::SubDomainIndexSet< HGV >::indices_

protected

## sizePerCodim_

template<class HGV>

std::array<std::size_t, dimension+1> Dune::Functions::Experimental::SubDomainIndexSet< HGV >::sizePerCodim_

protected

## sizePerGT_

template<class HGV>

std::array<std::size_t, typeIndexSize> Dune::Functions::Experimental::SubDomainIndexSet< HGV >::sizePerGT_

protected

## typesPerCodim_

template<class HGV>

std::array<Types, dimension+1> Dune::Functions::Experimental::SubDomainIndexSet< HGV >::typesPerCodim_

protected

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

- subdomain.hh