DUNE-ACFEM (2.5.1)

Dune::ACFem::LocalFunctionWrapper< LocalFunctionImpl, GridPart > Class Template Reference

LocalFunctionWrapper wraps a class with a local evaluate method into a grid function. More...

#include <dune/acfem/functions/localfunctionwrapper.hh>

+ Collaboration diagram for Dune::ACFem::LocalFunctionWrapper< LocalFunctionImpl, GridPart >:

Public Types

typedef LocalFunctionImpl LocalFunctionImplType
 Evaluate class.
 
typedef GridPart GridPartType
 type of grid part
 
typedef LocalFunctionWrapperTraits< LocalFunctionImplType, GridPartTypeTraitsType
 traits class
 
typedef TraitsType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 type of discrete function space
 
typedef TraitsType::GridType GridType
 type of grid
 
typedef TraitsType::DomainFieldType DomainFieldType
 domain type
 
typedef TraitsType::RangeFieldType RangeFieldType
 range type
 
typedef TraitsType::DomainType DomainType
 domain type
 
typedef TraitsType::RangeType RangeType
 range type
 
typedef TraitsType::JacobianRangeType JacobianRangeType
 jacobian type
 
typedef TraitsType::HessianRangeType HessianRangeType
 hessian type
 
typedef TraitsType::EntityType EntityType
 type of codim 0 entity
 
typedef LocalFunction LocalFunctionType
 type of local function to export
 
typedef ExpressionImp ExpressionType
 The type of the underlying expression.
 

Public Member Functions

 LocalFunctionWrapper (const std::string &name, const LocalFunctionImplType &eval, const GridPartType &gridPart, unsigned int order=DiscreteFunctionSpaceType::polynomialOrder)
 constructer taking instance of EvalImp class
 
void evaluate (const DomainType &global, RangeType &result) const
 Evaluate function in global coordinates.
 
void jacobian (const DomainType &global, JacobianRangeType &result) const
 Evaluate jacobian in global coordinates.
 
void hessian (const DomainType &global, HessianRangeType &result) const
 Evaluate hessian in global coordinates.
 
LocalFunctionType localFunction (const EntityType &entity)
 
const LocalFunctionType localFunction (const EntityType &entity) const
 
void setName (const std::string &newName)
 Supply a descriptive name for the function. More...
 
const std::string & name () const
 Return a descriptive name for the function. More...
 
const std::string & expressionName () const
 Return a lengthy descriptive name for the underlying algebraic expression.
 
const ExpressionTypeexpression () const
 Return a const reference to the underlying expression.
 
ExpressionTypeexpression ()
 Return a mutable reference to the underlying expression.
 
ExpressionType operator* () const
 Return a copy from of the underlying expression.
 

Detailed Description

template<class LocalFunctionImpl, class GridPart>
class Dune::ACFem::LocalFunctionWrapper< LocalFunctionImpl, GridPart >

LocalFunctionWrapper wraps a class with a local evaluate method into a grid function.

The class takes one template argument EvalImp which holds the evaluate method for the local function: template<class PointType> EvalImp::evaluate(const PointType& x,RangeType& val) Required type in LocalFunctionImpl are: FunctionSpaceType which is derived from the functionspace interface provides and provides the RangeType GridPartType providing the EntityType An instance of the EvalImp class is passed to the constructor of the wrapper and the entity to process is passed to a method init on EvalImp.

Member Function Documentation

◆ name()

const std::string& Dune::ACFem::GridFunctionExpression< LocalFunctionImpl::FunctionSpaceType , LocalFunctionWrapper< LocalFunctionImpl, GridPart > , ExpressionTemplate >::name ( ) const
inlineinherited

Return a descriptive name for the function.

If set by setName(), return that user-supplied name. Otherwise return a (lengthy) auto-generated name describing the underlying algebraic expression.

◆ setName()

void Dune::ACFem::GridFunctionExpression< LocalFunctionImpl::FunctionSpaceType , LocalFunctionWrapper< LocalFunctionImpl, GridPart > , ExpressionTemplate >::setName ( const std::string &  newName)
inlineinherited

Supply a descriptive name for the function.

This name will also be stored in the VTK files. It should be a "valid variable name".


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 3, 22:32, 2024)