DUNE-FEM (unstable)

GridFunctionAdapter

Classes

class  Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >
 BasicGridFunctionAdapter provides local functions for a Function. More...
 
struct  Dune::Fem::BasicGridFunctionAdapterTraits< FunctionImp, GridPartImp >
 traits of GridFunctionAdapter More...
 

Typedefs

typedef GridPartType::template Codim< 0 >::IteratorType Dune::Fem::BasicGridFunctionAdapterTraits< FunctionImp, GridPartImp >::IteratorType
 type of iterator
 
typedef GridPartType::IndexSetType Dune::Fem::BasicGridFunctionAdapterTraits< FunctionImp, GridPartImp >::IndexSetType
 type of IndexSet
 
typedef BasicGridFunctionAdapterTraits< FunctionImp, GridPartImp > Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::Traits
 type of traits
 
typedef std::decay_t< FunctionImp > Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::FunctionType
 type of function
 
typedef GridPartImp Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::GridPartType
 type of grid part
 
typedef Traits::DiscreteFunctionSpaceType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::DiscreteFunctionSpaceType
 type of discrete function space
 
typedef DiscreteFunctionSpaceType::GridType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::GridType
 type of grid
 
typedef DiscreteFunctionSpaceType::DomainFieldType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::DomainFieldType
 domain type (from function space)
 
typedef DiscreteFunctionSpaceType::RangeFieldType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::RangeFieldType
 range type (from function space)
 
typedef DiscreteFunctionSpaceType::DomainType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::DomainType
 domain type (from function space)
 
typedef DiscreteFunctionSpaceType::RangeType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::RangeType
 range type (from function space)
 
typedef DiscreteFunctionSpaceType::JacobianRangeType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::JacobianRangeType
 jacobian type (from function space)
 
typedef Traits::EntityType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::EntityType
 type of codim 0 entity
 
typedef LocalFunction Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunctionType
 type of local function to export
 
typedef Traits::FunctionSpaceType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::FunctionSpaceType
 function space type
 
typedef FunctionSpaceType::DomainFieldType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::DomainFieldType
 domain field type (from function space)
 
typedef FunctionSpaceType::RangeFieldType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::RangeFieldType
 range field type (from function space)
 
typedef FunctionSpaceType::DomainType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::DomainType
 domain type (from function space)
 
typedef FunctionSpaceType::RangeType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::RangeType
 range type (from function space)
 
typedef FunctionSpaceType::JacobianRangeType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::JacobianRangeType
 jacobian type (from function space)
 
typedef FunctionSpaceType::HessianRangeType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::HessianRangeType
 hessian type (from function space)
 
typedef Traits::EntityType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::EntityType
 entity type
 
typedef EntityType::Geometry::LocalCoordinate Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::LocalCoordinateType
 local coordinate type
 
typedef ConvertedType::DiscreteFunctionSpaceType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::DiscreteFunctionSpaceType
 type of discrete function space
 
typedef DiscreteFunctionSpaceType::GridType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::GridType
 type of grid
 
typedef DiscreteFunctionSpaceType::DomainFieldType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::DomainFieldType
 domain type (from function space)
 
typedef DiscreteFunctionSpaceType::RangeFieldType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::RangeFieldType
 range type (from function space)
 
typedef DiscreteFunctionSpaceType::DomainType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::DomainType
 domain type (from function space)
 
typedef DiscreteFunctionSpaceType::RangeType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::RangeType
 range type (from function space)
 
typedef DiscreteFunctionSpaceType::JacobianRangeType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::JacobianRangeType
 jacobian type (from function space)
 
typedef GridPartType::template Codim< 0 >::EntityType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::EntityType
 type of codim 0 entity
 
typedef ConvertedType::LocalFunctionType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::LocalFunctionType
 type of local function to export
 

Functions

void Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::evaluate (const DomainType &global, RangeType &result) const
 evaluate function on local coordinate local
 
void Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::jacobian (const DomainType &global, JacobianRangeType &result) const
 evaluate function on local coordinate local
 
LocalFunctionType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::localFunction (const EntityType &entity)
 obtain a local function for an entity (read-write) More...
 
const LocalFunctionType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::localFunction (const EntityType &entity) const
 obtain a local function for an entity (read-write) More...
 
const std::string & Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::name () const
 obtain the name of the discrete function More...
 
const DiscreteFunctionSpaceTypeDune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::space () const
 obtain a reference to the corresponding DiscreteFunctionSpace More...
 
int Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::order () const
 return true, probably
 
bool Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::continuous () const
 return true, probably
 
 Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::LocalFunction (const EntityType &entity, const DiscreteFunctionType &df)
 constructor initializing local function
 
 Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::LocalFunction (const LocalFunction &other)=default
 copy constructor
 
template<class PointType >
void Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::evaluate (const PointType &x, RangeType &ret) const
 evaluate local function
 
template<class PointType >
void Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::jacobian (const PointType &x, JacobianRangeType &ret) const
 jacobian of local function
 
template<class PointType >
void Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::hessian (const PointType &x, HessianRangeType &ret) const
 hessian of local function
 
template<class QuadratureType , class ... Vectors>
void Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::evaluateQuadrature (const QuadratureType &quadrature, Vectors &... values) const
 evaluate function or jacobian of function for given quadrature
 
void Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::init (const EntityType &entity)
 init local function
 
template<class Function , class GridPart >
static GridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter (std::string name, const Function &function, const GridPart &gridPart, unsigned int order)
 convert a function to a grid function More...
 
template<class Function , class GridPart >
static GridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter (const Function &function, const GridPart &gridPart, unsigned int order)
 convert a function to a grid function More...
 
template<class Function , class GridPart >
static GridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter (std::string name, Function &function, const GridPart &gridPart, unsigned int order)
 convert a function to a grid function More...
 
template<class Function , class GridPart >
static GridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter (Function &function, const GridPart &gridPart, unsigned int order)
 convert a function to a grid function More...
 
template<class Function , class GridPart >
static BasicGridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter (std::string name, Function &&function, const GridPart &gridPart, unsigned int order)
 convert a function to a grid function More...
 
template<class Function , class GridPart >
static BasicGridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter (Function &&function, const GridPart &gridPart, unsigned int order)
 convert a function to a grid function More...
 
 Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::ConvertToGridFunction (const std::string &name, const FunctionImp &function, const GridPartType &gridPart)
 constructor
 
void Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::evaluate (const DomainType &global, RangeType &result) const
 evaluate function on local coordinate local
 
const LocalFunctionType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::localFunction (const EntityType &entity) const
 obtain a local function for an entity (read-write) More...
 
LocalFunctionType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::localFunction (const EntityType &entity)
 obtain a local function for an entity (read-write) More...
 
const std::string & Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::name () const
 obtain the name of the discrete function More...
 

Variables

static const int Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::dimDomain = GridPart::GridType::dimensionworld
 domain dimension (from function space)
 
static const int Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::dimRange = FunctionSpaceType::dimRange
 range dimension (from function space)
 
static const int Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::LocalFunction::dimLocal = LocalCoordinateType::dimension
 local dimension
 

Detailed Description

To plug an analytical function into a operator taking discrete functions, i.e., expecting local functions a wrapper can be applied to the analytical function instance. The resulting class is still a Function but with the property " has local function " added.

Function Documentation

◆ gridFunctionAdapter() [1/6]

template<class Function , class GridPart >
static GridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter ( const Function function,
const GridPart &  gridPart,
unsigned int  order 
)
inlinestatic

convert a function to a grid function

Parameters
[in]functionfunction to convert
[in]gridPartgrid part to restrict the domain to
[in]orderpolynomial order to report
Note
This version accepts only lvalue references. The grid function only references the original function.

◆ gridFunctionAdapter() [2/6]

template<class Function , class GridPart >
static BasicGridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter ( Function &&  function,
const GridPart &  gridPart,
unsigned int  order 
)
inlinestatic

convert a function to a grid function

Parameters
[in]functionfunction to convert
[in]gridPartgrid part to restrict the domain to
[in]orderpolynomial order to report
Note
This version accepts only rvalue references. The original function is move-constructed into the grid function.

Referenced by Dune::Fem::gridFunctionAdapter().

◆ gridFunctionAdapter() [3/6]

template<class Function , class GridPart >
static GridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter ( Function function,
const GridPart &  gridPart,
unsigned int  order 
)
inlinestatic

convert a function to a grid function

Parameters
[in]functionfunction to convert
[in]gridPartgrid part to restrict the domain to
[in]orderpolynomial order to report
Note
This version accepts only lvalue references. The grid function only references the original function.

References Dune::Fem::gridFunctionAdapter().

◆ gridFunctionAdapter() [4/6]

template<class Function , class GridPart >
static GridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter ( std::string  name,
const Function function,
const GridPart &  gridPart,
unsigned int  order 
)
inlinestatic

convert a function to a grid function

Parameters
[in]namename of the grid function
[in]functionfunction to convert
[in]gridPartgrid part to restrict the domain to
[in]orderpolynomial order to report
Note
This version accepts only lvalue references. The grid function only references the original function.

◆ gridFunctionAdapter() [5/6]

template<class Function , class GridPart >
static BasicGridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter ( std::string  name,
Function &&  function,
const GridPart &  gridPart,
unsigned int  order 
)
inlinestatic

convert a function to a grid function

Parameters
[in]namename of the grid function
[in]functionfunction to convert
[in]gridPartgrid part to restrict the domain to
[in]orderpolynomial order to report
Note
This version accepts only rvalue references. The original function is move-constructed into the grid function.

◆ gridFunctionAdapter() [6/6]

template<class Function , class GridPart >
static GridFunctionAdapter< Function, GridPart > Dune::Fem::gridFunctionAdapter ( std::string  name,
Function function,
const GridPart &  gridPart,
unsigned int  order 
)
inlinestatic

convert a function to a grid function

Parameters
[in]namename of the grid function
[in]functionfunction to convert
[in]gridPartgrid part to restrict the domain to
[in]orderpolynomial order to report
Note
This version accepts only lvalue references. The grid function only references the original function.

References Dune::Fem::gridFunctionAdapter().

◆ localFunction() [1/4]

template<class FunctionImp , class GridPartImp >
LocalFunctionType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::localFunction ( const EntityType entity)
inline

obtain a local function for an entity (read-write)

Parameters
[in]entityEntity to focus view of discrete function
Returns
a local function associated with the entity

◆ localFunction() [2/4]

template<class FunctionImp , class GridPartImp >
LocalFunctionType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::localFunction ( const EntityType entity)
inline

obtain a local function for an entity (read-write)

Parameters
[in]entityEntity to focus view of discrete function
Returns
a local function associated with the entity

◆ localFunction() [3/4]

template<class FunctionImp , class GridPartImp >
const LocalFunctionType Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::localFunction ( const EntityType entity) const
inline

obtain a local function for an entity (read-write)

Parameters
[in]entityEntity to focus view of discrete function
Returns
a local function associated with the entity

◆ localFunction() [4/4]

template<class FunctionImp , class GridPartImp >
const LocalFunctionType Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::localFunction ( const EntityType entity) const
inline

obtain a local function for an entity (read-write)

Parameters
[in]entityEntity to focus view of discrete function
Returns
a local function associated with the entity

◆ name() [1/2]

template<class FunctionImp , class GridPartImp >
const std::string & Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::name ( ) const
inline

obtain the name of the discrete function

Returns
string holding name of discrete function

◆ name() [2/2]

template<class FunctionImp , class GridPartImp >
const std::string & Dune::Fem::ConvertToGridFunction< FunctionImp, GridPartImp >::name ( ) const
inline

obtain the name of the discrete function

Returns
string holding name of discrete function

◆ space()

template<class FunctionImp , class GridPartImp >
const DiscreteFunctionSpaceType & Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >::space ( ) const
inline
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 20, 23:30, 2024)