dune-grid 2.9.0
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl > Class Template Reference

Interface class for using a discrete function to define the geometry of a Dune::GeometryGrid. An implementation should be derived from Dune::DiscreteCoordinateFunction and the evaluate method taking an entity of the host grid together with the number of a vertex returns the coordinate in $ R^r $ of that corner. The user must ensure continuity of this mapping. In addition an adapt method is provided which is called whenever adapt() is called on the Dune::GeometryGrid. More...

#include <dune/grid/geometrygrid/coordfunction.hh>

Inheritance diagram for Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >:
Inheritance graph

Public Types

typedef This Interface
 
typedef Impl Implementation
 
typedef ct ctype
 field type of the coordinate vector More...
 
typedef FieldVector< ctype, dimRangeRangeVector
 range vector for the evaluate method More...
 

Public Member Functions

template<class HostEntity >
void evaluate (const HostEntity &hostEntity, unsigned int corner, RangeVector &y) const
 evaluate method More...
 
void adapt ()
 method called from grid.adapt() method to allow adaptation of the discrete coordinate function More...
 

Static Public Attributes

static const unsigned int dimRange = dimR
 dimension of the range vector More...
 

Protected Member Functions

const ImplementationasImp () const
 
ImplementationasImp ()
 

Detailed Description

template<class ct, unsigned int dimR, class Impl>
class Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >

Interface class for using a discrete function to define the geometry of a Dune::GeometryGrid. An implementation should be derived from Dune::DiscreteCoordinateFunction and the evaluate method taking an entity of the host grid together with the number of a vertex returns the coordinate in $ R^r $ of that corner. The user must ensure continuity of this mapping. In addition an adapt method is provided which is called whenever adapt() is called on the Dune::GeometryGrid.

Template Parameters
ctcoordinate field type (ct in Dune::GeometryGrid)
dimRdimension of the range of the mapping (dimensionworld in Dune::GeometryGrid)
Implimplementation class (BN trick)

Member Typedef Documentation

◆ ctype

template<class ct , unsigned int dimR, class Impl >
typedef ct Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >::ctype

field type of the coordinate vector

◆ Implementation

template<class ct , unsigned int dimR, class Impl >
typedef Impl Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >::Implementation

◆ Interface

template<class ct , unsigned int dimR, class Impl >
typedef This Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >::Interface

◆ RangeVector

template<class ct , unsigned int dimR, class Impl >
typedef FieldVector< ctype, dimRange > Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >::RangeVector

range vector for the evaluate method

Member Function Documentation

◆ adapt()

template<class ct , unsigned int dimR, class Impl >
void Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >::adapt ( )
inline

method called from grid.adapt() method to allow adaptation of the discrete coordinate function

◆ asImp() [1/2]

template<class ct , unsigned int dimR, class Impl >
Implementation & Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >::asImp ( )
inlineprotected

◆ asImp() [2/2]

template<class ct , unsigned int dimR, class Impl >
const Implementation & Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >::asImp ( ) const
inlineprotected

◆ evaluate()

template<class ct , unsigned int dimR, class Impl >
template<class HostEntity >
void Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >::evaluate ( const HostEntity &  hostEntity,
unsigned int  corner,
RangeVector y 
) const
inline

evaluate method

Parameters
hostEntityan entity of the host grid
cornerthe local number of the corner in the host entity
yreturn value for the coordinate of this corner
Note
This method needs to work for entities of all codimensions, not just for elements!

Member Data Documentation

◆ dimRange

template<class ct , unsigned int dimR, class Impl >
const unsigned int Dune::DiscreteCoordFunctionInterface< ct, dimR, Impl >::dimRange = dimR
static

dimension of the range vector


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