DUNE-FEM (unstable)

Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp > Class Template Reference

BasicGridFunctionAdapter provides local functions for a Function. More...

#include <dune/fem/function/common/gridfunctionadapter.hh>

Public Types

typedef BasicGridFunctionAdapterTraits< FunctionImp, GridPartImp > Traits
 type of traits
 
typedef std::decay_t< FunctionImp > FunctionType
 type of function
 
typedef GridPartImp GridPartType
 type of grid part
 
typedef Traits::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 type of discrete function space
 
typedef DiscreteFunctionSpaceType::GridType GridType
 type of grid
 
typedef DiscreteFunctionSpaceType::DomainFieldType DomainFieldType
 domain type (from function space)
 
typedef DiscreteFunctionSpaceType::RangeFieldType RangeFieldType
 range type (from function space)
 
typedef DiscreteFunctionSpaceType::DomainType DomainType
 domain type (from function space)
 
typedef DiscreteFunctionSpaceType::RangeType RangeType
 range type (from function space)
 
typedef DiscreteFunctionSpaceType::JacobianRangeType JacobianRangeType
 jacobian type (from function space)
 
typedef Traits::EntityType EntityType
 type of codim 0 entity
 
typedef LocalFunction LocalFunctionType
 type of local function to export
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 hessian type
 
typedef Mapping< DomainFieldType, RangeFieldType, DomainType, RangeTypeMappingType
 type of mapping base class
 

Public Member Functions

void evaluate (const DomainType &global, RangeType &result) const
 evaluate function on local coordinate local
 
void jacobian (const DomainType &global, JacobianRangeType &result) const
 evaluate function on local coordinate local
 
LocalFunctionType localFunction (const EntityType &entity)
 obtain a local function for an entity (read-write) More...
 
const LocalFunctionType localFunction (const EntityType &entity) const
 obtain a local function for an entity (read-write) More...
 
const std::string & name () const
 obtain the name of the discrete function More...
 
const DiscreteFunctionSpaceTypespace () const
 obtain a reference to the corresponding DiscreteFunctionSpace More...
 
int order () const
 return true, probably
 
bool continuous () const
 return true, probably
 
virtual void operator() (const DomainType &arg, RangeType &dest) const
 application operator call evaluate More...
 
void operator() (const DomainType &arg, RangeType &dest) const
 Application operator that applies all operators in the linear combination stack. More...
 
void evaluate (const DomainType &x, RangeType &value) const
 evaluate the function More...
 
void jacobian (const DomainType &x, JacobianRangeType &jacobian) const
 evaluate the Jacobian of the function More...
 
void hessian (const DomainType &x, HessianRangeType &hessian) const
 evaluate the hessian of the function More...
 

Related Functions

(Note that these are not member functions.)

static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeTypeoperator+ (const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &a, const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &b)
 add two mappings More...
 
static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeTypeoperator- (const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &a, const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &b)
 substract two mappings More...
 
static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeTypeoperator* (const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &mapping, const std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType &factor)
 scale mapping with factor More...
 
static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeTypeoperator* (const std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType &factor, const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &mapping)
 scale mapping with factor More...
 
static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeTypeoperator/ (const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &mapping, const std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType &factor)
 operator / for mappings More...
 
static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeTypeoperator/ (const std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType &factor, const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType, std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType, std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &mapping)
 operator / for mappings More...
 

Detailed Description

template<class FunctionImp, class GridPartImp>
class Dune::Fem::BasicGridFunctionAdapter< FunctionImp, GridPartImp >

BasicGridFunctionAdapter provides local functions for a Function.

Member Function Documentation

◆ evaluate()

void Dune::Fem::Function< std::decay_t< FunctionImp >::FunctionSpaceType , BasicGridFunctionAdapter< FunctionImp, GridPartImp > >::evaluate ( const DomainType x,
RangeType value 
) const
inlineinherited

evaluate the function

Parameters
[in]xevaluation point
[out]valuevalue of the function in x

◆ hessian()

void Dune::Fem::Function< std::decay_t< FunctionImp >::FunctionSpaceType , BasicGridFunctionAdapter< FunctionImp, GridPartImp > >::hessian ( const DomainType x,
HessianRangeType hessian 
) const
inlineinherited

evaluate the hessian of the function

Parameters
[in]xevaluation point
[out]hessianvalue of the hessian in x

◆ jacobian()

void Dune::Fem::Function< std::decay_t< FunctionImp >::FunctionSpaceType , BasicGridFunctionAdapter< FunctionImp, GridPartImp > >::jacobian ( const DomainType x,
JacobianRangeType jacobian 
) const
inlineinherited

evaluate the Jacobian of the function

Parameters
[in]xevaluation point
[out]jacobianvalue of the Jacobian in x

◆ operator()() [1/2]

virtual void Dune::Fem::Function< std::decay_t< FunctionImp >::FunctionSpaceType , BasicGridFunctionAdapter< FunctionImp, GridPartImp > >::operator() ( const DomainType arg,
RangeType dest 
) const
inlinevirtualinherited

application operator call evaluate

Parameters
[in]argargument
[out]destdestination, i.e. f(arg)

◆ operator()() [2/2]

void Dune::Fem::Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType >::operator() ( const DomainType arg,
RangeType dest 
) const
inlineinherited

Application operator that applies all operators in the linear combination stack.

Parameters
[in]argargument
[out]destdestination

Friends And Related Function Documentation

◆ operator*() [1/2]

static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > operator* ( const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &  mapping,
const std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType factor 
)
related

scale mapping with factor

Parameters
[in]mappingMapping which is scaled
[in]factorfactor with which mapping is scaled
Returns
new object mapping

◆ operator*() [2/2]

static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > operator* ( const std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType factor,
const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &  mapping 
)
related

scale mapping with factor

Parameters
[in]factorfactor with which mapping is scaled
[in]mappingMapping which is scaled
Returns
new object mapping

◆ operator+()

static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > operator+ ( const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &  a,
const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &  b 
)
related

add two mappings

Parameters
[in]amapping 1
[in]bmapping 2
Returns
new object mapping

◆ operator-()

static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > operator- ( const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &  a,
const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &  b 
)
related

substract two mappings

Parameters
[in]amapping 1
[in]bmapping 2
Returns
new object mapping

◆ operator/() [1/2]

static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > operator/ ( const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &  mapping,
const std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType factor 
)
related

operator / for mappings

Parameters
[in]mappingmapping which is divided
[in]factorf factor by which result of mapping is divided
Returns
new object mapping

◆ operator/() [2/2]

static Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > operator/ ( const std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType factor,
const Mapping< std::decay_t< FunctionImp >::FunctionSpaceType ::DomainFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeFieldType , std::decay_t< FunctionImp >::FunctionSpaceType ::DomainType , std::decay_t< FunctionImp >::FunctionSpaceType ::RangeType > &  mapping 
)
related

operator / for mappings

Parameters
[in]factorby which result of mapping is divided
[in]mappingwhich is divided
Returns
new object mapping

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.111.3 (Nov 13, 23:29, 2024)