DUNE-ACFEM (2.5.1)

Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType > Class Template Reference

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

#include <dune/acfem/models/operatorparts/operatorpartsexpression.hh>

+ Collaboration diagram for Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >:

Public Types

typedef InterfaceType::FunctionSpaceType FunctionSpaceType
 type of discrete function space
 
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)
 
enum  StructureFlags
 
enum  ConstituentFlags
 
typedef Expression ExpressionType
 The type of the underlying expression.
 

Public Member Functions

template<class Entity >
void setEntity (const Entity &entity) const
 
template<class Intersection >
bool setIntersection (const Intersection &intersection) const
 
std::string name () const
 
template<class Entity , class Point >
void flux (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) const
 flux on local coordinate local
 
template<class Entity , class Point >
void linearizedFlux (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) const
 linearizedflux
 
template<class Entity , class Point >
void source (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const
 source term
 
template<class Entity , class Point >
void linearizedSource (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const
 linearized source term
 
template<class Intersection , class Point >
void robinFlux (const Intersection &intersection, const Point &x, const DomainType &unitOuterNormal, const RangeType &value, RangeType &result) const
 
template<class Intersection , class Point >
void linearizedRobinFlux (const RangeType &uBar, const Intersection &intersection, const Point &x, const DomainType &unitOuterNormal, const RangeType &value, RangeType &result) const
 
template<class Entity , class Point >
void fluxDivergence (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, const HessianRangeType &hessian, RangeType &result) const
 fluxDivergence for estimator
 
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 OperandType>
class Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >

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 Enumeration Documentation

◆ ConstituentFlags

◆ StructureFlags

Member Function Documentation

◆ linearizedRobinFlux()

template<class Factor , class OperandType >
template<class Intersection , class Point >
void Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::linearizedRobinFlux ( const RangeType uBar,
const Intersection &  intersection,
const Point &  x,
const DomainType unitOuterNormal,
const RangeType value,
RangeType result 
) const
inline

◆ name()

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

◆ robinFlux()

template<class Factor , class OperandType >
template<class Intersection , class Point >
void Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::robinFlux ( const Intersection &  intersection,
const Point &  x,
const DomainType unitOuterNormal,
const RangeType value,
RangeType result 
) const
inline

◆ setEntity()

template<class Factor , class OperandType >
template<class Entity >
void Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::setEntity ( const Entity &  entity) const
inline

◆ setIntersection()

template<class Factor , class OperandType >
template<class Intersection >
bool Dune::ACFem::BinaryOperatorPartsExpression< SMultiplyOperation, Factor, OperandType >::setIntersection ( const Intersection &  intersection) const
inline


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)