|
dune-grid
2.7.1
|
[ provides Dune::Grid ] More...
#include <dune/grid/yaspgrid.hh>

Public Types | |
| typedef Coordinates::ctype | ctype |
| Type used for coordinates. More... | |
| typedef CollectiveCommunication< MPI_Comm > | CollectiveCommunicationType |
| typedef ReservedVector< YGridLevel, 32 >::const_iterator | YGridLevelIterator |
| Iterator over the grid levels. More... | |
| typedef bigunsignedint< dim *yaspgrid_dim_bits+yaspgrid_level_bits+dim > | PersistentIndexType |
| typedef YaspGridFamily< dim, Coordinates > | GridFamily |
| the GridFamily of this grid More... | |
| typedef YaspGridFamily< dim, Coordinates >::Traits | Traits |
| typedef YaspIndexSet< YaspGrid< dim, Coordinates >, false > | LevelIndexSetType |
| typedef YaspIndexSet< YaspGrid< dim, Coordinates >, true > | LeafIndexSetType |
| typedef YaspGlobalIdSet< YaspGrid< dim, Coordinates > > | GlobalIdSetType |
Exported constants | |
| enum | |
| A constant that exports the template parameter dim. More... | |
| enum | |
| A constant that exports the template parameter dimworld. More... | |
Exported types | |
| typedef GridFamily::Traits::LeafGridView | LeafGridView |
| type of view for leaf grid More... | |
| typedef GridFamily::Traits::LevelGridView | LevelGridView |
| type of view for level grid More... | |
| 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... | |
Public Member Functions | |
| const Torus< CollectiveCommunicationType, dim > & | torus () const |
| return reference to torus More... | |
| int | globalSize (int i) const |
| return number of cells on finest level in given direction on all processors More... | |
| iTupel | globalSize () const |
| return number of cells on finest level on all processors More... | |
| int | levelSize (int l, int i) const |
| return size of the grid (in cells) on level l in direction i More... | |
| iTupel | levelSize (int l) const |
| return size vector of the grid (in cells) on level l More... | |
| bool | isPeriodic (int i) const |
| return whether the grid is periodic in direction i More... | |
| bool | getRefineOption () const |
| YGridLevelIterator | begin () const |
| return iterator pointing to coarsest level More... | |
| YGridLevelIterator | begin (int i) const |
| return iterator pointing to given level More... | |
| YGridLevelIterator | end () const |
| return iterator pointing to one past the finest level More... | |
| YaspGrid (const Coordinates &coordinates, std::bitset< dim > periodic=std::bitset< dim >(0ULL), int overlap=1, CollectiveCommunicationType comm=CollectiveCommunicationType(), const YLoadBalance< dim > *lb=defaultLoadbalancer()) | |
| YaspGrid (Dune::FieldVector< ctype, dim > L, std::array< int, dim > s, std::bitset< dim > periodic=std::bitset< dim >(0ULL), int overlap=1, CollectiveCommunicationType comm=CollectiveCommunicationType(), const YLoadBalance< dim > *lb=defaultLoadbalancer()) | |
| YaspGrid (Dune::FieldVector< ctype, dim > lowerleft, Dune::FieldVector< ctype, dim > upperright, std::array< int, dim > s, std::bitset< dim > periodic=std::bitset< dim >(0ULL), int overlap=1, CollectiveCommunicationType comm=CollectiveCommunicationType(), const YLoadBalance< dim > *lb=defaultLoadbalancer()) | |
| YaspGrid (std::array< std::vector< ctype >, dim > coords, std::bitset< dim > periodic=std::bitset< dim >(0ULL), int overlap=1, CollectiveCommunicationType comm=CollectiveCommunicationType(), const YLoadBalance< dim > *lb=defaultLoadbalancer()) | |
| Standard constructor for a tensorproduct YaspGrid. More... | |
| int | maxLevel () const |
| void | globalRefine (int refCount) |
| refine the grid refCount times. More... | |
| void | refineOptions (bool keepPhysicalOverlap) |
| set options for refinement 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 More... | |
| bool | adapt () |
| map adapt to global refine More... | |
| bool | preAdapt () |
| returns true, if the grid will be coarsened More... | |
| void | postAdapt () |
| clean up some markers More... | |
| template<int cd, PartitionIteratorType pitype> | |
| Traits::template Codim< cd >::template Partition< pitype >::LevelIterator | lbegin (int level) const |
| one past the end on this level More... | |
| template<int cd, PartitionIteratorType pitype> | |
| Traits::template Codim< cd >::template Partition< pitype >::LevelIterator | lend (int level) const |
| Iterator to one past the last entity of given codim on level for partition type. More... | |
| template<int cd> | |
| Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator | lbegin (int level) const |
| version without second template parameter for convenience More... | |
| template<int cd> | |
| Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator | lend (int level) const |
| version without second template parameter for convenience More... | |
| template<int cd, PartitionIteratorType pitype> | |
| Traits::template Codim< cd >::template Partition< pitype >::LeafIterator | leafbegin () const |
| return LeafIterator which points to the first entity in maxLevel More... | |
| template<int cd, PartitionIteratorType pitype> | |
| Traits::template Codim< cd >::template Partition< pitype >::LeafIterator | leafend () const |
| return LeafIterator which points behind the last entity in maxLevel More... | |
| template<int cd> | |
| Traits::template Codim< cd >::template Partition< All_Partition >::LeafIterator | leafbegin () const |
| return LeafIterator which points to the first entity in maxLevel More... | |
| template<int cd> | |
| Traits::template Codim< cd >::template Partition< All_Partition >::LeafIterator | leafend () const |
| return LeafIterator which points behind the last entity in maxLevel More... | |
| template<typename Seed > | |
| Traits::template Codim< Seed::codimension >::Entity | entity (const Seed &seed) 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... | |
| int | size (int level, int codim) const |
| number of entities per level and codim in this process 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 geometry type in this process More... | |
| size_t | numBoundarySegments () const |
| returns the number of boundary segments within the macro grid More... | |
| const Dune::FieldVector< ctype, dim > & | domainSize () const |
| returns the size of the physical domain More... | |
| template<class DataHandleImp , class DataType > | |
| void | communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir, int level) const |
| template<class DataHandleImp , class DataType > | |
| void | communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const |
| template<class DataHandle , int codim> | |
| void | communicateCodim (DataHandle &data, InterfaceType iftype, CommunicationDirection dir, int level) const |
| const Traits::GlobalIdSet & | globalIdSet () const |
| const Traits::LocalIdSet & | localIdSet () const |
| const Traits::LevelIndexSet & | levelIndexSet (int level) const |
| const Traits::LeafIndexSet & | leafIndexSet () const |
| const CollectiveCommunicationType & | comm () const |
| return a collective communication object More... | |
| Traits::LevelGridView | levelGridView (int level) const |
| View for a grid level for All_Partition. More... | |
| Traits::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... | |
| 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... | |
Adaptivity and grid refinement | |
| 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... | |
Static Public Member Functions | |
| static const YLoadBalanceDefault< dim > * | defaultLoadbalancer () |
Protected Types | |
| typedef const YaspGrid< dim, Coordinates > | GridImp |
Protected Member Functions | |
| void | makelevel (const Coordinates &coords, std::bitset< dim > periodic, iTupel o_interior, int overlap) |
| Make a new YGridLevel structure. More... | |
| void | intersections (const YGridComponent< Coordinates > &sendgrid, const YGridComponent< Coordinates > &recvgrid, std::deque< Intersection > &sendlist, std::deque< Intersection > &recvlist) |
| Construct list of intersections with neighboring processors. More... | |
| void | init () |
| void | boundarysegmentssize () |
Static Protected Member Functions | |
| static std::conditional< std::is_reference< InterfaceType >::value, typename std::add_lvalue_reference< typename ReturnImplementationType< typename std::remove_reference< InterfaceType >::type >::ImplementationType >::type, typename std::remove_const< typename ReturnImplementationType< typename std::remove_reference< InterfaceType >::type >::ImplementationType >::type >::type | getRealImplementation (InterfaceType &&i) |
| return real implementation of interface class More... | |
Parallel data distribution and communication | |
| Codim< EntitySeed ::codimension >::Entity | entity (const EntitySeed &seed) const |
| obtain Entity from EntitySeed. More... | |
| GridImp & | asImp () |
| Barton-Nackman trick. More... | |
| const GridImp & | asImp () const |
| Barton-Nackman trick. More... | |
[ provides Dune::Grid ]
Provides a distributed structured cube mesh.
YaspGrid stands for yet another structured parallel grid. It implements the dune grid interface for structured grids with arbitrary overlap (including zero), periodic boundaries, and a fast implementation allowing on-the-fly computations.
YaspGrid supports three coordinate modes: EquidistantCoordinates, EquidistantOffsetCoordinates, and Dune::TensorProductCoordinates.
| dim | The dimension of the grid and its surrounding world |
| Coordinates | The coordinate mode of the grid. |
|
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.
| typedef CollectiveCommunication<MPI_Comm> Dune::YaspGrid< dim, Coordinates >::CollectiveCommunicationType |
| typedef Coordinates::ctype Dune::YaspGrid< dim, Coordinates >::ctype |
Type used for coordinates.
|
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.
| typedef YaspGlobalIdSet<YaspGrid<dim, Coordinates> > Dune::YaspGrid< dim, Coordinates >::GlobalIdSetType |
| typedef YaspGridFamily<dim, Coordinates> Dune::YaspGrid< dim, Coordinates >::GridFamily |
the GridFamily of this grid
|
protected |
|
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 |
type of view for leaf grid
|
inherited |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities in the leaf grid.
| typedef YaspIndexSet<YaspGrid<dim, Coordinates>, true > Dune::YaspGrid< dim, Coordinates >::LeafIndexSetType |
|
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 |
type of view for level grid
|
inherited |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities on a grid level.
| typedef YaspIndexSet<YaspGrid<dim, Coordinates>, false > Dune::YaspGrid< dim, Coordinates >::LevelIndexSetType |
|
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 bigunsignedint<dim*yaspgrid_dim_bits+yaspgrid_level_bits+dim> Dune::YaspGrid< dim, Coordinates >::PersistentIndexType |
| typedef YaspGridFamily<dim, Coordinates>::Traits Dune::YaspGrid< dim, Coordinates >::Traits |
| typedef ReservedVector<YGridLevel,32>::const_iterator Dune::YaspGrid< dim, Coordinates >::YGridLevelIterator |
Iterator over the grid levels.
|
inherited |
A constant that exports the template parameter dim.
|
inherited |
A constant that exports the template parameter dimworld.
|
inline |
Standard constructor for a YaspGrid with a given Coordinates object
| coordinates | Object that stores or computes the vertex coordinates |
| periodic | tells if direction is periodic or not |
| overlap | size of overlap on coarsest grid (same in all directions) |
| comm | the collective communication object for this grid. An MPI communicator can be given here. |
| lb | pointer to an overloaded YLoadBalance instance |
|
inline |
Standard constructor for an equidistant YaspGrid
| L | extension of the domain |
| s | number of cells on coarse mesh in each direction |
| periodic | tells if direction is periodic or not |
| overlap | size of overlap on coarsest grid (same in all directions) |
| comm | the collective communication object for this grid. An MPI communicator can be given here. |
| lb | pointer to an overloaded YLoadBalance instance |
|
inline |
Constructor for an equidistant YaspGrid with non-trivial origin
| lowerleft | Lower left corner of the domain |
| upperright | Upper right corner of the domain |
| s | number of cells on coarse mesh in each direction |
| periodic | tells if direction is periodic or not |
| overlap | size of overlap on coarsest grid (same in all directions) |
| comm | the collective communication object for this grid. An MPI communicator can be given here. |
| lb | pointer to an overloaded YLoadBalance instance |
|
inline |
Standard constructor for a tensorproduct YaspGrid.
| coords | coordinate vectors to be used for coarse grid |
| periodic | tells if direction is periodic or not |
| overlap | size of overlap on coarsest grid (same in all directions) |
| comm | the collective communication object for this grid. An MPI communicator can be given here. |
| lb | pointer to an overloaded YLoadBalance instance |
|
inline |
map adapt to global refine
|
inlineprotectedinherited |
Barton-Nackman trick.
|
inlineprotectedinherited |
Barton-Nackman trick.
|
inline |
return iterator pointing to coarsest level
|
inline |
return iterator pointing to given level
|
inlineprotected |
|
inline |
return a collective communication object
|
inline |
The new communication interface
communicate objects for all codims on the leaf grid
|
inline |
The new communication interface
communicate objects for all codims on a given level
|
inline |
The new communication interface
communicate objects for one codim
|
inlinestatic |
|
inline |
returns the size of the physical domain
|
inline |
return iterator pointing to one past the finest level
|
inlineinherited |
obtain Entity from EntitySeed.
|
inline |
|
inlineinherited |
|
inline |
returns adaptation mark for given entity
| [in] | e | Entity for which adaptation mark should be determined |
|
inlinestaticprotectedinherited |
return real implementation of interface class
|
inline |
|
inline |
return size (= distance in graph) of ghost region
|
inline |
return size (= distance in graph) of ghost region
|
inline |
|
inline |
refine the grid refCount times.
|
inline |
return number of cells on finest level on all processors
|
inline |
return number of cells on finest level in given direction on all processors
|
inlineprotected |
|
inlineprotected |
Construct list of intersections with neighboring processors.
| recvgrid | the grid stored in this processor |
| sendgrid | the subgrid to be sent to neighboring processors |
| sendlist | the deque to fill with send intersections |
| recvlist | the deque to fill with recv intersections |
|
inline |
return whether the grid is periodic in direction i
|
inline |
one past the end on this level
|
inline |
version without second template parameter for convenience
|
inline |
return LeafIterator which points to the first entity in maxLevel
|
inline |
return LeafIterator which points to the first entity in maxLevel
|
inline |
return LeafIterator which points behind the last entity in maxLevel
|
inline |
return LeafIterator which points behind the last entity in maxLevel
|
inlineinherited |
View for the leaf grid for All_Partition.
|
inline |
|
inline |
Iterator to one past the last entity of given codim on level for partition type.
|
inline |
version without second template parameter for convenience
|
inlineinherited |
View for a grid level for All_Partition.
|
inline |
|
inline |
return size vector of the grid (in cells) on level l
|
inline |
return size of the grid (in cells) on level l in direction i
|
inlineinherited |
default implementation of load balance does nothing and returns false
|
inlineinherited |
default implementation of load balance does nothing and returns false
|
inline |
|
inlineprotected |
Make a new YGridLevel structure.
| coords | the coordinate container |
| periodic | indicate periodicity for each direction |
| o_interior | origin of interior (non-overlapping) cell decomposition |
| overlap | to be used on this grid level |
|
inlineinherited |
|
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 to Entity that should be refined |
|
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 |
|
inline |
Return maximum level defined in this grid. Levels are numbered 0 ... maxlevel with 0 the coarsest level.
|
inline |
returns the number of boundary segments within the macro grid
|
inline |
return size (= distance in graph) of overlap region
|
inline |
return size (= distance in graph) of overlap region
|
inline |
clean up some markers
|
inline |
returns true, if the grid will be coarsened
|
inline |
set options for refinement
| keepPhysicalOverlap | [true] keep the physical size of the overlap, [false] keep the number of cells in the overlap. Default is [true]. |
|
inline |
number of leaf entities per geometry type in this process
|
inline |
number of leaf entities per codim in this process
|
inline |
number of entities per level and geometry type in this process
|
inline |
number of entities per level and codim in this process
|
inline |
return reference to torus