Dune::GridFactory< ALUCubeGrid< 2, dimw > > Class Template Reference
[GridFactory]

Specialization of the generic GridFactory for ALUCubeGrid<2,dimw> More...

#include <dune/grid/alugrid/2d/alu2dgridfactory.hh>

Inheritance diagram for Dune::GridFactory< ALUCubeGrid< 2, dimw > >:
Inheritance graph

List of all members.

Public Types

typedef ALUCubeGrid< 2, dimw > Grid
typedef DuneBoundaryProjection
< dimw > 
DuneBoundaryProjectionType
 type of boundary projection class
typedef ALUGridTransformation
< ctype, dimensionworld > 
Transformation
typedef Transformation::WorldVector WorldVector
 type of vector for world coordinates
typedef Transformation::WorldMatrix WorldMatrix
 type of matrix from world coordinates to world coordinates

Public Member Functions

 GridFactory ()
 Default constructor.
 GridFactory (const std::string &filename)
 constructor taking filename
 GridFactory (const bool verbose)
 constructor taking filename
virtual void insertVertex (const VertexType &pos)
 insert a vertex into the coarse grid
virtual void insertVertex (const FieldVector< ctype, dimworld > &pos)=0
 Insert a vertex into the coarse grid.
virtual void insertElement (const GeometryType &geometry, const std::vector< unsigned int > &vertices)
 insert an element into the coarse grid
virtual void insertElement (const GeometryType &type, const std::vector< unsigned int > &vertices, const shared_ptr< VirtualFunction< FieldVector< ctype, dimension >, FieldVector< ctype, dimworld > > > &elementParametrization)
 Insert a parametrized element into the coarse grid.
virtual void insertBoundary (const GeometryType &geometry, const std::vector< unsigned int > &faceVertices, const int id)
 insert a boundary element into the coarse grid
virtual void insertBoundary (const int element, const int face, const int id)
 mark a face as boundary (and assign a boundary id)
virtual void insertBoundaryProjection (const GeometryType &type, const std::vector< unsigned int > &vertices, const DuneBoundaryProjectionType *projection)
 insert a boundary projection into the macro grid
virtual void insertBoundaryProjection (const DuneBoundaryProjectionType &bndProjection)
 insert a boundary projection object, (a copy is made)
virtual void insertBoundarySegment (const std::vector< unsigned int > &vertices)
 insert a boundary segment into the macro grid
virtual void insertBoundarySegment (const std::vector< unsigned int > &vertices, const shared_ptr< BoundarySegment< 2, dimw > > &boundarySegment)
 insert a shaped boundary segment into the macro grid
virtual void insertBoundarySegment (const std::vector< unsigned int > &vertices, const shared_ptr< BoundarySegment< dimension, dimworld > > &boundarySegment)
 insert an arbitrarily shaped boundary segment
void insertFaceTransformation (const WorldMatrix &matrix, const WorldVector &shift)
 add a face transformation (for periodic identification)
virtual unsigned int insertionIndex (const typename Codim< 0 >::Entity &entity) const
 obtain an element's insertion index
virtual unsigned int insertionIndex (const typename Codim< dimension >::Entity &entity) const
 obtain a vertex' insertion index
virtual unsigned int insertionIndex (const typename Grid::LeafIntersection &intersection) const
virtual unsigned int insertionIndex (const typename ALUCubeGrid< 2, dimw >::LeafIntersection &intersection) const
 obtain a boundary's insertion index
virtual bool wasInserted (const typename Grid::LeafIntersection &intersection) const
virtual bool wasInserted (const typename ALUCubeGrid< 2, dimw >::LeafIntersection &intersection) const
 determine whether an intersection was inserted
GridcreateGrid ()
 finalize the grid creation and hand over the grid
GridcreateGrid (const bool addMissingBoundaries, const std::string dgfName="")
GridcreateGrid (const bool addMissingBoundaries, bool temporary, const std::string dgfName="")
void setTolerance (const ctype &epsilon)

Protected Types

enum  
 

The grid world dimension.

More...

Protected Member Functions

void setVerbosity (const bool verbose)
 set factory's verbosity

Detailed Description

template<int dimw>
class Dune::GridFactory< ALUCubeGrid< 2, dimw > >

Specialization of the generic GridFactory for ALUCubeGrid<2,dimw>


Member Typedef Documentation

typedef DuneBoundaryProjection< dimw > Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::DuneBoundaryProjectionType [inherited]

type of boundary projection class

template<int dimw>
typedef ALUCubeGrid< 2, dimw > Dune::GridFactory< ALUCubeGrid< 2, dimw > >::Grid
typedef ALUGridTransformation< ctype, dimensionworld > Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::Transformation [inherited]
typedef Transformation::WorldMatrix Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::WorldMatrix [inherited]

type of matrix from world coordinates to world coordinates

typedef Transformation::WorldVector Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::WorldVector [inherited]

type of vector for world coordinates


Member Enumeration Documentation

anonymous enum [protected, inherited]

The grid world dimension.


Constructor & Destructor Documentation

template<int dimw>
Dune::GridFactory< ALUCubeGrid< 2, dimw > >::GridFactory (  )  [inline, explicit]

Default constructor.

template<int dimw>
Dune::GridFactory< ALUCubeGrid< 2, dimw > >::GridFactory ( const std::string &  filename  )  [inline]

constructor taking filename

template<int dimw>
Dune::GridFactory< ALUCubeGrid< 2, dimw > >::GridFactory ( const bool  verbose  )  [inline]

constructor taking filename


Member Function Documentation

Grid* Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::createGrid (  )  [virtual, inherited]

finalize the grid creation and hand over the grid

The called takes responsibility for deleing the grid.

Implements Dune::GridFactoryInterface< ALUCubeGrid< 2, dimw > >.

Grid* Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::createGrid ( const bool  addMissingBoundaries,
const std::string  dgfName = "" 
) [inherited]
Grid* Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::createGrid ( const bool  addMissingBoundaries,
bool  temporary,
const std::string  dgfName = "" 
) [inherited]
virtual void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertBoundary ( const GeometryType &  geometry,
const std::vector< unsigned int > &  faceVertices,
const int  id 
) [virtual, inherited]

insert a boundary element into the coarse grid

Note:
The order of the vertices must coincide with the vertex order in the corresponding DUNE reference element.
Parameters:
[in] geometry GeometryType of the boundary element
[in] faceVertices vertices of the boundary element
[in] id boundary identifier of the boundary element, the default value is 0 (invalid boundary id)
virtual void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertBoundary ( const int  element,
const int  face,
const int  id 
) [virtual, inherited]

mark a face as boundary (and assign a boundary id)

Parameters:
[in] element index of the element, the face belongs to
[in] face local number of the face within the element
[in] id boundary id to assign to the face
virtual void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertBoundaryProjection ( const DuneBoundaryProjectionType bndProjection  )  [virtual, inherited]

insert a boundary projection object, (a copy is made)

Parameters:
[in] bndProjection instance of an ALUGridBoundaryProjection projecting vertices to a
virtual void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertBoundaryProjection ( const GeometryType &  type,
const std::vector< unsigned int > &  vertices,
const DuneBoundaryProjectionType projection 
) [virtual, inherited]

insert a boundary projection into the macro grid

Parameters:
[in] type geometry type of boundary face
[in] vertices vertices of the boundary face
[in] projection boundary projection
Note:
The grid takes control of the projection object.
virtual void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertBoundarySegment ( const std::vector< unsigned int > &  vertices  )  [virtual, inherited]

insert a boundary segment into the macro grid

Parameters:
[in] vertices vertex indices of boundary face

Implements Dune::GridFactoryInterface< ALUCubeGrid< 2, dimw > >.

virtual void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertBoundarySegment ( const std::vector< unsigned int > &  vertices,
const shared_ptr< BoundarySegment< 2, dimw > > &  boundarySegment 
) [virtual, inherited]

insert a shaped boundary segment into the macro grid

Parameters:
[in] vertices vertex indices of boundary face
[in] boundarySegment geometric realization of shaped boundary
virtual void Dune::GridFactoryInterface< ALUCubeGrid< 2, dimw > >::insertBoundarySegment ( const std::vector< unsigned int > &  vertices,
const shared_ptr< BoundarySegment< dimension, dimworld > > &  boundarySegment 
) [inline, virtual, inherited]

insert an arbitrarily shaped boundary segment

This method inserts a boundary segment into the coarse grid.

Parameters:
[in] vertices the indices of the vertices of the segment
[in] boundarySegment user defined implementation of the boundary segment's geometry
virtual void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertElement ( const GeometryType &  geometry,
const std::vector< unsigned int > &  vertices 
) [virtual, inherited]

insert an element into the coarse grid

Note:
The order of the vertices must coincide with the vertex order in the corresponding DUNE reference element.
Parameters:
[in] geometry GeometryType of the new element
[in] vertices vertices of the new element

Implements Dune::GridFactoryInterface< ALUCubeGrid< 2, dimw > >.

virtual void Dune::GridFactoryInterface< ALUCubeGrid< 2, dimw > >::insertElement ( const GeometryType &  type,
const std::vector< unsigned int > &  vertices,
const shared_ptr< VirtualFunction< FieldVector< ctype, dimension >, FieldVector< ctype, dimworld > > > &  elementParametrization 
) [inline, virtual, inherited]

Insert a parametrized element into the coarse grid.

Parameters:
type The GeometryType of the new element
vertices The vertices of the new element, using the DUNE numbering
elementParametrization A function prescribing the shape of this element

Make sure the inserted element is not inverted (this holds even for simplices). There are grids that can't handle inverted elements.

void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertFaceTransformation ( const WorldMatrix matrix,
const WorldVector shift 
) [inherited]

add a face transformation (for periodic identification)

A face transformation is an affine mapping T from world coordinates to world coordinates. The grid factory then glues two faces f and g if T( f ) = g or T( g ) = f.

Parameters:
[in] matrix matrix describing the linear part of T
[in] shift vector describing T( 0 )
virtual unsigned int Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertionIndex ( const typename Grid::LeafIntersection intersection  )  const [inline, virtual, inherited]
virtual unsigned int Dune::GridFactoryInterface< ALUCubeGrid< 2, dimw > >::insertionIndex ( const typename ALUCubeGrid< 2, dimw > ::LeafIntersection &  intersection  )  const [inline, virtual, inherited]

obtain a boundary's insertion index

Data can be associated to the created macro grid using the insertion index of each entity that has been inserted during the grid creation process.

Between grid construction (createGrid) and the first grid modification, this method allows to obtain this insertion index from the grid factory. This way, data can be stored using the index maps provided by the grid.

Parameters:
[in] intersection intersection whose insertion index is requested
Returns:
insertion index of the intersection
Note:
The insertion index can only be obtained for boundary intersections that were actually inserted (see also wasInserted).
virtual unsigned int Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertionIndex ( const typename Codim< 0 >::Entity entity  )  const [inline, virtual, inherited]
virtual unsigned int Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertionIndex ( const typename Codim< dimension >::Entity entity  )  const [inline, virtual, inherited]
virtual void Dune::GridFactoryInterface< ALUCubeGrid< 2, dimw > >::insertVertex ( const FieldVector< ctype, dimworld > &  pos  )  [pure virtual, inherited]

Insert a vertex into the coarse grid.

virtual void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::insertVertex ( const VertexType &  pos  )  [virtual, inherited]

insert a vertex into the coarse grid

Parameters:
[in] pos position of the vertex
void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::setTolerance ( const ctype &  epsilon  )  [inline, inherited]
void Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::setVerbosity ( const bool  verbose  )  [inline, protected, inherited]

set factory's verbosity

Parameters:
[in] verbose verbosity (true/flase)
virtual bool Dune::GridFactoryInterface< ALUCubeGrid< 2, dimw > >::wasInserted ( const typename ALUCubeGrid< 2, dimw > ::LeafIntersection &  intersection  )  const [inline, virtual, inherited]

determine whether an intersection was inserted

This method allows checking wheter an intersection was actually inserted into the grid factory.

Note:
Not all boundary segments need to be inserted into the grid factory.
This method returns false for all interior intersections
Parameters:
[in] intersection intersection in question
Returns:
true, if the intersection was inserted
virtual bool Dune::ALU2dGridFactory< ALUCubeGrid , dimw >::wasInserted ( const typename Grid::LeafIntersection intersection  )  const [inline, virtual, inherited]

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

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].