![]() |
Dune-Functions 2.11
|
Loading...
Searching...
No Matches
subdomain.hh
Go to the documentation of this file.
40 : public Dune::IteratorFacadeForTraits<GlobalIntersectionIt<GV, ContainsCallback>, GlobalIntersectionIteratorTraits<GV>>
42 using Facade = Dune::IteratorFacadeForTraits<GlobalIntersectionIt<GV, ContainsCallback>, GlobalIntersectionIteratorTraits<GV>>;
54 GlobalIntersectionIt(const GridView& gridView, const ContainsCallback& contains, ElementIterator elementIt, ElementIterator elementEnd)
210 DUNE_THROW(Dune::InvalidStateException, "Accessing nonexisting entry using SubDomainIndexSet::index()!");
225 DUNE_THROW(Dune::InvalidStateException, "Accessing nonexisting entry using SubDomainIndexSet::subIndex()!");
230 IndexType subIndex(const typename Codim<cc>::Entity& entity, int subEntity, unsigned int codim) const
331 static_assert(codim==0, "SubDomainGridView::Codim::Iterator<codim> is only implemented for codim=0");
343 ElementIterator(const SubDomainIndexSet<HGV>& indexSet, HostElementIterator&& it, HostElementIterator&& endIt)
394 using Iterator = std::conditional_t<codim==0, ElementIterator<All_Partition>, NonImplementedIterator<codim>>;
399 using Iterator = std::conditional_t<codim==0, ElementIterator<pit>, NonImplementedIterator<codim>>;
443 return {indexSet(), hostGridView().template begin<codim, pit>(), hostGridView().template end<codim, pit>()};
451 return {indexSet(), hostGridView().template end<codim, pit>(), hostGridView().template end<codim, pit>()};
489 return Dune::IteratorRange(subDomainGridView.template begin<0>(), subDomainGridView.template end<0>());
498 auto elements(const SubDomainGridView<HostGridView>& subDomainGridView, Dune::PartitionSet<partitions> partitionSet)
501 return Dune::IteratorRange(subDomainGridView.template begin<0, pit>(), subDomainGridView.template end<0, pit>());
510 auto intersections(const SubDomainGridView<HostGridView>& subDomainGridView, const Element& element)
603 std::is_same_v<typename SubDomainA::GridView::Intersection, typename SubDomainB::GridView::Intersection>,
unspecified value type referenceElement(T &&... t)
auto elements(const SubDomainGridView< HostGridView > &subDomainGridView)
ADL findable access to element range for a SubDomainGridView.
Definition subdomain.hh:487
auto intersections(const SubDomainGridView< HostGridView > &subDomainGridView, const Element &element)
ADL findable access to intersection range for an element of a SubDomainGridView.
Definition subdomain.hh:510
Definition subdomain.hh:28
int size() const
Indent & operator++()
static constexpr IntegralRange< std::decay_t< T > > range(T &&from, U &&to) noexcept
bigunsignedint< k > operator*(const bigunsignedint< k > &x, std::uintmax_t y)
std::ptrdiff_t index() const
#define DUNE_THROW(E,...)
constexpr std::bool_constant<((II==value)||...)> contains(std::integer_sequence< T, II... >, std::integral_constant< T, value >)
constexpr bool operator==(const HybridMultiIndex< S... > &lhs, const HybridMultiIndex< T... > &rhs)
PartitionSet<(1<< p)> partitionSet()
R reference
static constexpr std::size_t index(const GeometryType >)
static constexpr std::size_t size(std::size_t maxdim)
size_type size() const
Index subIndex(const typename GV::template Codim< 0 >::Entity &e, int i, unsigned int codim) const
Index index(const EntityType &e) const
An IndexSet for a sub-domain.
Definition subdomain.hh:148
SubDomainIndexSet(const HostGridView &hostGridView)
Construct SubDomainIndexSet for underlying host grid view.
Definition subdomain.hh:184
std::array< std::size_t, typeIndexSize > sizePerGT_
Definition subdomain.hh:297
std::vector< IndexType > indices_
Definition subdomain.hh:304
IndexType index(const typename Codim< cc >::Entity &entity) const
Definition subdomain.hh:215
IndexType index(const Entity &entity) const
Definition subdomain.hh:206
IndexType size(int codim) const
Definition subdomain.hh:200
AllEntityMapper allEntityMapper_
Definition subdomain.hh:301
IndexType size(Dune::GeometryType gt) const
Definition subdomain.hh:195
void insertElement(const typename Codim< 0 >::Entity &element)
Insert element and all its sub-entities into SubDomainIndexSet.
Definition subdomain.hh:257
Types types(int codim) const
Definition subdomain.hh:241
IndexType subIndex(const typename Codim< cc >::Entity &entity, int subEntity, unsigned int codim) const
Definition subdomain.hh:230
HostGridView hostGridView_
Definition subdomain.hh:294
std::array< std::size_t, dimension+1 > sizePerCodim_
Definition subdomain.hh:298
typename HostGridView::Grid Grid
Definition subdomain.hh:153
const HostGridView & hostGridView() const
Access underlying host grid view.
Definition subdomain.hh:251
bool contains(const Entity &entity) const
Definition subdomain.hh:236
std::array< Types, dimension+1 > typesPerCodim_
Definition subdomain.hh:299
IndexType subIndex(const Entity &entity, int subEntity, unsigned int codim) const
Definition subdomain.hh:221
Codim specific typedefs.
Definition subdomain.hh:160
typename Grid::template Codim< codim >::EntitySeed EntitySeed
Definition subdomain.hh:162
typename Grid::template Codim< codim >::Geometry Geometry
Definition subdomain.hh:163
typename Grid::template Codim< codim >::LocalGeometry LocalGeometry
Definition subdomain.hh:164
typename Grid::template Codim< codim >::Entity Entity
Definition subdomain.hh:161
A GridView for a sub-domain.
Definition subdomain.hh:323
typename HostGridView::Grid Grid
Definition subdomain.hh:380
Codim< codim >::template Partition< pit >::Iterator end() const
Create an iterator pointing to the end of the range.
Definition subdomain.hh:448
bool contains(const Entity &entity) const
Definition subdomain.hh:433
const IndexSet * indexSet_
Definition subdomain.hh:476
const IndexSet & indexSet() const
Definition subdomain.hh:417
SubDomainGridView(const SubDomainGridView &other)=default
const Grid & grid() const
Definition subdomain.hh:412
typename Grid::ctype ctype
Definition subdomain.hh:381
typename HostGridView::IntersectionIterator IntersectionIterator
Definition subdomain.hh:384
const HostGridView & hostGridView() const
Access underlying host grid view.
Definition subdomain.hh:470
@ dimensionworld
Definition subdomain.hh:404
typename HostGridView::Intersection Intersection
Definition subdomain.hh:383
decltype(auto) comm() const
Definition subdomain.hh:454
int size(int codim) const
Definition subdomain.hh:422
decltype(auto) ibegin(const typename Codim< 0 >::Entity &element) const
Definition subdomain.hh:459
int size(Dune::GeometryType gt) const
Definition subdomain.hh:427
decltype(auto) iend(const typename Codim< 0 >::Entity &element) const
Definition subdomain.hh:464
HGV HostGridView
Definition subdomain.hh:378
Codim< codim >::template Partition< pit >::Iterator begin() const
Create an iterator pointing to the begin of the range.
Definition subdomain.hh:440
SubDomainGridView(const IndexSet &indexSet)
Definition subdomain.hh:406
Codim specific typedefs.
Definition subdomain.hh:389
typename Grid::template Codim< codim >::Entity Entity
Definition subdomain.hh:390
typename Grid::template Codim< codim >::Geometry Geometry
Definition subdomain.hh:392
typename Grid::template Codim< codim >::LocalGeometry LocalGeometry
Definition subdomain.hh:393
typename Grid::template Codim< codim >::EntitySeed EntitySeed
Definition subdomain.hh:391
Definition subdomain.hh:398
Class representing a sub-domain of a GridView.
Definition subdomain.hh:534
void insertElement(const typename Codim< 0 >::Entity &element)
Insert element and all its sub-entities into SubDomain.
Definition subdomain.hh:577
GridView gridView() const
Create grid view representing the SubDomain.
Definition subdomain.hh:565
const IndexSet & indexSet() const
Definition subdomain.hh:559
SubDomainGridView< HostGridView > GridView
Definition subdomain.hh:540
HostGridView hostGridView() const
Access underlying host grid view.
Definition subdomain.hh:571
SubDomain(const HostGridView &hostGridView)
Construct SubDomain for underlying host grid view.
Definition subdomain.hh:555
typename HostGridView::Grid Grid
Definition subdomain.hh:538
bool contains(const typename Codim< 0 >::Entity &element) const
Check if element is contained in SubDomain.
Definition subdomain.hh:583
typename Grid::template Codim< codim >::Geometry Geometry
Definition subdomain.hh:548
typename Grid::template Codim< codim >::Entity Entity
Definition subdomain.hh:546
typename Grid::template Codim< codim >::LocalGeometry LocalGeometry
Definition subdomain.hh:549
typename Grid::template Codim< codim >::EntitySeed EntitySeed
Definition subdomain.hh:547
Class representing the intersection between two subdomains.
Definition subdomain.hh:601
const auto end() const
End iterator (sentinel)
Definition subdomain.hh:670
bool contains(const Intersection &is) const
Check if intersection is contained in the interface between the subdomains.
Definition subdomain.hh:631
const auto begin() const
Begin iterator over all intersection between the subdomains.
Definition subdomain.hh:660
SubDomainInterface(const SubDomainA &subDomainA, const SubDomainB &subDomainB)
Create interface between two subdomains.
Definition subdomain.hh:617
bool isOriented(const Intersection &is) const
Check if intersection is oriented.
Definition subdomain.hh:647
typename SubDomainA::GridView::Intersection Intersection
Definition subdomain.hh:608
Class representing the skeleton of a subdomain.
Definition subdomain.hh:689
SubDomainSkeleton(const SubDomain &subDomain)
Create skeleton of a subdomain.
Definition subdomain.hh:695
bool contains(const Intersection &is) const
Check if intersection is contained in the skeleton of the subdomain.
Definition subdomain.hh:700
typename SubDomain::GridView::Intersection Intersection
Definition subdomain.hh:692
T clear(T... args)
T max(T... args)
