sequential adapter to couple two grids at specified close together boundaries
More...
|
enum | { grid0dim = Grid0Patch::dim
, domdim = Grid0Patch::dim
, grid0dimworld = Grid0Patch::dimworld
, domdimworld = Grid0Patch::dimworld
} |
| Dimension of the grid 0 extractor. More...
|
|
enum | { tardim = Grid1Patch::dim
, grid1dim = Grid1Patch::dim
, tardimworld = Grid1Patch::dimworld
, grid1dimworld = Grid1Patch::dimworld
} |
| Dimension of the grid 1 extractor. More...
|
|
enum | { dimworld = ((int)Grid0Patch::dimworld > (int)Grid1Patch::dimworld) ? (int)Grid0Patch::dimworld : (int)Grid1Patch::dimworld
} |
| export the world dimension More...
|
|
typedef P0::GridView | Grid0View |
| GridView of grid 0 (aka domain grid)
|
|
typedef Grid0View::Grid | Grid0 |
| Grid 0 type.
|
|
typedef P0 | Grid0Patch |
| Coupling patch of grid 0.
|
|
typedef P1::GridView | Grid1View |
| GridView of grid 1 (aka target grid)
|
|
typedef Grid1View::Grid | Grid1 |
| Grid 1 type.
|
|
typedef P1 | Grid1Patch |
| Coupling patch of grid 1.
|
|
typedef unsigned int | IndexType |
|
typedef PromotionTraits< typenameGrid0View::ctype, typenameGrid1View::ctype >::PromotedType | ctype |
| The type used for coordinates.
|
|
typedef Dune::FieldVector< ctype, dimworld > | Coords |
| The type used for coordinate vectors.
|
|
typedef Grid0View::Traits::template Codim< 0 >::Entity | Grid0Element |
| The type of the Grid0 elements.
|
|
typedef Grid0View::Traits::template Codim< Grid0::dimension >::Entity | Grid0Vertex |
| The type of the Grid0 vertices.
|
|
typedef Grid1View::Traits::template Codim< 0 >::Entity | Grid1Element |
| The type of the Grid1 elements.
|
|
typedef Grid1View::Traits::template Codim< Grid1::dimension >::Entity | Grid1Vertex |
| The type of the Grid1 vertices.
|
|
typedef Dune::GridGlue::Merger< ctype, Grid0::dimension - Grid0Patch::codim, Grid1::dimension - Grid1Patch::codim, dimworld > | Merger |
| Instance of a Merger.
|
|
typedef Dune::GridGlue::Intersection< P0, P1, 0, 1 > | Intersection |
| Type of remote intersection objects.
|
|
typedef Dune::GridGlue::IntersectionIndexSet< P0, P1 > | IndexSet |
| Type of remote intersection indexSet.
|
|
typedef Dune::GridGlue::IntersectionIterator< P0, P1, 0, 1 > | Grid0IntersectionIterator |
| Type of the iterator that iterates over remove intersections.
|
|
typedef Dune::GridGlue::IntersectionIterator< P0, P1, 1, 0 > | Grid1IntersectionIterator |
|
|
| GridGlue (const Grid0Patch &gp0, const Grid1Patch &gp1, Merger *merger) |
| constructor
|
|
| GridGlue (const std::shared_ptr< const Grid0Patch > gp0, const std::shared_ptr< const Grid1Patch > gp1, const std::shared_ptr< Merger > merger) |
| constructor
|
|
template<int P> |
const GridGlueView< P0, P1, P >::Patch & | patch () const |
|
template<int P> |
const GridGlueView< P0, P1, P >::Patch::GridView & | gridView () const |
| getter for the GridView of patch P
|
|
void | build () |
|
template<int I> |
GridGlueView< P0, P1, I >::IntersectionIterator | ibegin () const |
| gets an iterator over all remote intersections in the merged grid between grid0 and grid1
|
|
template<int I> |
GridGlueView< P0, P1, I >::IntersectionIterator | iend () const |
| gets the (general) end-iterator for grid glue iterations
|
|
template<class DataHandleImp , class DataTypeImp > |
void | communicate (Dune::GridGlue::CommDataHandle< DataHandleImp, DataTypeImp > &data, Dune::InterfaceType iftype, Dune::CommunicationDirection dir) const |
| Communicate information on the MergedGrid of a GridGlue.
|
|
IndexSet | indexSet () const |
|
Intersection | getIntersection (int i) const |
|
size_t | size () const |
|
|
void | mergePatches (const std::vector< Dune::FieldVector< ctype, dimworld > > &patch0coords, const std::vector< unsigned int > &patch0entities, const std::vector< Dune::GeometryType > &patch0types, const int patch0rank, const std::vector< Dune::FieldVector< ctype, dimworld > > &patch1coords, const std::vector< unsigned int > &patch1entities, const std::vector< Dune::GeometryType > &patch1types, const int patch1rank) |
| after building the merged grid the intersection can be updated through this method (for internal use)
|
|
template<typename Extractor > |
void | extractGrid (const Extractor &extractor, std::vector< Dune::FieldVector< ctype, dimworld > > &coords, std::vector< unsigned int > &faces, std::vector< Dune::GeometryType > &geometryTypes) const |
|
template<typename P0, typename P1>
class Dune::GridGlue::GridGlue< P0, P1 >
sequential adapter to couple two grids at specified close together boundaries
- Template Parameters
-
P0 | patch (extractor) to use for grid 0 |
P1 | patch (extractor) to use for grid 1 |
- Todo:
- adapt member names according to style guide
template<typename P0 , typename P1 >
template<class DataHandleImp , class DataTypeImp >
void Dune::GridGlue::GridGlue< P0, P1 >::communicate |
( |
Dune::GridGlue< P0, P1 >::CommDataHandle< DataHandleImp, DataTypeImp > & |
data, |
|
|
Dune::InterfaceType |
iftype, |
|
|
Dune::CommunicationDirection |
dir |
|
) |
| const |
|
inline |
Communicate information on the MergedGrid of a GridGlue.
Template parameter is a model of Dune::GridGlue::CommDataHandle
- Parameters
-
data | GridGlueDataHandle |
iftype | Interface for which the Communication should take place |
dir | Communication direction (Forward means grid0 to grid1, Backward is the reverse) |
- Todo:
fix mixed communication: seq->par use commSeq, par->seq use commPar
add directed version communicate<FROM,TO, DH,DT>(data,iftype,dir)