Dune::LevelP1Function< G, RT, m > Class Template Reference
[Functions Hierarchy]

#include <p1function.hh>

Inheritance diagram for Dune::LevelP1Function< G, RT, m >:

Dune::P1Function< GV, RT, LC, m > Dune::GridFunctionGlobalEvalDefault< GV, RT, m > Dune::FunctionDefault< GV::Grid::ctype, RT, GV::Grid::dimension, m > Dune::ElementwiseCInfinityFunction< GV::Grid, RT, m > Dune::H1Function< GV::Grid::ctype, RT, GV::Grid::dimension, m > Dune::C0GridFunction< GV::Grid, RT, m > Dune::FunctionBase< DT, RT, n, m > Dune::DifferentiableGridFunction< G, RT, m > Dune::DifferentiableFunction< DT, RT, n, m > Dune::L2Function< DT, RT, n, m > Dune::GridFunction< G, RT, m > Dune::C0Function< DT, RT, n, m > Dune::GridFunction< G, RT, m > Dune::FunctionBase< DT, RT, n, m > Dune::FunctionBase< DT, RT, n, m > Dune::FunctionBase< G::ctype, RT, G::dimension, m > Dune::FunctionBase< DT, RT, n, m > Dune::FunctionBase< G::ctype, RT, G::dimension, m > List of all members.

Detailed Description

template<class G, class RT, int m = 1>
class Dune::LevelP1Function< G, RT, m >

P1 finite element function on a given level grid.

Parameters:
G The grid
RT The type used for the component values of the function
m Vector-valued functions: number of components


Public Types

enum  
 export dimension of domain and range
enum  
 export dimension of domain and range
typedef DT DomainFieldType
 export type for domain components
typedef G::ctype DomainFieldType
 export type for domain components
typedef RT RangeFieldType
 export type for range components
typedef RT RangeFieldType
 export type for range components

Public Member Functions

 LevelP1Function (const G &grid, int level, bool extendoverlap=false)
 Constructor for a given grid.
virtual RT derivative (int comp, const Dune::FieldVector< int, n > &d, const Dune::FieldVector< DT, n > &x) const
 evaluate partial derivative
virtual RT derivative (int comp, const Dune::FieldVector< int, n > &d, const Dune::FieldVector< DT, n > &x) const=0
 evaluate partial derivative
virtual int order () const
 return number of partial derivatives that can be taken
virtual RT evallocal (int comp, const Entity &e, const Dune::FieldVector< DT, n > &xi) const
 evaluate single component comp in the entity e at local coordinates xi
virtual RT evallocal (int comp, const Entity &e, const Dune::FieldVector< DT, n > &xi) const =0
 evaluate single component comp in the entity e at local coordinates xi
virtual RT evallocal (int comp, const Entity &e, const Dune::FieldVector< DT, n > &xi) const =0
 evaluate single component comp in the entity e at local coordinates xi
virtual void evalalllocal (const Entity &e, const Dune::FieldVector< DT, G::dimension > &xi, Dune::FieldVector< RT, m > &y) const
 evaluate all components in the entity e at local coordinates xi
virtual void evalalllocal (const Entity &e, const Dune::FieldVector< DT, GV::Grid::dimension > &xi, Dune::FieldVector< RT, m > &y) const=0
 evaluate all components in the entity e at local coordinates xi
virtual void evalalllocal (const Entity &e, const Dune::FieldVector< DT, G::dimension > &xi, Dune::FieldVector< RT, m > &y) const=0
 evaluate all components in the entity e at local coordinates xi
virtual RT derivativelocal (int comp, const Dune::FieldVector< int, n > &d, const Entity &e, const Dune::FieldVector< DT, n > &xi) const
 evaluate derivative in local coordinates
virtual RT derivativelocal (int comp, const Dune::FieldVector< int, n > &d, const Entity &e, const Dune::FieldVector< DT, n > &xi) const=0
 evaluate derivative in local coordinates
void interpolate (const C0GridFunction< G, RT, m > &u)
 interpolate nodal values from a grid function
void interpolate (const P0Function< GV, RT, m > &u)
const RepresentationType & operator * () const
 return const reference to coefficient vector
RepresentationType & operator * ()
 return reference to coefficient vector
void fillIndexInfoFromGrid (P1IndexInfoFromGrid &info)
 deliver communication object
void preAdapt ()
void postAdapt (P1FunctionManager< G, RT > &manager)
 Initiate update process.
const VM & mapper () const
 export the mapper for external use
const GV & gridview () const
 export the gridview for external use
void vtkout (VTKWriter< GV > &vtkwriter, std::string s) const
 VTK output.
virtual RT eval (int comp, const Dune::FieldVector< DT, n > &xi) const
 implement global evaluation with local evaluation
virtual RT eval (int comp, const Dune::FieldVector< DT, n > &x) const=0
 evaluate single component comp at global point x
virtual RT eval (int comp, const Dune::FieldVector< G::ctype, n > &x) const=0
 evaluate single component comp at global point x
virtual void evalall (const Dune::FieldVector< DT, n > &x, Dune::FieldVector< RT, m > &y) const=0
 evaluate all components at point x and store result in y
virtual void evalall (const Dune::FieldVector< GV::Grid::ctype, n > &x, Dune::FieldVector< RT, m > &y) const
 default implemention for evaluation of all components
virtual void evalall (const Dune::FieldVector< G::ctype, n > &x, Dune::FieldVector< RT, m > &y) const=0
 evaluate all components at point x and store result in y

Constructor & Destructor Documentation

template<class G, class RT, int m = 1>
Dune::LevelP1Function< G, RT, m >::LevelP1Function ( const G &  grid,
int  level,
bool  extendoverlap = false 
) [inline]

Constructor for a given grid.

Todo:
Please doc the third argument


Member Function Documentation

template<class GV, class RT, class LC, int m = 1>
virtual RT Dune::P1Function< GV, RT, LC, m >::derivative ( int  comp,
const Dune::FieldVector< int, n > &  d,
const Dune::FieldVector< DT, n > &  x 
) const [inline, virtual, inherited]

evaluate partial derivative

Evaluate partial derivative of a component of the vector-valued function.

Parameters:
[in] comp number of component that should be differentiated
[in] d vector giving order of derivative for each variable
[in] x position where derivative is to be evaluated
Returns:
value of the derivative
Todo:
Not implemented yet!

Implements Dune::DifferentiableFunction< G::ctype, RT, G::dimension, m >.

template<class DT, class RT, int n, int m>
virtual RT Dune::DifferentiableFunction< DT, RT, n, m >::derivative ( int  comp,
const Dune::FieldVector< int, n > &  d,
const Dune::FieldVector< DT, n > &  x 
) const [pure virtual, inherited]

evaluate partial derivative

Evaluate partial derivative of a component of the vector-valued function.

Parameters:
[in] comp number of component that should be differentiated
[in] d vector giving order of derivative for each variable
[in] x position where derivative is to be evaluated
Returns:
value of the derivative

Implemented in Dune::DifferentiableGridFunctionAdapter< G, RT, m >, Dune::DifferentiableFunctionDefault< DT, RT, n, m >, Dune::P1Function< GV, RT, LC, m >, Dune::GridFunctionGlobalDifferentiationDefault< GV, RT, 1 >, Dune::GridFunctionGlobalDifferentiationDefault< G::LeafGridView, RT, 1 >, Dune::GridFunctionGlobalDifferentiationDefault< G::LevelGridView, RT, 1 >, Dune::P1Function< G::LevelGridView, RT, Dune::LevelCommunicate< G >, m >, and Dune::P1Function< G::LeafGridView, RT, Dune::LeafCommunicate< G >, m >.

template<class GV, class RT, class LC, int m = 1>
virtual int Dune::P1Function< GV, RT, LC, m >::order (  )  const [inline, virtual, inherited]

return number of partial derivatives that can be taken

A DifferentiableFunction can say how many derivatives exist and can be safely evaluated.

Reimplemented from Dune::H1Function< GV::Grid::ctype, RT, GV::Grid::dimension, m >.

template<class GV, class RT, class LC, int m = 1>
virtual RT Dune::P1Function< GV, RT, LC, m >::evallocal ( int  comp,
const Entity &  e,
const Dune::FieldVector< DT, n > &  xi 
) const [inline, virtual, inherited]

evaluate single component comp in the entity e at local coordinates xi

Evaluate the function in an entity at local coordinates.

Parameters:
[in] comp number of component to be evaluated
[in] e reference to grid entity of codimension 0
[in] xi point in local coordinates of the reference element of e
Returns:
value of the component

virtual RT Dune::GridFunction< GV::Grid , RT , m >::evallocal ( int  comp,
const Entity &  e,
const Dune::FieldVector< DT, n > &  xi 
) const [pure virtual, inherited]

evaluate single component comp in the entity e at local coordinates xi

Evaluate the function in an entity at local coordinates.

Parameters:
[in] comp number of component to be evaluated
[in] e reference to grid entity of codimension 0
[in] xi point in local coordinates of the reference element of e
Returns:
value of the component

template<class G, class RT, int m>
virtual RT Dune::GridFunction< G, RT, m >::evallocal ( int  comp,
const Entity &  e,
const Dune::FieldVector< DT, n > &  xi 
) const [pure virtual, inherited]

evaluate single component comp in the entity e at local coordinates xi

Evaluate the function in an entity at local coordinates.

Parameters:
[in] comp number of component to be evaluated
[in] e reference to grid entity of codimension 0
[in] xi point in local coordinates of the reference element of e
Returns:
value of the component

Implemented in Dune::GridFunctionDefault< G, RT, m >, and Dune::GridFunctionDefault< G, RT, G::dimension >.

template<class GV, class RT, class LC, int m = 1>
virtual void Dune::P1Function< GV, RT, LC, m >::evalalllocal ( const Entity &  e,
const Dune::FieldVector< DT, G::dimension > &  xi,
Dune::FieldVector< RT, m > &  y 
) const [inline, virtual, inherited]

evaluate all components in the entity e at local coordinates xi

Evaluates all components of a function at once.

Parameters:
[in] e reference to grid entity of codimension 0
[in] xi point in local coordinates of the reference element of e
[out] y vector with values to be filled

virtual void Dune::GridFunction< GV::Grid , RT , m >::evalalllocal ( const Entity &  e,
const Dune::FieldVector< DT, GV::Grid ::dimension > &  xi,
Dune::FieldVector< RT , m > &  y 
) const [pure virtual, inherited]

evaluate all components in the entity e at local coordinates xi

Evaluates all components of a function at once.

Parameters:
[in] e reference to grid entity of codimension 0
[in] xi point in local coordinates of the reference element of e
[out] y vector with values to be filled

template<class G, class RT, int m>
virtual void Dune::GridFunction< G, RT, m >::evalalllocal ( const Entity &  e,
const Dune::FieldVector< DT, G::dimension > &  xi,
Dune::FieldVector< RT, m > &  y 
) const [pure virtual, inherited]

evaluate all components in the entity e at local coordinates xi

Evaluates all components of a function at once.

Parameters:
[in] e reference to grid entity of codimension 0
[in] xi point in local coordinates of the reference element of e
[out] y vector with values to be filled

Implemented in Dune::GridFunctionDefault< G, RT, m >, and Dune::GridFunctionDefault< G, RT, G::dimension >.

template<class GV, class RT, class LC, int m = 1>
virtual RT Dune::P1Function< GV, RT, LC, m >::derivativelocal ( int  comp,
const Dune::FieldVector< int, n > &  d,
const Entity &  e,
const Dune::FieldVector< DT, n > &  xi 
) const [inline, virtual, inherited]

evaluate derivative in local coordinates

Evaluate the partial derivative a the given position in local coordinates in an entity.

Parameters:
[in] comp number of component that should be differentiated
[in] d vector giving order of derivative for each variable
[in] e reference to grid entity of codimension 0
[in] xi point in local coordinates of the reference element of e
Returns:
value of the derivative

template<class G, class RT, int m>
virtual RT Dune::DifferentiableGridFunction< G, RT, m >::derivativelocal ( int  comp,
const Dune::FieldVector< int, n > &  d,
const Entity &  e,
const Dune::FieldVector< DT, n > &  xi 
) const [pure virtual, inherited]

evaluate derivative in local coordinates

Evaluate the partial derivative a the given position in local coordinates in an entity.

Parameters:
[in] comp number of component that should be differentiated
[in] d vector giving order of derivative for each variable
[in] e reference to grid entity of codimension 0
[in] xi point in local coordinates of the reference element of e
Returns:
value of the derivative

Implemented in Dune::DifferentiableGridFunctionDefault< G, RT, m >.

template<class GV, class RT, class LC, int m = 1>
void Dune::P1Function< GV, RT, LC, m >::interpolate ( const C0GridFunction< G, RT, m > &  u  )  [inline, inherited]

interpolate nodal values from a grid function

Lagrange interpolation of a P1 finite element function from given continuous grid function. Evaluation is done by visiting the vertices of each element and storing a bitvector of visited vertices.

Parameters:
[in] u a continuous grid function

template<class GV, class RT, class LC, int m = 1>
void Dune::P1Function< GV, RT, LC, m >::interpolate ( const P0Function< GV, RT, m > &  u  )  [inline, inherited]

Todo:
Please doc me!

template<class GV, class RT, class LC, int m = 1>
const RepresentationType& Dune::P1Function< GV, RT, LC, m >::operator * (  )  const [inline, inherited]

return const reference to coefficient vector

Dereferencing a finite element function returns the coefficient representation of the finite element function. This is the const version.

template<class GV, class RT, class LC, int m = 1>
RepresentationType& Dune::P1Function< GV, RT, LC, m >::operator * (  )  [inline, inherited]

return reference to coefficient vector

Dereferencing a finite element function returns the coefficient representation of the finite element function. This is the non-const version.

template<class GV, class RT, class LC, int m = 1>
void Dune::P1Function< GV, RT, LC, m >::preAdapt (  )  [inline, inherited]

empty method to maintain symmetry For vertex data nothing is required in preAdapt but for other finite element functions this method is necessary.

template<class GV, class RT, class LC, int m = 1>
void Dune::P1Function< GV, RT, LC, m >::postAdapt ( P1FunctionManager< G, RT > &  manager  )  [inline, inherited]

Initiate update process.

Call this method after the grid has been adapted. The representation is now updated to the new grid and the finite element function can be used on the new grid. However the data is not initialized. The old representation (with respect to the old grid) can still be accessed if it has been saved. It is deleted in endUpdate().

template<class GV, class RT, int m>
virtual RT Dune::GridFunctionGlobalEvalDefault< GV, RT, m >::eval ( int  comp,
const Dune::FieldVector< DT, n > &  xi 
) const [inline, virtual, inherited]

implement global evaluation with local evaluation

The local entity is searched via a hierarchic search

Parameters:
[in] comp number of component to be evaluated
[in] xi point in local coordinates of the reference element of e
Returns:
value of the component

template<class DT, class RT, int n, int m>
virtual RT Dune::FunctionBase< DT, RT, n, m >::eval ( int  comp,
const Dune::FieldVector< DT, n > &  x 
) const [pure virtual, inherited]

virtual RT Dune::FunctionBase< G::ctype , RT , n, m >::eval ( int  comp,
const Dune::FieldVector< G::ctype , n > &  x 
) const [pure virtual, inherited]

template<class DT, class RT, int n, int m>
virtual void Dune::FunctionBase< DT, RT, n, m >::evalall ( const Dune::FieldVector< DT, n > &  x,
Dune::FieldVector< RT, m > &  y 
) const [pure virtual, inherited]

evaluate all components at point x and store result in y

Evaluation function for all components at once.

Parameters:
[in] x position to be evaluated
[out] y result vector to be filled

Implemented in Dune::FunctionDefault< DT, RT, n, m >.

virtual void Dune::FunctionDefault< GV::Grid::ctype , RT , n, m >::evalall ( const Dune::FieldVector< GV::Grid::ctype , n > &  x,
Dune::FieldVector< RT , m > &  y 
) const [inline, virtual, inherited]

default implemention for evaluation of all components

Evaluate all components at once using componentwise evaluation function

Parameters:
[in] x position to be evaluated
[out] y result vector to be filled

virtual void Dune::FunctionBase< G::ctype , RT , n, m >::evalall ( const Dune::FieldVector< G::ctype , n > &  x,
Dune::FieldVector< RT , m > &  y 
) const [pure virtual, inherited]

evaluate all components at point x and store result in y

Evaluation function for all components at once.

Parameters:
[in] x position to be evaluated
[out] y result vector to be filled


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

Generated on 6 Jan 2009 with Doxygen (ver 1.5.1) [logfile].