DUNE-ACFEM (2.5.1)
modelexpression.hh
350 typename ExpressionResult<MinusOperation, typename ModelType::NeumannBoundaryFunctionType>::Type
353 typename ExpressionResult<MinusOperation, typename ModelType::DirichletBoundaryFunctionType>::Type
356 typename ExpressionResult<MinusOperation, typename ModelType::DirichletWeightFunctionType>::Type
509 : public DefaultModelTraits<typename LeftModel::FunctionSpaceType, typename LeftModel::GridPartType>
709 return "(" + std::to_string(parameterValue(scalar_())) + " " + BinOpType::name() + " " + model_().name() + ")";
808 typename ExpressionResult<BinOpType, FactorType, typename ModelType::BulkForcesFunctionType>::Type
811 typename ExpressionResult<BinOpType, FactorType, typename ModelType::NeumannBoundaryFunctionType>::Type
814 typename ExpressionResult<BinOpType, FactorType, typename ModelType::DirichletBoundaryFunctionType>::Type
817 typename ExpressionResult<BinOpType, FactorType, typename ModelType::DirichletWeightFunctionType>::Type
1091 operator*(const Fem::Function<typename FactorFunction::FunctionSpaceType::ScalarFunctionSpaceType, FactorFunction>& f_,
1106 const Fem::Function<typename FactorFunction::FunctionSpaceType::ScalarFunctionSpaceType, FactorFunction>& f_)
1292 const ModelInterface<BinaryModelExpression<SMultiplyOperation, typename Model::RangeFieldType, Model> >& m_)
1463 static_assert(std::is_same<ScalarSpace, typename FunctionSpace::ScalarFunctionSpaceType>::value,
1475 static_assert(std::is_same<ScalarSpace, typename FunctionSpace::ScalarFunctionSpaceType>::value,
BinaryGridFunctionExpression implements point-wise vector-space operations for GridFunction-types.
Definition: gridfunctionexpression.hh:423
Multiplication with grid-functions.
Definition: modelexpression.hh:913
DirichletWeightFunctionType dirichletWeightFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.
Definition: modelexpression.hh:997
InterfaceType::RangeType RangeType
range type (from function space)
Definition: modelexpression.hh:942
InterfaceType::JacobianRangeType JacobianRangeType
jacobian type (from function space)
Definition: modelexpression.hh:944
std::string name() const
Print a descriptive name for debugging and output.
Definition: modelexpression.hh:973
InterfaceType::DomainFieldType DomainFieldType
domain type (from function space)
Definition: modelexpression.hh:936
NeumannBoundaryFunctionType neumannBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Neumann boundary values as a Fem grid-function.
Definition: modelexpression.hh:1003
Dune::ACFem::BinaryModelExpression< MultiplyOperation, FactorFunction, ModelType >::neumannIndicator
NeumannIndicatorType neumannIndicator() const
Generate an object to identify parts of the boundary subject to Neumann boundary conditions.
Definition: modelexpression.hh:1014
DirichletBoundaryFunctionType dirichletBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.
Definition: modelexpression.hh:991
InterfaceType::DomainType DomainType
domain type (from function space)
Definition: modelexpression.hh:940
InterfaceType::GridPartType GridPartType
type of the grid-part we live on
Definition: modelexpression.hh:929
Dune::ACFem::BinaryModelExpression< MultiplyOperation, FactorFunction, ModelType >::HessianRangeType
InterfaceType::HessianRangeType HessianRangeType
hessian type (from function space)
Definition: modelexpression.hh:946
BulkForcesFunctionType bulkForcesFunction(const GridPartType &gridPart) const
Generate an instance of a class defining the bulk-forces the model is subject to.
Definition: modelexpression.hh:985
DirichletIndicatorType dirichletIndicator() const
Generate an object to identify parts of the boundary subject to Dirichlet boundary conditions.
Definition: modelexpression.hh:1009
InterfaceType::RangeFieldType RangeFieldType
range type (from function space)
Definition: modelexpression.hh:938
OperatorPartsType operatorParts() const
Return the integral kernels for the bilinear form.
Definition: modelexpression.hh:979
InterfaceType::EntityType EntityType
type of the codim-0 Entity from the GridPartType
Definition: modelexpression.hh:932
InterfaceType::FunctionSpaceType FunctionSpaceType
type of discrete function space
Definition: modelexpression.hh:926
DirichletIndicatorType dirichletIndicator() const
Generate an object to identify parts of the boundary subject to Dirichlet boundary conditions.
Definition: modelexpression.hh:757
std::string name() const
Print a descriptive name for debugging and output.
Definition: modelexpression.hh:707
Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::neumannBoundaryFunction
NeumannBoundaryFunctionType neumannBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Neumann boundary values as a Fem grid-function.
Definition: modelexpression.hh:751
InterfaceType::GridPartType GridPartType
type of the grid-part we live on
Definition: modelexpression.hh:663
InterfaceType::JacobianRangeType JacobianRangeType
jacobian type (from function space)
Definition: modelexpression.hh:678
InterfaceType::RangeType RangeType
range type (from function space)
Definition: modelexpression.hh:676
BulkForcesFunctionType bulkForcesFunction(const GridPartType &gridPart) const
Generate an instance of a class defining the bulk-forces the model is subject to.
Definition: modelexpression.hh:720
DirichletBoundaryFunctionType dirichletBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.
Definition: modelexpression.hh:736
NeumannIndicatorType neumannIndicator() const
Generate an object to identify parts of the boundary subject to Neumann boundary conditions.
Definition: modelexpression.hh:762
InterfaceType::RangeFieldType RangeFieldType
range type (from function space)
Definition: modelexpression.hh:672
OperatorPartsType operatorParts() const
Return the integral kernels for the bilinear form.
Definition: modelexpression.hh:713
InterfaceType::FunctionSpaceType FunctionSpaceType
type of discrete function space
Definition: modelexpression.hh:660
InterfaceType::DomainFieldType DomainFieldType
domain type (from function space)
Definition: modelexpression.hh:670
InterfaceType::DomainType DomainType
domain type (from function space)
Definition: modelexpression.hh:674
InterfaceType::HessianRangeType HessianRangeType
hessian type (from function space)
Definition: modelexpression.hh:680
Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::dirichletWeightFunction
DirichletWeightFunctionType dirichletWeightFunction(const GridPartType &gridPart) const
Generate an instance of a class defining a "left hand side" weight on the Dirichlet boundary conditio...
Definition: modelexpression.hh:745
InterfaceType::EntityType EntityType
type of the codim-0 Entity from the GridPartType
Definition: modelexpression.hh:666
TraitsType::template ForcesFunctionalTraits< DiscreteFunctionSpace >::FunctionalType forcesFunctional(const DiscreteFunctionSpace &space) const
Generate an instance of a class defining a functional which forms part of the force-terms for the mod...
Definition: modelexpression.hh:730
InterfaceType::FunctionSpaceType FunctionSpaceType
type of discrete function space
Definition: modelexpression.hh:381
BulkForcesFunctionType bulkForcesFunction(const GridPartType &gridPart) const
Generate an instance of a class defining the bulk-forces the model is subject to.
Definition: modelexpression.hh:445
InterfaceType::RangeFieldType RangeFieldType
range type (from function space)
Definition: modelexpression.hh:393
InterfaceType::DomainFieldType DomainFieldType
domain type (from function space)
Definition: modelexpression.hh:391
DirichletIndicatorType dirichletIndicator() const
Generate an object to identify parts of the boundary subject to Dirichlet boundary conditions.
Definition: modelexpression.hh:490
OperatorPartsType operatorParts() const
Return the integral kernels for the bilinear form.
Definition: modelexpression.hh:436
NeumannBoundaryFunctionType neumannBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Neumann boundary values as a Fem grid-function.
Definition: modelexpression.hh:482
InterfaceType::JacobianRangeType JacobianRangeType
jacobian type (from function space)
Definition: modelexpression.hh:399
InterfaceType::GridPartType GridPartType
type of the grid-part we live on
Definition: modelexpression.hh:384
InterfaceType::RangeType RangeType
range type (from function space)
Definition: modelexpression.hh:397
NeumannIndicatorType neumannIndicator() const
Generate an object to identify parts of the boundary subject to Neumann boundary conditions.
Definition: modelexpression.hh:495
TraitsType::template ForcesFunctionalTraits< DiscreteFunctionSpace >::FunctionalType forcesFunctional(const DiscreteFunctionSpace &space) const
Generate an instance of a class defining a functional which forms part of the force-terms for the mod...
Definition: modelexpression.hh:455
DirichletWeightFunctionType dirichletWeightFunction(const GridPartType &gridPart) const
Definition: modelexpression.hh:473
InterfaceType::DomainType DomainType
domain type (from function space)
Definition: modelexpression.hh:395
InterfaceType::EntityType EntityType
type of the codim-0 Entity from the GridPartType
Definition: modelexpression.hh:387
std::string name() const
Print a descriptive name for debugging and output.
Definition: modelexpression.hh:430
InterfaceType::HessianRangeType HessianRangeType
hessian type (from function space)
Definition: modelexpression.hh:401
DirichletBoundaryFunctionType dirichletBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.
Definition: modelexpression.hh:464
Interface class for a discrete linear functional.
Definition: linearfunctional.hh:52
Interface class for second order elliptic models.
Definition: modelinterface.hh:192
TraitsType::DirichletBoundaryFunctionType DirichletBoundaryFunctionType
A BoundarySupportedFunction which must be sub-ordinate to the DirichletIndicatorType.
Definition: modelinterface.hh:241
TraitsType::DirichletIndicatorType DirichletIndicatorType
A BoundarySupportedFunction which must be sub-ordinate to the DirichletIndicatorType.
Definition: modelinterface.hh:243
TraitsType::BulkForcesFunctionType BulkForcesFunctionType
A function modelling "force" terms in the bulk-phase.
Definition: modelinterface.hh:226
TraitsType::DirichletWeightFunctionType DirichletWeightFunctionType
A BoundarySupportedFunction which must be sub-ordinate to the DirichletIndicatorType.
Definition: modelinterface.hh:242
TraitsType::NeumannBoundaryFunctionType NeumannBoundaryFunctionType
A function modelling "force" terms in the bulk-phase.
Definition: modelinterface.hh:227
TraitsType::NeumannIndicatorType NeumannIndicatorType
A function modelling "force" terms in the bulk-phase.
Definition: modelinterface.hh:228
Parameters are quasi-constant quantities, like the time-step size in one time-step when solving trans...
Definition: parameterinterface.hh:80
Unary identity operation which simply wraps the underlying model.
Definition: modelexpression.hh:44
OperatorPartsType operatorParts() const
Return the integral kernels for the bilinear form.
Definition: modelexpression.hh:108
std::string name() const
Print a descriptive name for debugging and output.
Definition: modelexpression.hh:102
BulkForcesFunctionType bulkForcesFunction(const GridPartType &gridPart) const
Generate an instance of a class defining the bulk-forces the model is subject to.
Definition: modelexpression.hh:115
InterfaceType::RangeFieldType RangeFieldType
range type (from function space)
Definition: modelexpression.hh:68
InterfaceType::EntityType EntityType
type of the codim-0 Entity from the GridPartType
Definition: modelexpression.hh:62
NeumannIndicatorType neumannIndicator() const
Generate an object to identify parts of the boundary subject to Neumann boundary conditions.
Definition: modelexpression.hh:147
InterfaceType::FunctionSpaceType FunctionSpaceType
type of discrete function space
Definition: modelexpression.hh:56
InterfaceType::RangeType RangeType
range type (from function space)
Definition: modelexpression.hh:72
InterfaceType::GridPartType GridPartType
type of the grid-part we live on
Definition: modelexpression.hh:59
InterfaceType::HessianRangeType HessianRangeType
hessian type (from function space)
Definition: modelexpression.hh:76
InterfaceType::DomainFieldType DomainFieldType
domain type (from function space)
Definition: modelexpression.hh:66
InterfaceType::JacobianRangeType JacobianRangeType
jacobian type (from function space)
Definition: modelexpression.hh:74
DirichletIndicatorType dirichletIndicator() const
Generate an object to identify parts of the boundary subject to Dirichlet boundary conditions.
Definition: modelexpression.hh:142
NeumannBoundaryFunctionType neumannBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Neumann boundary values as a Fem grid-function.
Definition: modelexpression.hh:136
InterfaceType::DomainType DomainType
domain type (from function space)
Definition: modelexpression.hh:70
ModelType ContainedExpressionType
type of the contained expression
Definition: modelexpression.hh:53
DirichletBoundaryFunctionType dirichletBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.
Definition: modelexpression.hh:130
TraitsType::template ForcesFunctionalTraits< DiscreteFunctionSpace >::FunctionalType forcesFunctional(const DiscreteFunctionSpace &space) const
Generate an instance of a class defining a functional which forms part of the force-terms for the mod...
Definition: modelexpression.hh:123
Unary minus.
Definition: modelexpression.hh:193
DirichletWeightFunctionType dirichletWeightFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.
Definition: modelexpression.hh:288
TraitsType::template ForcesFunctionalTraits< DiscreteFunctionSpace >::FunctionalType forcesFunctional(const DiscreteFunctionSpace &space) const
Generate an instance of a class defining a functional which forms part of the force-terms for the mod...
Definition: modelexpression.hh:274
DirichletBoundaryFunctionType dirichletBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.
Definition: modelexpression.hh:281
InterfaceType::EntityType EntityType
type of the codim-0 Entity from the GridPartType
Definition: modelexpression.hh:211
InterfaceType::RangeType RangeType
range type (from function space)
Definition: modelexpression.hh:221
InterfaceType::DomainFieldType DomainFieldType
domain type (from function space)
Definition: modelexpression.hh:215
InterfaceType::FunctionSpaceType FunctionSpaceType
type of discrete function space
Definition: modelexpression.hh:205
NeumannIndicatorType neumannIndicator() const
Generate an object to identify parts of the boundary subject to Neumann boundary conditions.
Definition: modelexpression.hh:305
InterfaceType::HessianRangeType HessianRangeType
hessian type (from function space)
Definition: modelexpression.hh:225
ModelType ContainedExpressionType
type of the contained expression
Definition: modelexpression.hh:202
BulkForcesFunctionType bulkForcesFunction(const GridPartType &gridPart) const
Generate an instance of a class defining the bulk-forces the model is subject to.
Definition: modelexpression.hh:266
InterfaceType::DomainType DomainType
domain type (from function space)
Definition: modelexpression.hh:219
InterfaceType::RangeFieldType RangeFieldType
range type (from function space)
Definition: modelexpression.hh:217
DirichletIndicatorType dirichletIndicator() const
Generate an object to identify parts of the boundary subject to Dirichlet boundary conditions.
Definition: modelexpression.hh:300
std::string name() const
Print a descriptive name for debugging and output.
Definition: modelexpression.hh:253
InterfaceType::GridPartType GridPartType
type of the grid-part we live on
Definition: modelexpression.hh:208
InterfaceType::JacobianRangeType JacobianRangeType
jacobian type (from function space)
Definition: modelexpression.hh:223
OperatorPartsType operatorParts() const
Return the integral kernels for the bilinear form.
Definition: modelexpression.hh:259
NeumannBoundaryFunctionType neumannBoundaryFunction(const GridPartType &gridPart) const
Generate an instance of a class defining Neumann boundary values as a Fem grid-function.
Definition: modelexpression.hh:294
Define a simple zero model to optimize expression templates.
Definition: zeromodel.hh:28
const Implementation & asImp(const Fem::BartonNackmanInterface< Interface, Implementation > &arg)
Up-cast to the implementation for any Fem::BartonNackmanInterface.
Definition: expressionoperations.hh:71
auto operator-(const ZeroModel< FunctionSpace, GridPart > &z1, const ZeroModel< FunctionSpace, GridPart > &z2) -> decltype(*z1)
Zero - Zero = Zero.
Definition: modelexpression.hh:1409
auto operator+(const ZeroModel< FunctionSpace, GridPart > &z1, const ZeroModel< FunctionSpace, GridPart > &z2) -> decltype(*z1)
Zero + Zero = Zero.
Definition: modelexpression.hh:1379
ParameterValue< Value >::ResultType parameterValue(const Value &value)
Return the unaltered argument for non-parameters and otherwise the parameter value.
Definition: parameterinterface.hh:263
BinaryParameterExpression< MultiplyOperation, Left, Right > operator*(const ParameterInterface< Left > &left, const ParameterInterface< Right > &right)
Scalar product between parameters.
Definition: parameterexpression.hh:321
Wrap an existing GridFunction into a model which only conatains this ModelConstituent.
Definition: bulkforcesmodel.hh:42
A structure defining some trivial default values for the template structure ModelTraits<ModelType>,...
Definition: modelinterface.hh:57
EmptyBoundaryIndicatorType NeumannIndicatorType
Something satisfying the BoundaryIndicatorInterface.
Definition: modelinterface.hh:138
EmptyBoundaryIndicatorType DirichletIndicatorType
Something satisfying the BoundaryIndicatorInterface.
Definition: modelinterface.hh:80
Automatically deduce the type by applying the respective operation.
Definition: expressionoperations.hh:476
Wrap an existing DiscreteLinearFunctional into a model which only conatains this ModelConstituent.
Definition: forcesfunctionalmodel.hh:42
Identity, i.e. just wrap the object.
Definition: expressionoperations.hh:284
Subtraction of two objects and unary minus.
Definition: expressionoperations.hh:239
Traits-template which has to be specialized for each individual model.
Definition: modelinterface.hh:48
Multiplication by scalars from the left.
Definition: expressionoperations.hh:257
![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/80x15.png)