DUNE-ACFEM (2.5.1)

Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType > Class Template Reference

S-multiplication with numbers (see below for S-multiplication with grid-functions). More...

#include <dune/acfem/models/modelexpression.hh>

+ Collaboration diagram for Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >:

Public Types

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.
 

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...
 
template<class DiscreteFunctionSpace >
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 model. 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 a "left hand side" weight on the Dirichlet boundary conditions, DefaultModelTraits::DirichletWeightFunctionType. 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...
 
const ExpressionTypeexpression () const
 Return a const reference to the underlying expression.
 
ExpressionTypeexpression ()
 Return a mutable reference to the underlying expression.
 
ExpressionType operator* () const
 Return a copy from of the underlying expression.
 

Detailed Description

template<class Factor, class ModelType>
class Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >

S-multiplication with numbers (see below for S-multiplication with grid-functions).

This handles also multiplication with Parameter-classes.

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.

ALSO NOTE: 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.

Member Function Documentation

◆ bulkForcesFunction()

template<class Factor , class ModelType >
BulkForcesFunctionType Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::bulkForcesFunction ( const GridPartType gridPart) const
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.

◆ dirichletBoundaryFunction()

template<class Factor , class ModelType >
DirichletBoundaryFunctionType Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::dirichletBoundaryFunction ( const GridPartType gridPart) const
inline

Generate an instance of a class defining Dirichlet boundary values as a Fem grid-function.

◆ dirichletIndicator()

template<class Factor , class ModelType >
DirichletIndicatorType Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::dirichletIndicator ( ) const
inline

Generate an object to identify parts of the boundary subject to Dirichlet boundary conditions.

The return value has to obey the BoundaryIndicatorInterface.

◆ dirichletWeightFunction()

template<class Factor , class ModelType >
DirichletWeightFunctionType Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::dirichletWeightFunction ( const GridPartType gridPart) const
inline

Generate an instance of a class defining a "left hand side" weight on the Dirichlet boundary conditions, DefaultModelTraits::DirichletWeightFunctionType.

◆ forcesFunctional()

template<class Factor , class ModelType >
template<class DiscreteFunctionSpace >
TraitsType::template ForcesFunctionalTraits<DiscreteFunctionSpace>::FunctionalType Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::forcesFunctional ( const DiscreteFunctionSpace &  space) const
inline

Generate an instance of a class defining a functional which forms part of the force-terms for the model.

◆ name()

template<class Factor , class ModelType >
std::string Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::name ( ) const
inline

Print a descriptive name for debugging and output.

References Dune::ACFem::parameterValue().

◆ neumannBoundaryFunction()

template<class Factor , class ModelType >
NeumannBoundaryFunctionType Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::neumannBoundaryFunction ( const GridPartType gridPart) const
inline

Generate an instance of a class defining Neumann boundary values as a Fem grid-function.

◆ neumannIndicator()

template<class Factor , class ModelType >
NeumannIndicatorType Dune::ACFem::BinaryModelExpression< SMultiplyOperation, Factor, ModelType >::neumannIndicator ( ) const
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:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 5, 22:29, 2024)