|
const Torus< Communication, dim > & | torus () const |
| return reference to torus
|
|
int | globalSize (int i) const |
| return number of cells on finest level in given direction on all processors
|
|
iTupel | globalSize () const |
| return number of cells on finest level on all processors
|
|
int | levelSize (int l, int i) const |
| return size of the grid (in cells) on level l in direction i
|
|
iTupel | levelSize (int l) const |
| return size vector of the grid (in cells) on level l
|
|
bool | isPeriodic (int i) const |
| return whether the grid is periodic in direction i
|
|
YGridLevelIterator | begin () const |
| return iterator pointing to coarsest level
|
|
YGridLevelIterator | begin (int i) const |
| return iterator pointing to given level
|
|
YGridLevelIterator | end () const |
| return iterator pointing to one past the finest level
|
|
| YaspGrid (const Coordinates &coordinates, std::bitset< dim > periodic=std::bitset< dim >(0ULL), int overlap=1, Communication comm=Communication(), const Yasp::Partitioning< dim > *partitioner=defaultPartitioner()) |
|
template<class C = Coordinates, typename std::enable_if_t< std::is_same_v< C, EquidistantCoordinates< ctype, dim > >, int > = 0> |
| YaspGrid (Dune::FieldVector< ctype, dim > L, std::array< int, std::size_t{dim}> s, std::bitset< std::size_t{dim}> periodic=std::bitset< std::size_t{dim}>{0ULL}, int overlap=1, Communication comm=Communication(), const Yasp::Partitioning< dim > *partitioner=defaultPartitioner()) |
|
template<class C = Coordinates, typename std::enable_if_t< std::is_same_v< C, EquidistantOffsetCoordinates< ctype, dim > >, int > = 0> |
| YaspGrid (Dune::FieldVector< ctype, dim > lowerleft, Dune::FieldVector< ctype, dim > upperright, std::array< int, std::size_t{dim}> s, std::bitset< std::size_t{dim}> periodic=std::bitset< std::size_t{dim}>(0ULL), int overlap=1, Communication comm=Communication(), const Yasp::Partitioning< dim > *partitioner=defaultPartitioner()) |
|
template<class C = Coordinates, typename std::enable_if_t< std::is_same_v< C, TensorProductCoordinates< ctype, dim > >, int > = 0> |
| YaspGrid (std::array< std::vector< ctype >, std::size_t{dim}> coords, std::bitset< std::size_t{dim}> periodic=std::bitset< std::size_t{dim}>(0ULL), int overlap=1, Communication comm=Communication(), const Yasp::Partitioning< dim > *partitioner=defaultPartitioner()) |
| Standard constructor for a tensorproduct YaspGrid. More...
|
|
int | maxLevel () const |
|
void | globalRefine (int refCount) |
| refine the grid refCount times.
|
|
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
|
|
bool | preAdapt () |
| returns true, if the grid will be coarsened
|
|
void | postAdapt () |
| clean up some markers
|
|
template<int cd, PartitionIteratorType pitype> |
Traits::template Codim< cd >::template Partition< pitype >::LevelIterator | lbegin (int level) const |
| one past the end on this level
|
|
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.
|
|
template<int cd> |
Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator | lbegin (int level) const |
| version without second template parameter for convenience
|
|
template<int cd> |
Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator | lend (int level) const |
| version without second template parameter for convenience
|
|
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
|
|
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
|
|
template<int cd> |
Traits::template Codim< cd >::template Partition< All_Partition >::LeafIterator | leafbegin () const |
| return LeafIterator which points to the first entity in maxLevel
|
|
template<int cd> |
Traits::template Codim< cd >::template Partition< All_Partition >::LeafIterator | leafend () const |
| return LeafIterator which points behind the last entity in maxLevel
|
|
int | overlapSize (int level, int codim) const |
| return size (= distance in graph) of overlap region
|
|
int | overlapSize (int odim) const |
| return size (= distance in graph) of overlap region
|
|
int | ghostSize (int level, int codim) const |
| return size (= distance in graph) of ghost region
|
|
int | ghostSize (int codim) const |
| return size (= distance in graph) of ghost region
|
|
int | size (int level, int codim) const |
| number of entities per level and codim in this process
|
|
int | size (int codim) const |
| number of leaf entities per codim in this process
|
|
int | size (int level, GeometryType type) const |
| number of entities per level and geometry type in this process
|
|
int | size (GeometryType type) const |
| number of leaf entities per geometry type in this process
|
|
size_t | numBoundarySegments () const |
| returns the number of boundary segments within the macro grid
|
|
const Dune::FieldVector< ctype, dim > & | domainSize () const |
| returns the size of the physical domain
|
|
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 Communication & | comm () const |
| return a communication object
|
|
Traits::LevelGridView | levelGridView (int level) const |
| View for a grid level for All_Partition.
|
|
Traits::LeafGridView | leafGridView () const |
| View for the leaf grid for All_Partition.
|
|
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
|
|
bool | loadBalance (DataHandle &data) |
| default implementation of load balance does nothing and returns false
|
|
|
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...
|
|
|
typedef GridFamily::Traits::LeafGridView | LeafGridView |
| type of view for leaf grid
|
|
typedef GridFamily::Traits::LevelGridView | LevelGridView |
| type of view for level grid
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
using | CollectiveCommunication = Communication |
|
using | Communication_t = typename T::Communication |
|
using | DeprecatedCollectiveCommunication_t = typename T::CollectiveCommunication |
|
template<int dim, class Coordinates = EquidistantCoordinates<double, dim>>
class Dune::YaspGrid< dim, Coordinates >
[ 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.
- Template Parameters
-
dim | The dimension of the grid and its surrounding world |
Coordinates | The coordinate mode of the grid. |
- Examples
- recipe-integration.cc, and recipe-iterate-over-grid.cc.