|
enum | { MAXL =32
} |
| maximum number of levels allowed More...
|
|
typedef SGridFamily< dim,
dimworld, _ctype > | GridFamily |
|
typedef bigunsignedint< dim
*sgrid_dim_bits+sgrid_level_bits+sgrid_codim_bits > | PersistentIndexType |
|
typedef SGridLevelIndexSet
< SGrid< dim, dimworld > > | LevelIndexSetType |
|
typedef SGridLeafIndexSet
< SGrid< dim, dimworld > > | LeafIndexSetType |
|
typedef SGridGlobalIdSet
< SGrid< dim, dimworld > > | GlobalIdSetType |
|
typedef SGridFamily< dim,
dimworld, _ctype >::Traits | Traits |
|
typedef _ctype | ctype |
| define type used for coordinates in grid module More...
|
|
|
enum | { dimension =dim
} |
| A constant that exports the template parameter dim. More...
|
|
enum | { dimensionworld =dimworld
} |
| A constant that exports the template parameter dimworld. More...
|
|
|
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...
|
|
|
| SGrid (const int *const N_, const ctype *const H_) |
| Make an SGrid from extend and number of cells per direction. More...
|
|
| SGrid (const int *const N_, const ctype *const L_, const ctype *const H_) |
| Make an SGrid from position, extend and number of cells per direction. More...
|
|
| SGrid (FieldVector< int, dim > N_, FieldVector< ctype, dim > L_, FieldVector< ctype, dim > H_) |
| Make an SGrid from position, extend and number of cells per direction. More...
|
|
| SGrid () |
| empty constructor making grid of unit square discretized with one cell More...
|
|
| ~SGrid () |
| SGrid destructor. More...
|
|
int | maxLevel () const |
|
template<int cd, PartitionIteratorType pitype> |
Traits::template Codim< cd >
::template Partition< pitype >
::LevelIterator | lbegin (int level) const |
| Iterator to first entity of given codim on level. More...
|
|
template<int cd, PartitionIteratorType pitype> |
Traits::template Codim< cd >
::template Partition< pitype >
::LevelIterator | lend (int level) const |
| one past the end on this level More...
|
|
template<int cd> |
Traits::template Codim< cd >
::template Partition
< All_Partition >
::LevelIterator | lbegin (int level) const |
| Iterator to first entity of given codim on level. More...
|
|
template<int cd> |
Traits::template Codim< cd >
::template Partition
< All_Partition >
::LevelIterator | lend (int level) const |
| one past the end on this level More...
|
|
template<int cd, PartitionIteratorType pitype> |
Traits::template Codim< cd >
::template Partition< pitype >
::LeafIterator | leafbegin () const |
| return LeafIterator which points to the first entity More...
|
|
template<int cd, PartitionIteratorType pitype> |
Traits::template Codim< cd >
::template Partition< pitype >
::LeafIterator | leafend () const |
| one past the end on the leaf level More...
|
|
template<int cd> |
Traits::template Codim< cd >
::template Partition
< All_Partition >
::LeafIterator | leafbegin () const |
| return LeafIterator which points to the first entity More...
|
|
template<int cd> |
Traits::template Codim< cd >
::template Partition
< All_Partition >
::LeafIterator | leafend () const |
| return LeafIterator which points behind the last entity More...
|
|
template<typename Seed > |
Traits::template Codim
< Seed::codimension >
::EntityPointer | entityPointer (const Seed &seed) const |
|
template<class T , template< class > class P, int codim> |
void | communicate (T &t, InterfaceType iftype, CommunicationDirection dir, int level) |
|
int | size (int level, int codim) const |
| number of grid entities per level and codim More...
|
|
int | size (int codim) const |
| number of leaf entities per codim in this process More...
|
|
int | size (int level, GeometryType type) const |
| number of entities per level and geometry type in this process More...
|
|
int | size (GeometryType type) const |
| number of leaf entities per codim and geometry type in this process More...
|
|
size_t | numBoundarySegments () const |
| returns the number of boundary segments within the macro grid More...
|
|
int | global_size (int codim) const |
| number of grid entities of all level for given codim More...
|
|
int | overlapSize (int level, int codim) |
| return size (= distance in graph) of overlap region More...
|
|
int | ghostSize (int level, int codim) |
| return size (= distance in graph) of ghost region More...
|
|
void | globalRefine (int refCount) |
| Refine mesh globally by one refCount levels. More...
|
|
const array< int, dim > & | dims (int level) const |
| Get number of elements in each coordinate direction. More...
|
|
const FieldVector< ctype,
dimworld > & | lowerLeft () const |
| Get lower left corner. More...
|
|
FieldVector< ctype, dimworld > | upperRight () const |
| Get upper right corner. More...
|
|
bool | adapt () |
| map adapt to global refine More...
|
|
const Traits::GlobalIdSet & | globalIdSet () const |
|
const Traits::LocalIdSet & | localIdSet () const |
|
const Traits::LevelIndexSet & | levelIndexSet (int level) const |
|
const Traits::LeafIndexSet & | leafIndexSet () const |
|
Traits::template Partition
< pitype >::LevelGridView | levelView (int level) const |
| View for a grid level. More...
|
|
Traits::template Partition
< All_Partition >
::LevelGridView | levelView (int level) const |
| View for a grid level for All_Partition. More...
|
|
Traits::template Partition
< pitype >::LeafGridView | leafView () const |
| View for the leaf grid. More...
|
|
Traits::template Partition
< All_Partition >
::LeafGridView | leafView () 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 | preAdapt () |
| returns true, if at least one entity is marked for adaption More...
|
|
void | postAdapt () |
| clean up some markers More...
|
|
void | communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir, int level) const |
|
void | communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir) const |
|
bool | loadBalance () |
| default implementation of load balance does nothing and returns false More...
|
|
bool | loadBalance (DataHandle &data) |
| default implementation of load balance does nothing and returns false More...
|
|
template<class EntitySeed > |
Codim< EntitySeed::codimension >
::EntityPointer | entityPointer (const EntitySeed &seed) const |
| obtain EntityPointer from EntitySeed. 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...
|
|
|
class | Dune::SGridLevelIndexSet< Dune::SGrid< dim, dimworld > > |
|
class | Dune::SGridLeafIndexSet< Dune::SGrid< dim, dimworld > > |
|
class | Dune::SGridGlobalIdSet< Dune::SGrid< dim, dimworld > > |
|
class | Dune::SIntersectionIterator< Dune::SGrid< dim, dimworld > > |
|
class | Dune::SHierarchicIterator< Dune::SGrid< dim, dimworld > > |
|
class | Dune::SEntity< 0, dim, Dune::SGrid< dim, dimworld > > |
|
class | Dune::SGridLevelIndexSet< const Dune::SGrid< dim, dimworld > > |
|
class | Dune::SGridLeafIndexSet< const Dune::SGrid< dim, dimworld > > |
|
class | Dune::SGridGlobalIdSet< const Dune::SGrid< dim, dimworld > > |
|
class | Dune::SIntersectionIterator< const Dune::SGrid< dim, dimworld > > |
|
class | Dune::SHierarchicIterator< const Dune::SGrid< dim, dimworld > > |
|
class | Dune::SEntity< 0, dim, const Dune::SGrid< dim, dimworld > > |
|
template<int codim_, int dim_, class GridImp_ , template< int, int, class > class EntityImp_> |
class | Dune::SEntityBase |
|
template<int codim_, class GridImp_ > |
class | Dune::SEntityPointer |
|
template<int codim_, int dim_, class GridImp_ , template< int, int, class > class EntityImp_> |
class | Entity |
|
template<class DataHandle > |
void | communicate (DataHandle &data, InterfaceType iftype, CommunicationDirection dir, int level) const |
|
template<class DataHandle > |
void | communicate (DataHandle &data, InterfaceType iftype, CommunicationDirection dir) const |
|
const CollectiveCommunication
< SGrid > & | comm () const |
|
int | overlapSize (int level, int codim) const |
| return size (= distance in graph) of overlap region More...
|
|
int | overlapSize (int codim) const |
| return size (= distance in graph) of overlap region More...
|
|
int | ghostSize (int level, int codim) const |
| return size (= distance in graph) of ghost region More...
|
|
int | ghostSize (int codim) const |
| return size (= distance in graph) of ghost region More...
|
|
template<int dim, int dimworld, class ctype>
class Dune::SGrid< dim, dimworld, ctype >
[ provides Dune::Grid ]
A structured mesh in d dimensions consisting of "cubes" (pilot implementation of the Dune grid interface, for debugging only).
This module describes the pilot implementation of the %Dune grid interface.
It implements the grid interface for simple structured meshes.
- Warning
- SGrid is slow. It is intended for debugging only.
The following class diagram shows how the classes are related with
each other:
Class diagram for classes in the grid interface
Short description of the classes:
- SGeometry is a class template providing the geometric part of a grid entity, i.e. a general polyhedron
with a mapping from a reference polyhedron to the actual polyhedron.
- SLevelIterator is a class template which allows to iterate over all grid entities of a given
codimension and level.
- SEntity is a class template realizing the grid entities. Grid entities are the constituents
of a grid. Grid entities of codimension 0 and codimension dim are defines through specialization.
Entities can be used as template parameters to generic algorithms. Each entity must therefore
provide the nested classes Geometry, LevelIterator, HierarchicIterator and IntersectionIterator.
Geometry and LevelIterator are derived from the classes SELement and SLevelIterator.
Note that entities of codimension 0 and dim have an extended interface.
- SEntity::IntersectionIterator provides access to all entities of codimension 0 sharing an object of codimension 1
with the given entity of codimension 0. This interface covers nonmatching grids.
- SEntity::HierarchicIterator provides access to the sons of an entity of codimension 0.
- SGrid is conceptualized as a container of grid entities of various codimensions. Since grids
are used as template parameters to generic algorithms they must include the nested classes
LevelIterator and Entity which are derived from SLevelIterator and SEntity.
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.
All information is provided to allocate degrees of freedom in appropriate vector data structures.
- Note
- When SGrid is instantiated with dimworld strictly greater than dim, the result is a dim-dimensional structured grid which is embedded in the first dim components of dimworld-dimensional Euclidean space.