BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Static Public Member Functions | Private Types | Static Private Member Functions | Static Private Attributes | List of all members
Dune::BemppStructuredGridFactory< GridType > Class Template Reference

Construct structured cube and simplex grids in unstructured grid managers. More...

#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/grid/structured_grid_factory.hpp>

Classes

class  MultiIndex
 dim-dimensional multi-index. The range for each component can be set individually More...
 

Static Public Member Functions

static std::auto_ptr< GridType > createCubeGrid (const FieldVector< ctype, dim > &lowerLeft, const FieldVector< ctype, dim > &upperRight, const array< int, dim > &elements)
 Create a structured cube grid. More...
 
static std::auto_ptr< GridType > createSimplexGrid (const FieldVector< ctype, dim > &lowerLeft, const FieldVector< ctype, dim > &upperRight, const array< int, dim > &elements)
 Create a structured simplex grid. More...
 

Private Types

typedef GridType::ctype ctype
 

Static Private Member Functions

static void insertVertices (GridFactory< GridType > &factory, const FieldVector< ctype, dim > &lowerLeft, const FieldVector< ctype, dim > &upperRight, const array< int, dim > &vertices)
 Insert a structured set of vertices into the factory.
 
static array< int, dim > computeUnitOffsets (const array< int, dim > &vertices)
 

Static Private Attributes

static const int dim = GridType::dimension
 
static const int dimworld = GridType::dimensionworld
 

Detailed Description

template<class GridType>
class Dune::BemppStructuredGridFactory< GridType >

Construct structured cube and simplex grids in unstructured grid managers.

Note
Copied from Dune and slightly modified:
  • Grids embedded in higher-dimensional spaces are supported. In this case the last (dimworld - dim) coordinates of all vertices, where dim is the grid dimension and dimworld the world dimension, are set to zero.
  • Automatic pointers (std::auto_ptr) instead of shared pointers (Dune::shared_ptr) are returned.

Member Function Documentation

template<class GridType >
static std::auto_ptr<GridType> Dune::BemppStructuredGridFactory< GridType >::createCubeGrid ( const FieldVector< ctype, dim > &  lowerLeft,
const FieldVector< ctype, dim > &  upperRight,
const array< int, dim > &  elements 
)
inlinestatic

Create a structured cube grid.

Parameters
lowerLeftLower left corner of the grid
upperRightUpper right corner of the grid
elementsNumber of elements in each coordinate direction

References Dune::BemppStructuredGridFactory< GridType >::MultiIndex::cycle(), and Dune::BemppStructuredGridFactory< GridType >::insertVertices().

template<class GridType >
static std::auto_ptr<GridType> Dune::BemppStructuredGridFactory< GridType >::createSimplexGrid ( const FieldVector< ctype, dim > &  lowerLeft,
const FieldVector< ctype, dim > &  upperRight,
const array< int, dim > &  elements 
)
inlinestatic

Create a structured simplex grid.

This works in all dimensions. The Coxeter-Freudenthal-Kuhn triangulation is used, which splits each cube into dim! simplices. See Allgower and Georg, 'Numerical Path Following' for a description.

References Dune::BemppStructuredGridFactory< GridType >::MultiIndex::cycle(), and Dune::BemppStructuredGridFactory< GridType >::insertVertices().

Referenced by Bempp::GridFactory::createStructuredGrid().


The documentation for this class was generated from the following file: