DUNE-FEM (unstable)
LocalAnalyticalFunctionBinder binds a C++ local analytical function (and also its Jacobian and Hessian) to an object which provides all the methods and types needed by the LocalFunctionAdapter. It stores a copy as a std::function. More...
#include <dune/fem/function/common/localfunctionadapter.hh>
Public Types | |
| typedef EntityType::Geometry | Geometry | 
| type of geometry  | |
| typedef Geometry::ctype | ctype | 
| type of coordinate field  | |
| typedef std::decay_t< decltype(Dune::ReferenceElements< ctype, Geometry::coorddimension >::general(std::declval< const Dune::GeometryType & >())) > | ReferenceElementType | 
| type of reference element  | |
Public Member Functions | |
| LocalAnalyticalFunctionBinder (const AnalyticalFunctionType &f=[](const auto &, auto, const auto &){return RangeType(0.0);}, const AnalyticalJacobianType &j=[](const auto &, auto, const auto &){return JacobianRangeType(0.0);}, const AnalyticalHessianType &h=[](const auto &, auto, const auto &){return HessianRangeType(0.0);}, double t=0.0) | |
| constructor  | |
| AnalyticalFunctionType & | function () | 
| get local function  | |
| const AnalyticalFunctionType & | function () const | 
| get local function  | |
| AnalyticalJacobianType & | jacobian () | 
| get jacobian local function  | |
| const AnalyticalJacobianType & | jacobian () const | 
| get jacobian local function  | |
| AnalyticalHessianType & | hessian () | 
| get hessian local function  | |
| const AnalyticalHessianType & | hessian () const | 
| get hessian local function  | |
| template<class PointType > | |
| void | evaluate (const PointType &x, RangeType &ret) const | 
| evaluate local function  | |
| template<class PointType > | |
| void | jacobian (const PointType &x, JacobianRangeType &ret) const | 
| evaluate jacobian local function  | |
| template<class PointType > | |
| void | hessian (const PointType &x, HessianRangeType &ret) const | 
| evaluate hessian local function  | |
| void | init (const EntityType &entity) | 
| initialize entity  | |
| template<typename Arg > | |
| void | initialize (Arg &&, double time) | 
| initialize time  | |
| double | time () const | 
| get time  | |
| const Entity & | entity () const | 
| return entity  | |
| bool | valid () const | 
| return true if entity pointer is set  | |
| const Geometry & | geometry () const | 
| return geometry  | |
| Dune::GeometryType | type () const | 
| return geometry type  | |
| const ReferenceElementType & | referenceElement () const | 
| return reference element  | |
| void | bind (const EntityType &entity) | 
| set new entity object and geometry if enabled  | |
| void | unbind () | 
| release entity and geometry object  | |
Detailed Description
class Dune::Fem::LocalAnalyticalFunctionBinder< DiscreteFunctionSpaceImpl >
LocalAnalyticalFunctionBinder binds a C++ local analytical function (and also its Jacobian and Hessian) to an object which provides all the methods and types needed by the LocalFunctionAdapter. It stores a copy as a std::function.
Therefore, in order to transform the function
RangeType f(const DomainType& x,double t,const EntityType& entity) { // do stuff }
into a grid function, it is sufficient to pass it to the LocalAnalyticalFucntionBinder
typedef LocalAnalyticalFunctionBinder<DiscreteFunctionSpaceType> LocalAnalyticalFunctionType; LocalAnalyticalFunctionType localAnalyticalFunction(f);
and create the LocalFunctionAdapter
typedef LocalFunctionAdapter<LocalAnalyticalFunctionType> AdaptedFunctionType; AdaptedFunctionType fAdapted("adapted function",localAnalyticalFunction,gridPart);
The documentation for this class was generated from the following file:
- dune/fem/function/common/localfunctionadapter.hh
 
   | 
                                Legal Statements / Impressum  | 
                                Hosted by  TU Dresden & Uni Heidelberg  | 
				  generated with Hugo v0.111.3
								(Nov 3, 23:36, 2025)