specialization of the generic StructuredGridFactory for AlbertaGrid
More...
#include <dune/grid/albertagrid/structuredgridfactory.hh>
|
static void | createSimplexGrid (GridFactory< GridType > &factory, const FieldVector< ctype, dimworld > &lowerLeft, const FieldVector< ctype, dimworld > &upperRight, const std::array< unsigned int, dim > &elements) |
| Create a structured simplex grid for AlbertaGrid. More...
|
|
static std::unique_ptr< GridType > | createSimplexGrid (const FieldVector< ctype, dimworld > &lowerLeft, const FieldVector< ctype, dimworld > &upperRight, const std::array< unsigned int, dim > &elements) |
| Create a structured simplex grid for AlbertaGrid. More...
|
|
static void | createCubeGrid (GridFactory< GridType > &factory, const FieldVector< ctype, dimworld > &lowerLeft, const FieldVector< ctype, dimworld > &upperRight, const std::array< unsigned int, dim > &elements) |
|
static std::unique_ptr< GridType > | createCubeGrid (const FieldVector< ctype, dimworld > &lowerLeft, const FieldVector< ctype, dimworld > &upperRight, const std::array< unsigned int, dim > &elements) |
|
|
static void | insertElement (GridFactory< GridType > &factory, const GeometryType &type, const std::vector< unsigned int > &vertices) |
|
static void | insertVertices (GridFactory< GridType > &factory, const FieldVector< ctype, dimworld > &lowerLeft, const FieldVector< ctype, dimworld > &upperRight, const std::array< unsigned int, dim > &vertices) |
|
static std::array< unsigned int, dim > | computeUnitOffsets (const std::array< unsigned int, dim > &vertices) |
|
template<int dim, int dimworld>
class Dune::StructuredGridFactory< AlbertaGrid< dim, dimworld > >
specialization of the generic StructuredGridFactory for AlbertaGrid
The simplex grid generated by the default StructuredGridFactory is not compatible with the Alberta vertex numbering. This might lead to infinite recursions when refining such grid. This specialization of the StructuredGridFactory solves this issue by
- generating a structured cube grid
- subdividing each cube into 2 (2d) or 6 (3d) simplices following a compatible numbering scheme for AlbertaGrid.
◆ ctype
template<int dim, int dimworld>
◆ computeUnitOffsets()
template<int dim, int dimworld>
◆ createCubeGrid() [1/2]
template<int dim, int dimworld>
◆ createCubeGrid() [2/2]
template<int dim, int dimworld>
◆ createSimplexGrid() [1/2]
template<int dim, int dimworld>
Create a structured simplex grid for AlbertaGrid.
This works in dimensions 1-3. Each cube is split into into dim! simplices by constructing macro triangulation, see insertElement for the local simplex numbering.
- Parameters
-
lowerLeft | Lower left corner of the grid |
upperRight | Upper right corner of the grid |
elements | Number of elements in each coordinate direction |
◆ createSimplexGrid() [2/2]
template<int dim, int dimworld>
Create a structured simplex grid for AlbertaGrid.
This works in dimensions 1-3. Each cube is split into into dim! simplices by constructing macro triangulation, see insertElement for the local simplex numbering.
- Parameters
-
factory | Grid factory used for creating the grid |
lowerLeft | Lower left corner of the grid |
upperRight | Upper right corner of the grid |
elements | Number of elements in each coordinate direction |
◆ insertElement()
template<int dim, int dimworld>
◆ insertVertices()
template<int dim, int dimworld>
The documentation for this class was generated from the following file: