dune-grid
2.6-git
|
[ provides Dune::Grid ] More...
#include <dune/grid/yaspgrid.hh>
Public Types | |
typedef Coordinates::ctype | ctype |
Type used for coordinates. More... | |
typedef CollectiveCommunication< No_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 |
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 (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... | |
Static Public Member Functions | |
static const YLoadBalanceDefault< dim > * | defaultLoadbalancer () |
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 () |
Protected Attributes | |
const typedef YaspGrid< dim, Coordinates > | GridImp |
[ 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. |
typedef CollectiveCommunication<No_Comm> Dune::YaspGrid< dim, Coordinates >::CollectiveCommunicationType |
typedef Coordinates::ctype Dune::YaspGrid< dim, Coordinates >::ctype |
Type used for coordinates.
typedef YaspGlobalIdSet<YaspGrid<dim, Coordinates> > Dune::YaspGrid< dim, Coordinates >::GlobalIdSetType |
typedef YaspGridFamily<dim, Coordinates> Dune::YaspGrid< dim, Coordinates >::GridFamily |
the GridFamily of this grid
typedef YaspIndexSet<YaspGrid<dim, Coordinates>, true > Dune::YaspGrid< dim, Coordinates >::LeafIndexSetType |
typedef YaspIndexSet<YaspGrid<dim, Coordinates>, false > Dune::YaspGrid< dim, Coordinates >::LevelIndexSetType |
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.
|
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
|
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
|
inline |
|
inline |
returns adaptation mark for given entity
[in] | e | Entity for which adaptation mark should be determined |
|
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
|
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
|
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
|
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 |
|
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
|
protected |