#include <grid.hh>
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.
Public Types | |
typedef GridFamily::Traits | Traits |
The traits of this class. | |
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. | |
typedef Partition < All_Partition > ::LeafGridView | LeafGridView |
typedef ct | ctype |
Define type used for coordinates in grid module. | |
Public Member Functions | |
template<PartitionIteratorType pitype> | |
Traits::template Partition < pitype >::LevelGridView | levelView (int level) const |
View for a grid level. | |
template<PartitionIteratorType pitype> | |
Traits::template Partition < pitype >::LeafGridView | leafView () const |
View for the leaf grid. | |
Traits::template Partition < All_Partition > ::LevelGridView | levelView (int level) const |
View for a grid level for All_Partition. | |
Traits::template Partition < All_Partition > ::LeafGridView | leafView () const |
View for the leaf grid for All_Partition. | |
bool | mark (int refCount, const typename Traits::template Codim< 0 >::EntityPointer &e) |
Marks an entity to be refined/coarsened in a subsequent adapt (deprecated). | |
bool | mark (int refCount, const typename Traits::template Codim< 0 >::Entity &e) |
Marks an entity to be refined/coarsened in a subsequent adapt. | |
int | getMark (const typename Traits::template Codim< 0 >::EntityPointer &e) const |
returns adaptation mark for given entity, i.e. here the default implementation returns 0. | |
int | getMark (const typename Traits::template Codim< 0 >::Entity &) const |
returns adaptation mark for given entity, i.e. here the default implementation returns 0. | |
bool | adapt () |
Refine all positive marked leaf entities coarsen all negative marked entities if possible. | |
bool | preAdapt () |
returns true, if at least one entity is marked for adaption | |
void | postAdapt () |
clean up some markers | |
int | ghostSize (int level, int codim) const |
ghostSize is zero by default | |
int | overlapSize (int level, int codim) const |
overlapSize is zero by default | |
int | ghostSize (int codim) const |
ghostSize is zero by default | |
int | overlapSize (int codim) const |
overlapSize is zero by default | |
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 | |
template<class DataHandle> | |
bool | loadBalance (DataHandle &data) |
default implementation of load balance does nothing and returns false | |
Grid id | |
std::string | name () const |
Return the id of the grid. | |
Size methods | |
int | maxLevel () const |
Return maximum level defined in this grid. Levels are numbered 0 ... maxLevel with 0 the coarsest level. | |
int | size (int level, int codim) const |
Return number of grid entities of a given codim on a given level in this process. | |
int | size (int codim) const |
Return number of leaf entities of a given codim in this process. | |
int | size (int level, GeometryType type) const |
Return number of entities per level and geometry type in this process. | |
int | size (GeometryType type) const |
Return number of leaf entities per geometry type in this process. | |
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. | |
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. | |
template<int cd, PartitionIteratorType pitype> | |
Codim< cd >::template Partition< pitype > ::LevelIterator | lend (int level) const |
one past the end on this level | |
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 | |
template<int cd, PartitionIteratorType pitype> | |
Codim< cd >::template Partition< pitype > ::LeafIterator | leafbegin () const |
Iterator to first entity of given codim on leaf grid. | |
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. | |
template<int cd, PartitionIteratorType pitype> | |
Codim< cd >::template Partition< pitype > ::LeafIterator | leafend () const |
one past the end on the leaf level grid | |
template<int cd> | |
Codim< cd >::template Partition< All_Partition > ::LeafIterator | leafend () const |
one past the end on the leaf grid for PartitionType All_Partition | |
Access to index and id sets | |
const Codim< 0 >::GlobalIdSet & | globalIdSet () const |
return const reference to the grids global id set | |
const Codim< 0 >::LocalIdSet & | localIdSet () const |
return const reference to the grids local id set | |
const Codim< 0 >::LevelIndexSet & | levelIndexSet (int level) const |
return const reference to the grids level index set for level level | |
const Codim< 0 >::LeafIndexSet & | leafIndexSet () const |
return const reference to the grids leaf index set | |
Adaptivity and grid refinement | |
void | globalRefine (int refCount) |
Refine the grid refCount times using the default refinement rule. | |
bool | mark (int refCount, const typename Codim< 0 >::EntityPointer &e) |
Marks an entity to be refined/coarsened in a subsequent adapt. (deprecated). | |
bool | mark (int refCount, const typename Codim< 0 >::Entity &e) |
Marks an entity to be refined/coarsened in a subsequent adapt. | |
int | getMark (const typename Codim< 0 >::EntityPointer &e) const |
returns adaptation mark for given entity pointer (deprecated) | |
int | getMark (const typename Codim< 0 >::Entity &e) const |
returns adaptation mark for given entity | |
Parallel data distribution and communication | |
const Codim < 0 >::CollectiveCommunication & | comm () const |
return const reference to a collective communication object. The return type is a model of Dune::CollectiveCommunication. | |
Protected Member Functions | |
GridImp & | asImp () |
Barton-Nackman trick. | |
const GridImp & | asImp () const |
Barton-Nackman trick. | |
Static Protected Member Functions | |
template<class InterfaceType> | |
static ReturnImplementationType < InterfaceType > ::ImplementationType & | getRealImplementation (InterfaceType &i) |
return real implementation of interface class | |
Classes | |
class | ReturnImplementationType |
Helper class to choose correct implementation return type for getRealImplementation. More... |
typedef GridFamily::Traits Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::Traits |
The traits of this class.
Presents the typedefs as described in GridTraits.
Reimplemented in Dune::AlbertaGrid< dim, dimworld >, Dune::OneDGrid, Dune::SGrid< dim, dimworld >, Dune::UGGrid< dim >, Dune::YaspGrid< dim, deprecated_dimworld >, Dune::SGrid< dimension, dimension >, Dune::UGGrid< dimworld >, Dune::YaspGrid< dimgrid >, and Dune::YaspGrid< dim, dim >.
anonymous enum [inherited] |
anonymous enum [inherited] |
bool Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::mark | ( | int | refCount, | |
const typename Traits::template Codim< 0 >::EntityPointer & | e | |||
) | [inline] |
Marks an entity to be refined/coarsened in a subsequent adapt (deprecated).
[in] | refCount | Number of subdivisions that should be applied. Negative value means coarsening. |
[in] | e | EntityPointer to Entity that should be refined |
bool mark( int refCount, typename Traits::template Codim<0>::EntityPointer & e ).
Reimplemented in Dune::UGGrid< dim >, and Dune::UGGrid< dimworld >.
bool Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::mark | ( | int | refCount, | |
const typename Traits::template Codim< 0 >::Entity & | e | |||
) | [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 |
bool mark( int refCount, typename Traits::template Codim<0>::Entity & e ).
Reimplemented in Dune::AlbertaGrid< dim, dimworld >, Dune::UGGrid< dim >, and Dune::UGGrid< dimworld >.
int Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::getMark | ( | const typename Traits::template Codim< 0 >::EntityPointer & | e | ) | const [inline] |
returns adaptation mark for given entity, i.e. here the default implementation returns 0.
[in] | e | EntityPointer for which adaptation mark should be determined |
Reimplemented in Dune::UGGrid< dim >, and Dune::UGGrid< dimworld >.
int Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::getMark | ( | const typename Traits::template Codim< 0 >::Entity & | ) | const [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 |
Reimplemented in Dune::AlbertaGrid< dim, dimworld >, Dune::UGGrid< dim >, and Dune::UGGrid< dimworld >.
bool Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::adapt | ( | ) | [inline] |
Refine all positive marked leaf entities coarsen all negative marked entities if possible.
Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.
Reimplemented in Dune::AlbertaGrid< dim, dimworld >, Dune::OneDGrid, Dune::SGrid< dim, dimworld >, Dune::UGGrid< dim >, Dune::YaspGrid< dim, deprecated_dimworld >, Dune::SGrid< dimension, dimension >, Dune::UGGrid< dimworld >, Dune::YaspGrid< dimgrid >, and Dune::YaspGrid< dim, dim >.
void Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::communicate | ( | CommDataHandleIF< DataHandleImp, DataTypeImp > & | data, | |
InterfaceType | iftype, | |||
CommunicationDirection | dir, | |||
int | level | |||
) | const [inline] |
dummy communicate, doing nothing
Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.
void Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::communicate | ( | CommDataHandleIF< DataHandleImp, DataTypeImp > & | data, | |
InterfaceType | iftype, | |||
CommunicationDirection | dir | |||
) | const [inline] |
dummy communicate, doing nothing
Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.
bool Dune::Grid< dim, dimworld, ct, GridFamily >::mark | ( | int | refCount, | |
const typename Codim< 0 >::EntityPointer & | e | |||
) | [inline, inherited] |
Marks an entity to be refined/coarsened in a subsequent adapt. (deprecated).
[in] | refCount | Number of subdivisions that should be applied. Negative value means coarsening. |
[in] | e | EntityPointer to Entity that should be refined |
bool Dune::Grid< dim, dimworld, ct, GridFamily >::mark | ( | int | refCount, | |
const typename Codim< 0 >::Entity & | e | |||
) | [inline, inherited] |
int Dune::Grid< dim, dimworld, ct, GridFamily >::getMark | ( | const typename Codim< 0 >::EntityPointer & | e | ) | const [inline, inherited] |
returns adaptation mark for given entity pointer (deprecated)
[in] | e | EntityPointer for which adaptation mark should be determined |
int Dune::Grid< dim, dimworld, ct, GridFamily >::getMark | ( | const typename Codim< 0 >::Entity & | e | ) | const [inline, inherited] |