DUNE-ACFEM (2.5.1)
boundarysupportedfunction.hh
66 };
142 };
158 };
232 : public BoundaryFunctionTraits<GridFunction>::template ProductIndicator<Indicator>::ExpressionBaseType,
427 emptySupport = DiscreteFunctionType::emptySupport,
430 };
A simple interface class for a boundary-indicator.
Definition: boundaryindicator.hh:41
LocalFunction object which takes the value of a indicator into account.
Definition: boundarysupportedfunction.hh:417
A function with potentially partial support on the boundary.
Definition: boundarysupportedfunction.hh:234
static void trimParenthesis(std::string &name)
Remove any outer redundant parenthesis.
Definition: stringhelper.hh:40
const Implementation & asImp(const Fem::BartonNackmanInterface< Interface, Implementation > &arg)
Up-cast to the implementation for any Fem::BartonNackmanInterface.
Definition: expressionoperations.hh:71
BoundarySupportedFunction< GridFunction, Indicator > boundarySupportedFunction(const Fem::Function< typename GridFunction::FunctionSpaceType, GridFunction > &f, const BoundaryIndicatorInterface< Indicator > &c=EntireBoundaryIndicatorType())
Generate a function with partial support on the boundary.
Definition: boundarysupportedfunction.hh:604
static void 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 f...
Definition: boundarysupportedfunction.hh:109
DiscreteFunctionSpaceType::HessianRangeType HessianRangeType
hessian type (from function space)
Definition: boundarysupportedfunction.hh:283
LocalFunction(const EntityType &entity, const DiscreteFunctionType &df)
Bulk entity constructor.
Definition: boundarysupportedfunction.hh:457
DiscreteFunctionSpaceType::RangeType RangeType
range type (from function space)
Definition: boundarysupportedfunction.hh:279
void hessian(const PointType &x, HessianRangeType &ret) const
Evaluate Hessian of local function.
Definition: boundarysupportedfunction.hh:521
GridPartType::IntersectionType IntersectionType
Type of Intersection.
Definition: boundarysupportedfunction.hh:153
const LocalFunctionType localFunction(const EntityType &entity, const IntersectionType &intersection) const
Initialize a wrapped local function object for the given intersection.
Definition: boundarysupportedfunction.hh:355
static bool supported(const LocalFunctionType &lf)
Decide if we are supported on this IntersectionType.
Definition: boundarysupportedfunction.hh:118
DiscreteFunctionSpaceType::DomainFieldType DomainFieldType
domain type (from function space)
Definition: boundarysupportedfunction.hh:444
LocalFunctionType localFunction(const EntityType &entity, const IntersectionType &intersection)
Initialize a wrapped local function object for the given intersection.
Definition: boundarysupportedfunction.hh:365
static IndicatorType indicator(const F &ignored)
Not boundary-supported: implicity everywhere supported.
Definition: boundarysupportedfunction.hh:194
bool supported() const
Return true if potentially non-zero.
Definition: boundarysupportedfunction.hh:578
void jacobian(const PointType &x, JacobianRangeType &ret) const
Evaluate Jacobian of local function.
Definition: boundarysupportedfunction.hh:505
void init(const EntityType &entity)
Bulk-entity initialization.
Definition: boundarysupportedfunction.hh:545
DiscreteFunctionSpaceType::RangeFieldType RangeFieldType
range type (from function space)
Definition: boundarysupportedfunction.hh:446
LocalFunctionType localFunction(const EntityType &entity)
Generate an ordinary local-function object which is ignorant of the value of the boundary-indicator,...
Definition: boundarysupportedfunction.hh:346
DiscreteFunctionSpaceType::RangeFieldType RangeFieldType
range type (from function space)
Definition: boundarysupportedfunction.hh:275
void jacobian(const DomainType &global, JacobianRangeType &result) const
evaluate function on local coordinate local
Definition: boundarysupportedfunction.hh:310
DiscreteFunctionSpaceType::JacobianRangeType JacobianRangeType
jacobian type (from function space)
Definition: boundarysupportedfunction.hh:452
DiscreteFunctionSpaceType::DomainType DomainType
domain type (from function space)
Definition: boundarysupportedfunction.hh:277
void init(const EntityType &entity, const IntersectionType &isect)
Intersection initialization.
Definition: boundarysupportedfunction.hh:552
LocalFunction(const DiscreteFunctionType &df)
Bulk entity constructor.
Definition: boundarysupportedfunction.hh:465
int order() const
Return a bound on or suggestion for the piece-wise polynomial order.
Definition: boundarysupportedfunction.hh:539
LocalFunction LocalFunctionType
Type of local function to export.
Definition: boundarysupportedfunction.hh:246
DiscreteFunctionSpaceType::HessianRangeType HessianRangeType
hessian type (from function space)
Definition: boundarysupportedfunction.hh:454
void evaluateQuadrature(const QuadratureType &quadrature, VectorType &values) const
evaluate function or jacobian of function for given quadrature
Definition: boundarysupportedfunction.hh:532
const LocalFunctionType localFunction(const EntityType &entity) const
Generate an ordinary local-function object which is ignorant of the value of the boundary-indicator,...
Definition: boundarysupportedfunction.hh:335
F::EntityType EntityType
Type of Entity.
Definition: boundarysupportedfunction.hh:150
static void init(LocalFunctionType &lf, const EntityType &entity, const IntersectionType &intersection)
Call the ordinary init-method for not BoundarySupportedFunction's.
Definition: boundarysupportedfunction.hh:180
void hessian(const DomainType &global, HessianRangeType &result) const
evaluate function on local coordinate local
Definition: boundarysupportedfunction.hh:320
void evaluate(const DomainType &global, RangeType &result) const
evaluate function on local coordinate local
Definition: boundarysupportedfunction.hh:300
GridFunction GridFunctionType
Type of wrapped grid-function.
Definition: boundarysupportedfunction.hh:262
DiscreteFunctionSpaceType::GridType GridType
type of grid
Definition: boundarysupportedfunction.hh:270
void evaluate(const PointType &x, RangeType &ret) const
Evaluate local function.
Definition: boundarysupportedfunction.hh:489
DiscreteFunctionSpaceType::RangeType RangeType
range type (from function space)
Definition: boundarysupportedfunction.hh:450
static bool supported(const LocalFunctionType &lf)
Not boundary-supported: implicity everywhere supported.
Definition: boundarysupportedfunction.hh:188
static F::IndicatorType indicator(const F &f)
Return the underlying BoundarySupportedFunction's indicator.
Definition: boundarysupportedfunction.hh:126
DiscreteFunctionSpaceType::JacobianRangeType JacobianRangeType
jacobian type (from function space)
Definition: boundarysupportedfunction.hh:281
std::decay< decltype(*std::declval< Indicator >()&&*std::declval< InnerIndicatorType >())>::type IndicatorType
Resulting Boundary indicator type.
Definition: boundarysupportedfunction.hh:253
DiscreteFunctionSpaceType::DomainType DomainType
domain type (from function space)
Definition: boundarysupportedfunction.hh:448
DiscreteFunctionSpaceType::DomainFieldType DomainFieldType
domain type (from function space)
Definition: boundarysupportedfunction.hh:273
LocalFunction(const EntityType &entity, const IntersectionType &intersection, const DiscreteFunctionType &df)
Boundary intersection constructor.
Definition: boundarysupportedfunction.hh:473
Helper traits in order to treat function w/o dedicated boundary support in the same way,...
Definition: boundarysupportedfunction.hh:52
A traits class in order to collect properties of expressions.
Definition: expressionoperations.hh:465
Tag-structure to indicate additional functionality.
Definition: boundarysupportedfunction.hh:35
Negative tag-structure for use with std::conditional, complementary to HasBoundarySupport.
Definition: boundarysupportedfunction.hh:41
![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/80x15.png)