dune-multidomaingrid 2.8
|
#include <dune/grid/multidomaingrid/subdomaingrid/subdomaingrid.hh>
Public Types | |
enum | IntersectionType { neighbor , foreign , boundary , processor } |
using | MultiDomainGrid = MDGrid |
using | HostGrid = typename MDGrid::HostGrid |
typedef SubDomainGridFamily< MDGrid > | GridFamily |
typedef GridFamily::Traits | Traits |
typedef MDGrid::ctype | ctype |
The type used for coordinates. | |
typedef MDGrid::SubDomainIndex | SubDomainIndex |
The type used for subdomain numbers. | |
Public Member Functions | |
Dune grid interface methods | |
template<typename EntitySeed > | |
Traits::template Codim< EntitySeed::codimension >::Entity | entity (const EntitySeed &entitySeed) const |
int | maxLevel () const |
template<int codim> | |
Traits::template Codim< codim >::LevelIterator | lbegin (int level) const |
template<int codim> | |
Traits::template Codim< codim >::LevelIterator | lend (int level) const |
template<int codim, PartitionIteratorType pitype> | |
Traits::template Codim< codim >::template Partition< pitype >::LevelIterator | lbegin (int level) const |
template<int codim, PartitionIteratorType pitype> | |
Traits::template Codim< codim >::template Partition< pitype >::LevelIterator | lend (int level) const |
template<int codim> | |
Traits::template Codim< codim >::LeafIterator | leafbegin () const |
template<int codim> | |
Traits::template Codim< codim >::LeafIterator | leafend () const |
template<int codim, PartitionIteratorType pitype> | |
Traits::template Codim< codim >::template Partition< pitype >::LeafIterator | leafbegin () const |
template<int codim, PartitionIteratorType pitype> | |
Traits::template Codim< codim >::template Partition< pitype >::LeafIterator | leafend () const |
int | size (int level, int codim) const |
int | size (int codim) const |
int | size (int level, GeometryType type) const |
int | size (GeometryType type) const |
const Traits::GlobalIdSet & | globalIdSet () const |
const Traits::LocalIdSet & | localIdSet () const |
const Traits::LevelIndexSet & | levelIndexSet (int level) const |
const Traits::LeafIndexSet & | leafIndexSet () const |
void | globalRefine (int refCount) |
Use MultiDomainGrid::globalRefine() instead of this method. | |
bool | mark (int refCount, const typename Traits::template Codim< 0 >::Entity &e) |
Mark the entity e for grid refinement across ALL subdomains. | |
int | getMark (const typename Traits::template Codim< 0 >::Entity &e) |
Retrieve the refinement mark of entity e. | |
bool | preAdapt () |
Use MultiDomainGrid::preAdapt() instead of this method. | |
bool | adapt () |
Use MultiDomainGrid::adapt() instead of this method. | |
void | postAdapt () |
Use MultiDomainGrid::postAdapt() instead of this method. | |
int | overlapSize (int level, int codim) const |
int | overlapSize (int codim) const |
int | ghostSize (int level, int codim) const |
int | ghostSize (int codim) const |
const Traits::CollectiveCommunication & | comm () const |
template<typename DataHandleImp , typename DataTypeImp > | |
void | communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir, int level) const |
template<typename DataHandleImp , typename DataTypeImp > | |
void | communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir) const |
size_t | numBoundarySegments () const |
const MDGrid & | multiDomainGrid () const |
Get the MultiDomainGrid that we are part of. | |
SubDomainIndex | domain () const |
Return our subdomain number. | |
void | update () |
bool | operator== (const SubDomainGrid &rhs) const |
Entity conversion methods | |
template<typename EntityType > | |
Traits::template Codim< EntityType::codimension >::Entity | subDomainEntity (const EntityType &mdEntity) const |
Traits::LeafIntersectionIterator | subDomainIntersectionIterator (const typename MDGrid::LeafSubDomainInterfaceIterator it) const |
Traits::LevelIntersectionIterator | subDomainIntersectionIterator (const typename MDGrid::LevelSubDomainInterfaceIterator it) const |
template<typename Intersection > | |
IntersectionType | intersectionType (const Intersection &intersection) const |
template<class EntityType , std::enable_if_t< std::is_same_v< typename MDGrid::Traits::template Codim< EntityType::codimension >::Entity, EntityType >, int > = 0> | |
static const EntityType & | multiDomainEntity (const EntityType &e) |
specialization for -parent- multidomain entity | |
template<class EntityType , std::enable_if_t<!std::is_same_v< typename MDGrid::Traits::template Codim< EntityType::codimension >::Entity, EntityType >, int > = 0> | |
static const MDGrid::Traits::template Codim< EntityType::codimension >::Entity & | multiDomainEntity (const EntityType &e) |
template<typename EntityType > | |
static const MDGrid::template HostEntity< EntityType >::type & | hostEntity (const EntityType &e) |
static const auto & | multiDomainIntersection (const typename Traits::LeafIntersection &is) |
static const auto & | multiDomainIntersection (const typename Traits::LevelIntersection &is) |
typedef MDGrid::ctype Dune::mdgrid::subdomain::SubDomainGrid< MDGrid >::ctype |
The type used for coordinates.
typedef SubDomainGridFamily<MDGrid> Dune::mdgrid::subdomain::SubDomainGrid< MDGrid >::GridFamily |
using Dune::mdgrid::subdomain::SubDomainGrid< MDGrid >::HostGrid = typename MDGrid::HostGrid |
using Dune::mdgrid::subdomain::SubDomainGrid< MDGrid >::MultiDomainGrid = MDGrid |
typedef MDGrid::SubDomainIndex Dune::mdgrid::subdomain::SubDomainGrid< MDGrid >::SubDomainIndex |
The type used for subdomain numbers.
typedef GridFamily::Traits Dune::mdgrid::subdomain::SubDomainGrid< MDGrid >::Traits |
enum Dune::mdgrid::subdomain::SubDomainGrid::IntersectionType |
|
inline |
Use MultiDomainGrid::adapt() instead of this method.
Like all grid modification methods, adapt() may ONLY be called on the underlying MultiDomainGrid.
NotImplemented | calling adapt() will always throw this exception. |
|
inline |
|
inline |
|
inline |
|
inline |
Return our subdomain number.
|
inline |
|
inline |
Retrieve the refinement mark of entity e.
This method returns the refinement mark set on the entity by a call to mark(). As the mark might have been set on any subdomain containing e, the caller should not assume that entities always carry the mark assigned within the current subdomain.
e | the entity for which to return the refinement mark. |
|
inline |
|
inline |
|
inline |
|
inline |
Use MultiDomainGrid::globalRefine() instead of this method.
Like all grid modification methods, globalRefine() may ONLY be called on the underlying MultiDomainGrid.
NotImplemented | calling globalRefine() will always throw this exception. |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Mark the entity e for grid refinement across ALL subdomains.
This method marks the passed entity for refinement on the underlying MultiDomainGrid. When using this method, keep in mind that a) this will have an effect across all subdomains and also on the MultiDomainGrid. b) the exact semantics of refinement depend on the host grid.
refCount | the refinement mark to set, for exact semantics see the documentation of the host grid. |
e | the entity to refine / coarsen. |
|
inline |
|
inlinestatic |
specialization for -parent- multidomain entity
|
inlinestatic |
|
inline |
Get the MultiDomainGrid that we are part of.
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Use MultiDomainGrid::postAdapt() instead of this method.
Like all grid modification methods, postAdapt() may ONLY be called on the underlying MultiDomainGrid.
NotImplemented | calling postAdapt() will always throw this exception. |
|
inline |
Use MultiDomainGrid::preAdapt() instead of this method.
Like all grid modification methods, preAdapt() may ONLY be called on the underlying MultiDomainGrid.
NotImplemented | calling preAdapt() will always throw this exception. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |