|
typedef InterfaceType::FunctionSpaceType | FunctionSpaceType |
| type of discrete function space
|
|
typedef InterfaceType::GridPartType | GridPartType |
| type of the grid-part we live on
|
|
typedef InterfaceType::EntityType | EntityType |
| type of the codim-0 Entity from the GridPartType
|
|
typedef InterfaceType::DomainFieldType | DomainFieldType |
| domain type (from function space)
|
|
typedef InterfaceType::RangeFieldType | RangeFieldType |
| range type (from function space)
|
|
typedef InterfaceType::DomainType | DomainType |
| domain type (from function space)
|
|
typedef InterfaceType::RangeType | RangeType |
| range type (from function space)
|
|
typedef InterfaceType::JacobianRangeType | JacobianRangeType |
| jacobian type (from function space)
|
|
typedef InterfaceType::HessianRangeType | HessianRangeType |
| hessian type (from function space)
|
|
typedef Expression | ExpressionType |
| The type of the underlying expression.
|
|
|
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.
|
|
template<class FactorFunction, class ModelType>
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".