DUNE-ACFEM (2.5.1)
Convenience classes in order to form Fem::Function objects for analytical functions. More...
Modules | |
Building Blocks | |
A couple of elementary grid functions which can be combined using GridFunctionExpressions. | |
BoundaryFunctions | |
Combine ordinary GridFunctions with BoundaryIndicators in order to support "complicated" boundary conditions. | |
GridFunctionWrapper | |
Augment global functions by a HasLocalFunction property. | |
GridFunctionTests | |
Typedefs | |
typedef F::EntityType | Dune::ACFem::BoundaryFunctionTraits< F, false >::EntityType |
Type of Entity. | |
typedef GridPartType::IntersectionType | Dune::ACFem::BoundaryFunctionTraits< F, false >::IntersectionType |
Type of Intersection. | |
typedef LocalFunction | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunctionType |
Type of local function to export. | |
typedef std::decay< decltype(*std::declval< Indicator >()&&*std::declval< InnerIndicatorType >())>::type | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::IndicatorType |
Resulting Boundary indicator type. | |
typedef GridFunction | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::GridFunctionType |
Type of wrapped grid-function. | |
typedef DiscreteFunctionSpaceType::GridType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::GridType |
type of grid | |
typedef DiscreteFunctionSpaceType::DomainFieldType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::DomainFieldType |
domain type (from function space) | |
typedef DiscreteFunctionSpaceType::RangeFieldType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::RangeFieldType |
range type (from function space) | |
typedef DiscreteFunctionSpaceType::DomainType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::DomainType |
domain type (from function space) | |
typedef DiscreteFunctionSpaceType::RangeType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::RangeType |
range type (from function space) | |
typedef DiscreteFunctionSpaceType::JacobianRangeType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::JacobianRangeType |
jacobian type (from function space) | |
typedef DiscreteFunctionSpaceType::HessianRangeType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::HessianRangeType |
hessian type (from function space) | |
typedef DiscreteFunctionSpaceType::DomainFieldType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::DomainFieldType |
domain type (from function space) | |
typedef DiscreteFunctionSpaceType::RangeFieldType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::RangeFieldType |
range type (from function space) | |
typedef DiscreteFunctionSpaceType::DomainType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::DomainType |
domain type (from function space) | |
typedef DiscreteFunctionSpaceType::RangeType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::RangeType |
range type (from function space) | |
typedef DiscreteFunctionSpaceType::JacobianRangeType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::JacobianRangeType |
jacobian type (from function space) | |
typedef DiscreteFunctionSpaceType::HessianRangeType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::HessianRangeType |
hessian type (from function space) | |
Enumerations | |
enum | { Dune::ACFem::BoundaryFunctionTraits< F, true >::hasBoundarySupport = true } |
enum | { Dune::ACFem::BoundaryFunctionTraits< F, false >::hasBoundarySupport = false } |
enum | { Dune::ACFem::BoundaryFunctionTraits< F, false >::emptySupport = false , Dune::ACFem::BoundaryFunctionTraits< F, false >::globalSupport = true } |
Functions | |
static void | Dune::ACFem::BoundaryFunctionTraits< F, true >::init (LocalFunctionType &lf, const EntityType &entity, const IntersectionType &intersection) |
For BoundarySupportedFunction's we pass the intersection as well as the bulk entity on to the local function's init-method. More... | |
static bool | Dune::ACFem::BoundaryFunctionTraits< F, true >::supported (const LocalFunctionType &lf) |
Decide if we are supported on this IntersectionType. More... | |
static F::IndicatorType | Dune::ACFem::BoundaryFunctionTraits< F, true >::indicator (const F &f) |
Return the underlying BoundarySupportedFunction's indicator. | |
static void | Dune::ACFem::BoundaryFunctionTraits< F, false >::init (LocalFunctionType &lf, const EntityType &entity, const IntersectionType &intersection) |
Call the ordinary init-method for not BoundarySupportedFunction's. | |
static bool | Dune::ACFem::BoundaryFunctionTraits< F, false >::supported (const LocalFunctionType &lf) |
Not boundary-supported: implicity everywhere supported. | |
static IndicatorType | Dune::ACFem::BoundaryFunctionTraits< F, false >::indicator (const F &ignored) |
Not boundary-supported: implicity everywhere supported. | |
void | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::evaluate (const DomainType &global, RangeType &result) const |
evaluate function on local coordinate local | |
void | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::jacobian (const DomainType &global, JacobianRangeType &result) const |
evaluate function on local coordinate local | |
void | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::hessian (const DomainType &global, HessianRangeType &result) const |
evaluate function on local coordinate local | |
const LocalFunctionType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::localFunction (const EntityType &entity) const |
Generate an ordinary local-function object which is ignorant of the value of the boundary-indicator, but supplies an init() method which can be used to make it indicator aware. More... | |
LocalFunctionType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::localFunction (const EntityType &entity) |
Generate an ordinary local-function object which is ignorant of the value of the boundary-indicator, but supplies an init() method which can be used to make it indicator aware. More... | |
const LocalFunctionType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::localFunction (const EntityType &entity, const IntersectionType &intersection) const |
Initialize a wrapped local function object for the given intersection. More... | |
LocalFunctionType | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::localFunction (const EntityType &entity, const IntersectionType &intersection) |
Initialize a wrapped local function object for the given intersection. More... | |
Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::LocalFunction (const EntityType &entity, const DiscreteFunctionType &df) | |
Bulk entity constructor. | |
Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::LocalFunction (const DiscreteFunctionType &df) | |
Bulk entity constructor. | |
Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::LocalFunction (const EntityType &entity, const IntersectionType &intersection, const DiscreteFunctionType &df) | |
Boundary intersection constructor. | |
template<class PointType > | |
void | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::evaluate (const PointType &x, RangeType &ret) const |
Evaluate local function. More... | |
template<class PointType > | |
void | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::jacobian (const PointType &x, JacobianRangeType &ret) const |
Evaluate Jacobian of local function. More... | |
template<class PointType > | |
void | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::hessian (const PointType &x, HessianRangeType &ret) const |
Evaluate Hessian of local function. More... | |
template<class QuadratureType , class VectorType > | |
void | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::evaluateQuadrature (const QuadratureType &quadrature, VectorType &values) const |
evaluate function or jacobian of function for given quadrature | |
int | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::order () const |
Return a bound on or suggestion for the piece-wise polynomial order. | |
void | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::init (const EntityType &entity) |
Bulk-entity initialization. | |
void | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::init (const EntityType &entity, const IntersectionType &isect) |
Intersection initialization. | |
bool | Dune::ACFem::BoundarySupportedFunction< GridFunction, Indicator >::LocalFunction::supported () const |
Return true if potentially non-zero. More... | |
template<class GridFunction1 , class GridFunction2 > | |
LocalFunctionWrapper< LocalMaxAdapter< GridFunction1, GridFunction2 >, typename GridFunction1::GridPartType > | Dune::ACFem::max (const Fem::Function< typename GridFunction1::FunctionSpaceType, GridFunction1 > &f1, const Fem::Function< typename GridFunction2::FunctionSpaceType, GridFunction2 > &f2, const std::string &name="") |
Pointwise maximum of two given functions. | |
template<class GridFunction1 > | |
LocalFunctionWrapper< LocalMaxAdapter< GridFunction1, ConstantGridFunction< typename GridFunction1::FunctionSpaceType, typename GridFunction1::GridPartType > >, typename GridFunction1::GridPartType > | Dune::ACFem::max (const Fem::Function< typename GridFunction1::FunctionSpaceType, GridFunction1 > &f1, const typename GridFunction1::FunctionSpaceType::RangeType value2, const std::string &name="") |
Pointwise maximum of two given functions where one is given by a RangeType value. | |
template<class GridFunction > | |
LocalFunctionWrapper< LocalNormAdapter< GridFunction, 2 >, typename GridFunction::GridPartType > | Dune::ACFem::twoNorm (const Fem::Function< typename GridFunction::FunctionSpaceType, GridFunction > &f, const std::string &name="") |
Pointwise euclidean norm of a given function. | |
Detailed Description
Convenience classes in order to form Fem::Function objects for analytical functions.
This extends the Fem::GridFunctionAdapter and forms also copyable function objects which then can conveniently be inserted into expression templates. See GridFunctionExpressions.
Enumeration Type Documentation
◆ anonymous enum
◆ anonymous enum
◆ anonymous enum
anonymous enum |
Function Documentation
◆ evaluate()
|
inline |
Evaluate local function.
Evaluate to zero if the boundary indicator does not apply. If emptySupport == true then always evaluate to zero.
◆ hessian()
|
inline |
Evaluate Hessian of local function.
Evaluate to zero if the boundary indicator does not apply. If emptySupport == true then always evaluate to zero.
◆ init()
|
inlinestatic |
For BoundarySupportedFunction's we pass the intersection as well as the bulk entity on to the local function's init-method.
Note that passing intersection.inside() is inherently dangerous as that is only a copy.
◆ jacobian()
|
inline |
Evaluate Jacobian of local function.
Evaluate to zero if the boundary indicator does not apply. If emptySupport == true then always evaluate to zero.
◆ localFunction() [1/4]
|
inline |
Generate an ordinary local-function object which is ignorant of the value of the boundary-indicator, but supplies an init() method which can be used to make it indicator aware.
better call localFunction(const IntersectionTyp&) directly.
◆ localFunction() [2/4]
|
inline |
Generate an ordinary local-function object which is ignorant of the value of the boundary-indicator, but supplies an init() method which can be used to make it indicator aware.
better call localFunction(const IntersectionTyp&) directly.
Referenced by gridWalkTest().
◆ localFunction() [3/4]
|
inline |
Initialize a wrapped local function object for the given intersection.
The resulting LocalFunction object will take the boundary indicator value into account.
◆ localFunction() [4/4]
|
inline |
Initialize a wrapped local function object for the given intersection.
The resulting LocalFunction object will take the boundary indicator value into account.
◆ supported() [1/2]
|
inline |
Return true
if potentially non-zero.
The state may be undefined unless init(const
IntersectionType&) or the proper intersection initializer has been called. At any rate, if globalSupport == true
then true
is returned. If emptySupport == true
then false is returned.
◆ supported() [2/2]
|
inlinestatic |
Decide if we are supported on this IntersectionType.
Optimized for global/empty support.
