Abstract base for all classes that take extracted grids and build sets of intersections.
More...
|
| virtual void | build (const std::vector< Dune::FieldVector< ctype, dimworld > > &grid1_coords, const std::vector< unsigned int > &grid1_elements, const std::vector< Dune::GeometryType > &grid1_element_types, const std::vector< Dune::FieldVector< ctype, dimworld > > &grid2_coords, const std::vector< unsigned int > &grid2_elements, const std::vector< Dune::GeometryType > &grid2_element_types)=0 |
| | builds the merged grid
|
| |
| unsigned int | nSimplices () const |
| | get the number of simplices in the merged grid The indices are then in 0..nSimplices()-1
|
| |
| virtual void | clear ()=0 |
| |
| virtual std::shared_ptr< IntersectionList > | intersectionList () const =0 |
| |
| template<int n> |
| unsigned int | parents (unsigned int idx) const |
| |
| template<int n> |
| unsigned int | parent (unsigned int idx, unsigned int parId=0) const |
| | get index of grid-n's parent simplex for given merged grid simplex
|
| |
| template<int n> |
| auto | parentLocal (unsigned int idx, unsigned int corner, unsigned int parId=0) const |
| | get the grid-n parent's simplex local coordinates for a particular merged grid simplex corner (parent's index can be obtained via "parent<n>")
|
| |
template<class ctype, int grid1Dim, int grid2Dim, int dimworld>
class Dune::GridGlue::Merger< ctype, grid1Dim, grid2Dim, dimworld >
Abstract base for all classes that take extracted grids and build sets of intersections.
- Template Parameters
-
| ctype | The type used for coordinates (assumed to be the same for both grids) |
| grid1Dim | Dimension of the grid1 grid |
| grid2Dim | Dimension of the grid2 grid |
| dimworld | Dimension of the world space where the coupling takes place |
template<class ctype , int grid1Dim, int grid2Dim, int dimworld>
| virtual void Dune::GridGlue::Merger< ctype, grid1Dim, grid2Dim, dimworld >::build |
( |
const std::vector< Dune::FieldVector< ctype, dimworld > > & |
grid1_coords, |
|
|
const std::vector< unsigned int > & |
grid1_elements, |
|
|
const std::vector< Dune::GeometryType > & |
grid1_element_types, |
|
|
const std::vector< Dune::FieldVector< ctype, dimworld > > & |
grid2_coords, |
|
|
const std::vector< unsigned int > & |
grid2_elements, |
|
|
const std::vector< Dune::GeometryType > & |
grid2_element_types |
|
) |
| |
|
pure virtual |
builds the merged grid
Note that the indices are used consequently throughout the whole class interface just like they are introduced here.
- Parameters
-
| grid1_coords | the grid1 vertices' coordinates ordered like e.g. in 3D x_0 y_0 z_0 x_1 y_1 ... y_(n-1) z_(n-1) |
| grid1_elements | array with all grid1 elements represented as corner indices into grid1_coords |
| grid1_element_types | array with the GeometryType of the elements listed grid1_elements |
| grid2_coords | the grid2 vertices' coordinates ordered like e.g. in 3D x_0 y_0 z_0 x_1 y_1 ... y_(n-1) z_(n-1) |
| grid2_elements | just like with the grid1_elements and grid1_coords |
| grid2_element_types | array with the GeometryType of the elements listed grid2_elements |
Implemented in Dune::GridGlue::StandardMerge< T, grid1Dim, grid2Dim, dimworld >, and Dune::GridGlue::ContactMerge< dimworld, T >.