dune-grid
2.3.0
|
#include <dune/grid/common/geometry.hh>
Classes | |
class | ReturnImplementationType |
Helper class to choose correct implementation return type for getRealImplementation. More... | |
class | ReturnImplementationType< const T > |
Public Types | |
typedef GridFamily::Traits | Traits |
The traits of this class. More... | |
Exported constants | |
enum | { dimension =dim } |
A constant that exports the template parameter dim. More... | |
enum | { dimensionworld =dimworld } |
A constant that exports the template parameter dimworld. More... | |
Exported types | |
typedef Partition < All_Partition > ::LevelGridView | LevelGridView |
View types for All_Partition. More... | |
typedef Partition < All_Partition > ::LeafGridView | LeafGridView |
typedef GridFamily::Traits::LeafIntersection | LeafIntersection |
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in the leaf view. More... | |
typedef GridFamily::Traits::LevelIntersection | LevelIntersection |
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in a level view. More... | |
typedef GridFamily::Traits::LeafIntersectionIterator | LeafIntersectionIterator |
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an leaf element (entity of codimension 0) with other leaf elements. More... | |
typedef GridFamily::Traits::LevelIntersectionIterator | LevelIntersectionIterator |
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an element (entity of codimension 0) with other elements on the same level. More... | |
typedef GridFamily::Traits::HierarchicIterator | HierarchicIterator |
A type that is a model of Dune::HierarchicIterator A type of iterator that allows to examine, but not to modify, entities of codimension 0 that result from refinement of an entity of codimension 0. More... | |
typedef GridFamily::Traits::LevelIndexSet | LevelIndexSet |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities on a grid level. More... | |
typedef GridFamily::Traits::LeafIndexSet | LeafIndexSet |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities in the leaf grid. More... | |
typedef GridFamily::Traits::GlobalIdSet | GlobalIdSet |
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entities in the grid. The numbering is unique over all processes over which the grid is partitioned. The numbering is not necessarily consecutive. More... | |
typedef GridFamily::Traits::LocalIdSet | LocalIdSet |
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entities in the grid. The numbering is only unique in a single process and it is not necessarily consecutive. More... | |
typedef GridFamily::Traits::CollectiveCommunication | CollectiveCommunication |
A type that is a model of Dune::CollectiveCommunication. It provides a portable way for collective communication on the set of processes used by the grid. More... | |
typedef ct | ctype |
Define type used for coordinates in grid module. More... | |
Public Member Functions | |
template<PartitionIteratorType pitype> | |
Traits::template Partition < pitype >::LevelGridView | levelView (int level) const |
View for a grid level. More... | |
template<PartitionIteratorType pitype> | |
Traits::template Partition < pitype >::LeafGridView | leafView () const |
View for the leaf grid. More... | |
Traits::template Partition < All_Partition > ::LevelGridView | levelView (int level) const |
View for a grid level for All_Partition. More... | |
Traits::template Partition < All_Partition > ::LeafGridView | leafView () const |
View for the leaf grid for All_Partition. More... | |
template<PartitionIteratorType pitype> | |
Traits::template Partition < pitype >::LevelGridView | levelGridView (int level) const |
View for a grid level. More... | |
template<PartitionIteratorType pitype> | |
Traits::template Partition < pitype >::LeafGridView | leafGridView () const |
View for the leaf grid. More... | |
Traits::template Partition < All_Partition > ::LevelGridView | levelGridView (int level) const |
View for a grid level for All_Partition. More... | |
Traits::template Partition < All_Partition > ::LeafGridView | leafGridView () const |
View for the leaf grid for All_Partition. More... | |
bool | mark (int refCount, const typename Traits::template Codim< 0 >::Entity &e) |
Marks an entity to be refined/coarsened in a subsequent adapt. More... | |
int | getMark (const typename Traits::template Codim< 0 >::Entity &e) const |
returns adaptation mark for given entity, i.e. here the default implementation returns 0. More... | |
bool | adapt () |
Refine all positive marked leaf entities coarsen all negative marked entities if possible. More... | |
bool | preAdapt () |
returns true, if at least one entity is marked for adaption More... | |
void | postAdapt () |
clean up some markers More... | |
int | ghostSize (int level, int codim) const |
ghostSize is zero by default More... | |
int | overlapSize (int level, int codim) const |
overlapSize is zero by default More... | |
int | ghostSize (int codim) const |
ghostSize is zero by default More... | |
int | overlapSize (int codim) const |
overlapSize is zero by default More... | |
template<class DataHandleImp , class DataTypeImp > | |
void | communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir, int level) const |
template<class DataHandleImp , class DataTypeImp > | |
void | communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir) const |
bool | loadBalance () |
default implementation of load balance does nothing and returns false More... | |
template<class DataHandle > | |
bool | loadBalance (DataHandle &data) |
default implementation of load balance does nothing and returns false More... | |
size_t | numBoundarySegments () const |
returns the number of boundary segments within the macro grid More... | |
template<class EntitySeed > | |
Codim< EntitySeed::codimension > ::EntityPointer | entityPointer (const EntitySeed &seed) const |
obtain EntityPointer from EntitySeed. More... | |
Size methods | |
int | maxLevel () const |
Return maximum level defined in this grid. Levels are numbered 0 ... maxLevel with 0 the coarsest level. More... | |
int | size (int level, int codim) const |
Return number of grid entities of a given codim on a given level in this process. More... | |
int | size (int codim) const |
Return number of leaf entities of a given codim in this process. More... | |
int | size (int level, GeometryType type) const |
Return number of entities per level and geometry type in this process. More... | |
int | size (GeometryType type) const |
Return number of leaf entities per geometry type in this process. More... | |
Iterators | |
template<int cd, PartitionIteratorType pitype> | |
Codim< cd >::template Partition< pitype > ::LevelIterator | lbegin (int level) const |
Iterator to first entity of given codim on level. More... | |
template<int cd> | |
Codim< cd >::template Partition< All_Partition > ::LevelIterator | lbegin (int level) const |
Iterator to first entity of given codim on level for PartitionType All_Partition. More... | |
template<int cd, PartitionIteratorType pitype> | |
Codim< cd >::template Partition< pitype > ::LevelIterator | lend (int level) const |
one past the end on this level More... | |
template<int cd> | |
Codim< cd >::template Partition< All_Partition > ::LevelIterator | lend (int level) const |
one past the end on this level for PartitionType All_Partition More... | |
template<int cd, PartitionIteratorType pitype> | |
Codim< cd >::template Partition< pitype > ::LeafIterator | leafbegin () const |
Iterator to first entity of given codim on leaf grid. More... | |
template<int cd> | |
Codim< cd >::template Partition< All_Partition > ::LeafIterator | leafbegin () const |
Iterator to first entity of given codim on leaf grid for PartitionType All_Partition. More... | |
template<int cd, PartitionIteratorType pitype> | |
Codim< cd >::template Partition< pitype > ::LeafIterator | leafend () const |
one past the end on the leaf level grid More... | |
template<int cd> | |
Codim< cd >::template Partition< All_Partition > ::LeafIterator | leafend () const |
one past the end on the leaf grid for PartitionType All_Partition More... | |
Access to index and id sets | |
const GlobalIdSet & | globalIdSet () const |
return const reference to the grids global id set More... | |
const LocalIdSet & | localIdSet () const |
return const reference to the grids local id set More... | |
const LevelIndexSet & | levelIndexSet (int level) const |
return const reference to the grids level index set for level level More... | |
const LeafIndexSet & | leafIndexSet () const |
return const reference to the grids leaf index set More... | |
Adaptivity and grid refinement | |
void | globalRefine (int refCount) |
Refine the grid refCount times using the default refinement rule. More... | |
bool | mark (int refCount, const typename Codim< 0 >::Entity &e) |
Marks an entity to be refined/coarsened in a subsequent adapt. More... | |
int | getMark (const typename Codim< 0 >::Entity &e) const |
returns adaptation mark for given entity More... | |
Parallel data distribution and communication | |
const CollectiveCommunication & | comm () const |
return const reference to a collective communication object. The return type is a model of Dune::CollectiveCommunication. More... | |
Protected Member Functions | |
GridImp & | asImp () |
Barton-Nackman trick. More... | |
const GridImp & | asImp () const |
Barton-Nackman trick. More... | |
Static Protected Member Functions | |
template<class InterfaceType > | |
static ReturnImplementationType < InterfaceType > ::ImplementationType & | getRealImplementation (InterfaceType &i) |
return real implementation of interface class More... | |
A Grid is a container of grid entities. Given a dimension dim these entities have a codimension codim with 0 <= codim <= dim.
The Grid is assumed to be hierachically refined and nested. It enables iteration over entities of a given level and codimension.
The grid can be non-matching.
All information is provided to allocate degrees of freedom in appropriate vector data structures (which are not part of this module).
Template class Grid defines a "base class" for all grids.
|
inherited |
A type that is a model of Dune::CollectiveCommunication. It provides a portable way for collective communication on the set of processes used by the grid.
|
inherited |
Define type used for coordinates in grid module.
|
inherited |
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entities in the grid. The numbering is unique over all processes over which the grid is partitioned. The numbering is not necessarily consecutive.
|
inherited |
A type that is a model of Dune::HierarchicIterator A type of iterator that allows to examine, but not to modify, entities of codimension 0 that result from refinement of an entity of codimension 0.
|
inherited |
|
inherited |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities in the leaf grid.
|
inherited |
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in the leaf view.
|
inherited |
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an leaf element (entity of codimension 0) with other leaf elements.
|
inherited |
View types for All_Partition.
|
inherited |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities on a grid level.
|
inherited |
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in a level view.
|
inherited |
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an element (entity of codimension 0) with other elements on the same level.
|
inherited |
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entities in the grid. The numbering is only unique in a single process and it is not necessarily consecutive.
typedef GridFamily::Traits Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::Traits |
The traits of this class.
Presents the typedefs as described in GridTraits.
|
inherited |
|
inherited |
|
inline |
Refine all positive marked leaf entities coarsen all negative marked entities if possible.
|
inlineprotectedinherited |
Barton-Nackman trick.
Referenced by Dune::Grid< dim, dimworld, ct, GridFamily >::adapt(), Dune::Grid< dim, dimworld, ct, GridFamily >::comm(), Dune::Grid< dim, dimworld, ct, GridFamily >::communicate(), Dune::Grid< dim, dimworld, ct, GridFamily >::entityPointer(), Dune::Grid< dim, dimworld, ct, GridFamily >::getMark(), Dune::Grid< dim, dimworld, ct, GridFamily >::ghostSize(), Dune::Grid< dim, dimworld, ct, GridFamily >::globalIdSet(), Dune::Grid< dim, dimworld, ct, GridFamily >::globalRefine(), Dune::Grid< dim, dimworld, ct, GridFamily >::lbegin(), Dune::Grid< dim, dimworld, ct, GridFamily >::leafbegin(), Dune::Grid< dim, dimworld, ct, GridFamily >::leafend(), Dune::Grid< dim, dimworld, ct, GridFamily >::leafGridView(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafGridView(), Dune::Grid< dim, dimworld, ct, GridFamily >::leafIndexSet(), Dune::Grid< dim, dimworld, ct, GridFamily >::leafView(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafView(), Dune::Grid< dim, dimworld, ct, GridFamily >::lend(), Dune::Grid< dim, dimworld, ct, GridFamily >::levelGridView(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::levelGridView(), Dune::Grid< dim, dimworld, ct, GridFamily >::levelIndexSet(), Dune::Grid< dim, dimworld, ct, GridFamily >::levelView(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::levelView(), Dune::Grid< dim, dimworld, ct, GridFamily >::loadBalance(), Dune::Grid< dim, dimworld, ct, GridFamily >::localIdSet(), Dune::Grid< dim, dimworld, ct, GridFamily >::mark(), Dune::Grid< dim, dimworld, ct, GridFamily >::maxLevel(), Dune::Grid< dim, dimworld, ct, GridFamily >::numBoundarySegments(), Dune::Grid< dim, dimworld, ct, GridFamily >::overlapSize(), Dune::Grid< dim, dimworld, ct, GridFamily >::postAdapt(), Dune::Grid< dim, dimworld, ct, GridFamily >::preAdapt(), and Dune::Grid< dim, dimworld, ct, GridFamily >::size().
|
inlineprotectedinherited |
Barton-Nackman trick.
|
inlineinherited |
return const reference to a collective communication object. The return type is a model of Dune::CollectiveCommunication.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inline |
dummy communicate, doing nothing
|
inline |
dummy communicate, doing nothing
|
inlineinherited |
obtain EntityPointer from EntitySeed.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlineinherited |
returns adaptation mark for given entity
[in] | e | Entity for which adaptation mark should be determined |
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inline |
returns adaptation mark for given entity, i.e. here the default implementation returns 0.
[in] | e | Entity for which adaptation mark should be determined |
|
inlinestaticprotected |
return real implementation of interface class
Referenced by Dune::ALU2dGridHierarchicIndexSet< dim, dimworld, elementType >::subIndex().
|
inline |
ghostSize is zero by default
|
inline |
ghostSize is zero by default
|
inlineinherited |
return const reference to the grids global id set
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlineinherited |
Refine the grid refCount times using the default refinement rule.
This behaves like marking all elements for refinement and then calling preAdapt, adapt and postAdapt. The state after globalRefine is comparable to the state after postAdapt.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
Referenced by main().
|
inlineinherited |
Iterator to first entity of given codim on level.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlineinherited |
Iterator to first entity of given codim on level for PartitionType All_Partition.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlineinherited |
Iterator to first entity of given codim on leaf grid.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlineinherited |
Iterator to first entity of given codim on leaf grid for PartitionType All_Partition.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlineinherited |
one past the end on the leaf level grid
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlineinherited |
one past the end on the leaf grid for PartitionType All_Partition
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inline |
View for the leaf grid.
|
inline |
View for the leaf grid for All_Partition.
|
inlineinherited |
return const reference to the grids leaf index set
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inline |
View for the leaf grid.
|
inline |
View for the leaf grid for All_Partition.
|
inlineinherited |
one past the end on this level
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlineinherited |
one past the end on this level for PartitionType All_Partition
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inline |
View for a grid level.
|
inline |
View for a grid level for All_Partition.
|
inlineinherited |
return const reference to the grids level index set for level level
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inline |
View for a grid level.
|
inline |
View for a grid level for All_Partition.
|
inline |
default implementation of load balance does nothing and returns false
|
inline |
default implementation of load balance does nothing and returns false
|
inlineinherited |
return const reference to the grids local id set
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlineinherited |
Marks an entity to be refined/coarsened in a subsequent adapt.
[in] | refCount | Number of subdivisions that should be applied. Negative value means coarsening. |
[in] | e | Entity that should be marked |
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inline |
Marks an entity to be refined/coarsened in a subsequent adapt.
[in] | refCount | Number of subdivisions that should be applied. Negative value means coarsening. |
[in] | e | Entity to Entity that should be refined |
|
inlineinherited |
Return maximum level defined in this grid. Levels are numbered 0 ... maxLevel with 0 the coarsest level.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
Referenced by Dune::ALUGridLoadBalanceDataHandle< Grid, DataHandleImpl, Data >::inlineData(), and Dune::ALUGridLoadBalanceDataHandle< Grid, DataHandleImpl, Data >::xtractData().
|
inlineinherited |
returns the number of boundary segments within the macro grid
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inline |
overlapSize is zero by default
|
inline |
overlapSize is zero by default
|
inline |
clean up some markers
|
inline |
returns true, if at least one entity is marked for adaption
|
inlineinherited |
Return number of grid entities of a given codim on a given level in this process.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
Referenced by Dune::Grid< dim, dimworld, ct, GridFamily >::size().
|
inlineinherited |
Return number of leaf entities of a given codim in this process.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp(), and Dune::Grid< dim, dimworld, ct, GridFamily >::size().
|
inlineinherited |
Return number of entities per level and geometry type in this process.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp(), and Dune::Grid< dim, dimworld, ct, GridFamily >::size().
|
inlineinherited |
Return number of leaf entities per geometry type in this process.
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp(), and Dune::Grid< dim, dimworld, ct, GridFamily >::size().