DUNE-ACFEM (2.5.1)
Multiplication with grid-functions. More...
#include <dune/acfem/models/modelexpression.hh>
Public Member Functions | |
std::string | name () const |
Print a descriptive name for debugging and output. More... | |
OperatorPartsType | operatorParts () const |
Return the integral kernels for the bilinear form. | |
BulkForcesFunctionType | bulkForcesFunction (const GridPartType &gridPart) const |
Generate an instance of a class defining the bulk-forces the model is subject to. More... | |
DirichletBoundaryFunctionType | dirichletBoundaryFunction (const GridPartType &gridPart) const |
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function. More... | |
DirichletWeightFunctionType | dirichletWeightFunction (const GridPartType &gridPart) const |
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function. More... | |
NeumannBoundaryFunctionType | neumannBoundaryFunction (const GridPartType &gridPart) const |
Generate an instance of a class defining Neumann boundary values as a Fem grid-function. More... | |
DirichletIndicatorType | dirichletIndicator () const |
Generate an object to identify parts of the boundary subject to Dirichlet boundary conditions. More... | |
NeumannIndicatorType | neumannIndicator () const |
Generate an object to identify parts of the boundary subject to Neumann boundary conditions. More... | |
TraitsType::template ForcesFunctionalTraits< DiscreteFunctionSpace >::FunctionalType | forcesFunctional (const DiscreteFunctionSpace &space) const |
const ExpressionType & | expression () const |
Return a const reference to the underlying expression. | |
ExpressionType & | expression () |
Return a mutable reference to the underlying expression. | |
ExpressionType | operator* () const |
Return a copy from of the underlying expression. | |
Detailed Description
class Dune::ACFem::BinaryModelExpression< MultiplyOperation, FactorFunction, ModelType >
Multiplication with grid-functions.
The implementation makes sure that the fluxDivergence() method correctly takes the derivatives of the factor functions into account.
- Note
- We specialize the expression-class explicitly because the recurse to the static methods of the expression-operations class just does not make this stuff less complicated. Instead we define the s-multiplication expression explicitly here.
- We only define the class for multiplication with scalars from the left and define multiplication and division from the right via the operator functions (given that multiplication is commutative, which is not correct for complicated expressions when taking round-off errors into account.
ALSO NOTE: Dirichlet boundary values do not change when multiplying the model with a (intentionally non-zero) factor.
- Bug:
- Due to a bug in the ModelInterface the localFactor_ has to be tagged as "mutable".
Member Function Documentation
◆ bulkForcesFunction()
|
inline |
Generate an instance of a class defining the bulk-forces the model is subject to.
The return object is a Fem grid-function. This can be used for the case where the "right hand side" is an L2-function.
References Dune::ACFem::BinaryModelExpression< BinOp, LeftModelType, RightModelType >::bulkForcesFunction().
◆ dirichletBoundaryFunction()
|
inline |
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.
References Dune::ACFem::BinaryModelExpression< BinOp, LeftModelType, RightModelType >::dirichletBoundaryFunction().
◆ dirichletIndicator()
|
inline |
Generate an object to identify parts of the boundary subject to Dirichlet boundary conditions.
The return value has to obey the BoundaryIndicatorInterface.
◆ dirichletWeightFunction()
|
inline |
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.
References Dune::ACFem::BinaryModelExpression< BinOp, LeftModelType, RightModelType >::dirichletWeightFunction().
◆ forcesFunctional()
|
inlineinherited |
Generate an instance of a class defining a functional which forms part of the force-terms for the model.
◆ name()
|
inline |
Print a descriptive name for debugging and output.
◆ neumannBoundaryFunction()
|
inline |
Generate an instance of a class defining Neumann boundary values as a Fem grid-function.
References Dune::ACFem::BinaryModelExpression< BinOp, LeftModelType, RightModelType >::neumannBoundaryFunction().
◆ neumannIndicator()
|
inline |
Generate an object to identify parts of the boundary subject to Neumann boundary conditions.
The return value has to obey the BoundaryIndicatorInterface.
The documentation for this class was generated from the following file:
- dune/acfem/models/modelexpression.hh