|
dune-multidomaingrid 2.10-git
|
Loading...
Searching...
No Matches
indexsets.hh
Go to the documentation of this file.
146 using CellReferenceElement = Dune::ReferenceElement<typename HostGrid::template Codim<0>::Entity::Geometry>;
241 typedef std::vector<std::shared_ptr<IndexSetWrapper<GridImp, typename HostGridView::Grid::LevelGridView> > > LevelIndexSets;
292 const typename MapEntry<EntityType::codimension>::SubDomainSet& subDomains(const EntityType& e) const {
299 const typename MapEntry<cc>::SubDomainSet& subDomains(const typename Grid::Traits::template Codim<cc>::Entity& e) const {
312 IndexType index(SubDomainIndex subDomain, const typename Grid::Traits::template Codim<cc>::Entity& e) const {
335 typename MapEntry<cc>::SubDomainSet& subDomains(const typename Grid::Traits::template Codim<cc>::Entity& e) {
341 typename MapEntry<HostEntity::codimension>::SubDomainSet& subDomainsForHostEntity(const HostEntity& e) {
348 typename MapEntry<cc>::SubDomainSet& subDomainsForHostEntity(const typename Grid::HostGrid::Traits::template Codim<cc>::Entity& he) {
349 return indexMap<cc>()[LocalGeometryTypeIndex::index(he.type())][_hostGridView.indexSet().index(he)].domains;
354 const typename MapEntry<HostEntity::codimension>::SubDomainSet& subDomainsForHostEntity(const HostEntity& e) const {
361 const typename MapEntry<cc>::SubDomainSet& subDomainsForHostEntity(const typename Grid::HostGrid::Traits::template Codim<cc>::Entity& he) const {
362 return indexMap<cc>()[LocalGeometryTypeIndex::index(he.type())][_hostGridView.indexSet().index(he)].domains;
366 IndexType indexForSubDomain(SubDomainIndex subDomain, const typename Grid::HostGrid::Traits::template Codim<cc>::Entity& he) const {
379 IndexType subIndexForSubDomain(SubDomainIndex subDomain, const HostEntity& he, int i, int codim) const {
385 const MapEntry<icodim>& me = this->indexMap<icodim>()[LocalGeometryTypeIndex::index(gt)][hostIndex];
405 Dune::Hybrid::switchCases(Dune::range(index_constant<dimension+1>{}), dimension-type.dim(), [&](auto icodim){
425 const MapEntry<EntityType::codimension>& me = indexMap<EntityType::codimension>()[LocalGeometryTypeIndex::index(gt)][hostIndex];
432 IndexType subIndex(SubDomainIndex subDomain, const SubDomainEntity& e, int i, int codim) const {
492 void addToSubDomains(const typename MDGridTraits::template Codim<0>::SubDomainSet& subDomains, const Codim0Entity& e) {
648 levelIndexSets[he.level()]->template indexMap<0>()[hgt_index][hostLvlIndex].domains.addAll(me.domains);
690 void updateMapEntry(MapEntry<codim>& me, SizeContainer& sizes, std::vector<MultiIndexContainer, Alloc>& multiIndexMap) {
707 void markAncestors(LevelIndexSets& levelIndexSets, HostEntity he, const SubDomainSet& domains) {
711 levelIndexSets[he.level()]->template indexMap<0>()[LocalGeometryTypeIndex::index(he.type())][levelIndexSets[he.level()]->_hostGridView.indexSet().index(he)].domains;
739 markSubIndices(const HostEntity& he, DomainSet& domains, const HostIndexSet& his, const typename HostEntity::Geometry& geo) :
773 return MDGridTraits::template Codim<icodim>::supported && Dune::Capabilities::hasEntity<HostGrid, icodim>::v;
796 return MapEntry<Entity::codimension>::SubDomainSet::DataHandle::size(_indexSet.subDomainsForHostEntity(e));
802 MapEntry<Entity::codimension>::SubDomainSet::DataHandle::gather(buf,_indexSet.subDomainsForHostEntity(e));
808 MapEntry<Entity::codimension>::SubDomainSet::DataHandle::scatter(buf,_indexSet.subDomainsForHostEntity(e),n);
853 _hostGridView.template communicate<SelectionDataHandle>(dh,Dune::InteriorBorder_All_Interface,Dune::ForwardCommunication);
STL namespace.
bool setContains(const ArrayBasedSet< SI, capacity > &a, const ArrayBasedSet< SI, capacity > &b)
collect_elementwise_struct< T, binary_function > collect_elementwise(T &result, binary_function f=binary_function())
Definition utility.hh:41
std::size_t fixedSize
unspecified value type referenceElement(T &&... t)
int size() const
void clear()
SLList< T, A > & operator=(const SLList< T, A > &other)
static constexpr IntegralRange< std::decay_t< T > > range(T &&from, U &&to) noexcept
constexpr void forEach(Range &&range, F &&f)
constexpr decltype(auto) switchCases(const Cases &cases, const Value &value, Branches &&branches, ElseBranch &&elseBranch)
bool gt(const T &first, const T &second, typename EpsilonType< T >::Type epsilon=DefaultEpsilon< T, style >::value())
size_type dim() const
std::ptrdiff_t index() const
virtual void operator()()=0
#define DUNE_THROW(E,...)
constexpr std::bool_constant<((II==value)||...)> contains(std::integer_sequence< T, II... >, std::integral_constant< T, value >)
ForwardCommunication
InteriorBorder_All_Interface
const IndexSet & indexSet() const
IteratorRange<... > elements(const GV &gv)
GeometryType
static constexpr std::size_t size(std::size_t dim)
static constexpr std::size_t index(const GeometryType >)
Definition allsubdomaininterfacesiterator.hh:21
A meta grid for dividing an existing DUNE grid into subdomains that can be accessed as a grid in thei...
Definition multidomaingrid/multidomaingrid.hh:243
Definition indexsets.hh:118
IndexSetWrapper(const GridImp &grid, HostGridView hostGridView)
Definition indexsets.hh:502
IndexType size(GeometryType type) const
Returns the number of entities with GeometryType type in the grid.
Definition indexsets.hh:275
const MapEntry< EntityType::codimension >::SubDomainSet & subDomains(const EntityType &e) const
Returns a constant reference to the SubDomainSet of the given entity.
Definition indexsets.hh:292
IndexType index(const typename Grid::Traits::template Codim< codim >::Entity &e) const
Returns the index of the entity with codimension codim.
Definition indexsets.hh:247
IndexType index(const Entity &e) const
Returns the index of the entity.
Definition indexsets.hh:253
MDGridTraits::SubDomainIndex SubDomainIndex
Definition indexsets.hh:164
static const std::size_t maxSubDomains
Definition indexsets.hh:169
IndexType index(SubDomainIndex subDomain, const typename Grid::Traits::template Codim< cc >::Entity &e) const
Definition indexsets.hh:312
IndexType index(SubDomainIndex subDomain, const EntityType &e) const
Returns the index of the entity in a specific subdomain.
Definition indexsets.hh:305
Types types(int codim) const
Returns a list of all geometry types with codimension codim contained in the grid.
Definition indexsets.hh:270
IndexType size(SubDomainIndex subDomain, int codim) const
Definition indexsets.hh:444
const MapEntry< cc >::SubDomainSet & subDomains(const typename Grid::Traits::template Codim< cc >::Entity &e) const
Definition indexsets.hh:299
bool contains(const EntityType &e) const
Returns true if the entity is contained in the grid.
Definition indexsets.hh:286
IndexType size(int codim) const
Returns the number of entities with codimension codim in the grid.
Definition indexsets.hh:280
IndexType subIndex(const typename Grid::Traits::template Codim< codim >::Entity &e, int i, unsigned int cd) const
Returns the subdindex of the i-th subentity of e with codimension codim.
Definition indexsets.hh:259
IndexType subIndex(SubDomainIndex subDomain, const SubDomainEntity &e, int i, int codim) const
Definition indexsets.hh:432
IndexType subIndex(const Entity &e, int i, unsigned int cd) const
Returns the subdindex of the i-th subentity of e with codimension codim.
Definition indexsets.hh:265
typename Grid::MDGridTraits MDGridTraits
Definition indexsets.hh:162
IndexType size(SubDomainIndex subDomain, GeometryType type) const
Definition indexsets.hh:440
Types types(SubDomainIndex subDomain, int codim) const
Definition indexsets.hh:436
HostIndexSet::IndexType IndexType
Definition indexsets.hh:167
friend class IndexSetWrapper
Definition indexsets.hh:123
MDGridTraits::template Codim< 0 >::SubDomainSet SubDomainSet
Definition indexsets.hh:163
bool contains(SubDomainIndex subDomain, const EntityType &e) const
Returns true if the entity is contained in a specific subdomain.
Definition indexsets.hh:450
TypesImp Types
Definition subdomaingrid/indexsets.hh:31
Definition subdomaintosubdomaininterfaceiterator.hh:19
An intersection that forms part of the interface between two subdomains.
Definition subdomaininterfaceiterator.hh:32
HostGrid::template Codim< codim >::Entity HostEntity
T fill(T... args)
T for_each(T... args)
T push_back(T... args)
T size(T... args)
T swap(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8