Loading...
Searching...
No Matches
GeometricFieldExpression.H File Reference

Expression templates for GeometricFields. More...

Include dependency graph for GeometricFieldExpression.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  GeometricFieldExpression< E, IntExpr, UncoupledPatchExpr, CoupledPatchExpr, Type >
 Expression of GeometricField. More...
class  GeometricFieldRefWrap< GeoField >
 Expression wrap of non-const reference to GeometricField. More...
class  GeometricFieldConstRefWrap< GeoField >
 Expression wrap of const reference to GeometricField. More...
class  GeometricFieldConstTmpWrap< GeoField >
 Expression wrap of const tmp to GeometricField. More...
class  GF_add< E1, E2 >
class  GF_sin< E1 >
 GeometricField expressions. More...
class  GF_cos< E1 >
class  GF_tan< E1 >
class  GF_sinh< E1 >
class  GF_cosh< E1 >
class  GF_tanh< E1 >
class  GF_sqr< E1 >
class  GF_sqrt< E1 >
class  GF_magSqr< E1 >
class  GF_mag< E1 >
class  GF_symm< E1 >
class  GF_pow2< E1 >
class  GF_pow3< E1 >
class  GF_pow4< E1 >
class  GF_min< E1, E2 >
class  GF_max< E1, E2 >
class  GF_subtract< E1, E2 >
class  GF_multiply< E1, E2 >
class  GF_divide< E1, E2 >
class  GF_dot< E1, E2 >
class  UniformGeometricFieldWrap< GeoField, Type >
class  UniformGeometricFieldWrap2< T >

Namespaces

namespace  Foam
 Namespace for OpenFOAM.
namespace  Foam::Expression
 A namespace for expression templates.

Macros

#define EXPRESSION_GF_FUNCTION1_DIMLESS(Func, BaseFunc, WrapType, OpFunc)
#define EXPRESSION_GF_FUNCTION1(Func, BaseFunc, WrapType, OpFunc)
#define EXPRESSION_GF_OPERATOR(Op, WrapType, OpFunc)
#define EXPRESSION_GF_FUNCTION2(Func, BaseFunc, WrapType, OpFunc)

Typedefs

typedef ListConstRefWrap< typename Expr::value_type > expr
 Fully self-contained constant field wrapper. Not needed?
typedef ListRefWrap< typename Expr::value_type > evaluator
 Evaluator of an expression.

Functions

template<typename E1, typename E2>
auto operator+ (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricFieldExpression< E2, typename E2::IntExpr, typename E2::UncoupledPatchExpr, typename E2::CoupledPatchExpr, typename E2::value_type > const &v)
template<typename E1, class Type, template< class > class PatchField, class GeoMesh>
auto operator+ (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricField< Type, PatchField, GeoMesh > const &v)
template<typename E1, class Type, template< class > class PatchField, class GeoMesh>
auto operator+ (GeometricField< Type, PatchField, GeoMesh > const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator+ (GeometricField< Type1, PatchField, GeoMesh > const &u, GeometricField< Type2, PatchField, GeoMesh > const &v)
template<class Type, template< class > class PatchField, class GeoMesh>
auto operator+ (GeometricField< Type, PatchField, GeoMesh > const &u, const dimensioned< Type > &v)
template<class Type, template< class > class PatchField, class GeoMesh>
auto operator+ (const dimensioned< Type > &u, GeometricField< Type, PatchField, GeoMesh > const &v)
template<typename E1>
auto sin (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto sin (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto cos (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto cos (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto tan (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto tan (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto sinh (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto sinh (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto cosh (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto cosh (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto tanh (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto tanh (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto sqr (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto sqr (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto sqrt (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto sqrt (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto magSqr (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto magSqr (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto mag (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto mag (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto symm (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto symm (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto pow2 (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto pow2 (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto pow3 (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto pow3 (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1>
auto pow4 (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto pow4 (GeometricField< Type, PatchField, GeoMesh > const &fld)
template<typename E1, typename E2>
auto min (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricFieldExpression< E2, typename E2::IntExpr, typename E2::UncoupledPatchExpr, typename E2::CoupledPatchExpr, typename E2::value_type > const &v)
template<typename E1, class Type, template< class > class PatchField, class GeoMesh>
auto min (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricField< Type, PatchField, GeoMesh > const &fld)
template<class Type, template< class > class PatchField, class GeoMesh, typename E1>
auto min (GeometricField< Type, PatchField, GeoMesh > const &fld, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto min (GeometricField< Type, PatchField, GeoMesh > const &u, GeometricField< Type, PatchField, GeoMesh > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto min (GeometricField< Type1, PatchField, GeoMesh > const &u, dimensioned< Type2 > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto min (dimensioned< Type2 > const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<typename E1, class Type>
auto min (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, dimensioned< Type > const &v)
template<typename E1, class Type>
auto min (dimensioned< Type > const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<typename E1, typename E2>
auto max (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricFieldExpression< E2, typename E2::IntExpr, typename E2::UncoupledPatchExpr, typename E2::CoupledPatchExpr, typename E2::value_type > const &v)
template<typename E1, class Type, template< class > class PatchField, class GeoMesh>
auto max (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricField< Type, PatchField, GeoMesh > const &fld)
template<class Type, template< class > class PatchField, class GeoMesh, typename E1>
auto max (GeometricField< Type, PatchField, GeoMesh > const &fld, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type, template< class > class PatchField, class GeoMesh>
auto max (GeometricField< Type, PatchField, GeoMesh > const &u, GeometricField< Type, PatchField, GeoMesh > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto max (GeometricField< Type1, PatchField, GeoMesh > const &u, dimensioned< Type2 > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto max (dimensioned< Type2 > const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<typename E1, class Type>
auto max (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, dimensioned< Type > const &v)
template<typename E1, class Type>
auto max (dimensioned< Type > const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<typename E1, typename E2>
auto operator- (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricFieldExpression< E2, typename E2::IntExpr, typename E2::UncoupledPatchExpr, typename E2::CoupledPatchExpr, typename E2::value_type > const &v)
template<typename E1, class Type, template< class > class PatchField, class GeoMesh>
auto operator- (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricField< Type, PatchField, GeoMesh > const &fld)
template<class Type, template< class > class PatchField, class GeoMesh, typename E1>
auto operator- (GeometricField< Type, PatchField, GeoMesh > const &fld, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator- (GeometricField< Type1, PatchField, GeoMesh > const &u, GeometricField< Type2, PatchField, GeoMesh > const &v)
template<typename E1, class Type>
auto operator- (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, dimensioned< Type > const &v)
template<typename E1, class Type>
auto operator- (dimensioned< Type > const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator- (GeometricField< Type1, PatchField, GeoMesh > const &u, Type2 const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator- (Type2 const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator- (GeometricField< Type1, PatchField, GeoMesh > const &u, dimensioned< Type2 > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator- (dimensioned< Type2 > const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<class E1, class Type2, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator- (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, Type2 const &v)
template<class E1, class Type2, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator- (Type2 const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<typename E1, typename E2>
auto operator* (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricFieldExpression< E2, typename E2::IntExpr, typename E2::UncoupledPatchExpr, typename E2::CoupledPatchExpr, typename E2::value_type > const &v)
template<typename E1, class Type, template< class > class PatchField, class GeoMesh>
auto operator* (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricField< Type, PatchField, GeoMesh > const &fld)
template<class Type, template< class > class PatchField, class GeoMesh, typename E1>
auto operator* (GeometricField< Type, PatchField, GeoMesh > const &fld, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator* (GeometricField< Type1, PatchField, GeoMesh > const &u, GeometricField< Type2, PatchField, GeoMesh > const &v)
template<typename E1, class Type>
auto operator* (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, dimensioned< Type > const &v)
template<typename E1, class Type>
auto operator* (dimensioned< Type > const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator* (GeometricField< Type1, PatchField, GeoMesh > const &u, Type2 const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator* (Type2 const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator* (GeometricField< Type1, PatchField, GeoMesh > const &u, dimensioned< Type2 > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator* (dimensioned< Type2 > const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<class E1, class Type2, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator* (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, Type2 const &v)
template<class E1, class Type2, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator* (Type2 const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<typename E1, typename E2>
auto operator/ (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricFieldExpression< E2, typename E2::IntExpr, typename E2::UncoupledPatchExpr, typename E2::CoupledPatchExpr, typename E2::value_type > const &v)
template<typename E1, class Type, template< class > class PatchField, class GeoMesh>
auto operator/ (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricField< Type, PatchField, GeoMesh > const &fld)
template<class Type, template< class > class PatchField, class GeoMesh, typename E1>
auto operator/ (GeometricField< Type, PatchField, GeoMesh > const &fld, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator/ (GeometricField< Type1, PatchField, GeoMesh > const &u, GeometricField< Type2, PatchField, GeoMesh > const &v)
template<typename E1, class Type>
auto operator/ (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, dimensioned< Type > const &v)
template<typename E1, class Type>
auto operator/ (dimensioned< Type > const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator/ (GeometricField< Type1, PatchField, GeoMesh > const &u, Type2 const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator/ (Type2 const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator/ (GeometricField< Type1, PatchField, GeoMesh > const &u, dimensioned< Type2 > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator/ (dimensioned< Type2 > const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<class E1, class Type2, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator/ (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, Type2 const &v)
template<class E1, class Type2, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator/ (Type2 const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<typename E1, typename E2>
auto operator& (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricFieldExpression< E2, typename E2::IntExpr, typename E2::UncoupledPatchExpr, typename E2::CoupledPatchExpr, typename E2::value_type > const &v)
template<typename E1, class Type, template< class > class PatchField, class GeoMesh>
auto operator& (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, GeometricField< Type, PatchField, GeoMesh > const &fld)
template<class Type, template< class > class PatchField, class GeoMesh, typename E1>
auto operator& (GeometricField< Type, PatchField, GeoMesh > const &fld, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator& (GeometricField< Type1, PatchField, GeoMesh > const &u, GeometricField< Type2, PatchField, GeoMesh > const &v)
template<typename E1, class Type>
auto operator& (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, dimensioned< Type > const &v)
template<typename E1, class Type>
auto operator& (dimensioned< Type > const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator& (GeometricField< Type1, PatchField, GeoMesh > const &u, Type2 const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator& (Type2 const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator& (GeometricField< Type1, PatchField, GeoMesh > const &u, dimensioned< Type2 > const &v)
template<class Type1, class Type2, template< class > class PatchField, class GeoMesh>
auto operator& (dimensioned< Type2 > const &u, GeometricField< Type1, PatchField, GeoMesh > const &v)
template<class E1, class Type2, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator& (GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &u, Type2 const &v)
template<class E1, class Type2, class = std::enable_if_t < (std::is_arithmetic_v<Type2> || Foam::is_vectorspace_v<Type2>) >>
auto operator& (Type2 const &u, GeometricFieldExpression< E1, typename E1::IntExpr, typename E1::UncoupledPatchExpr, typename E1::CoupledPatchExpr, typename E1::value_type > const &v)
const expr V (m.psi().mesh().V())
 evaluator (s, expr(s)+mult *V *expression)
template<class Expr>
void Su (fvMatrix< typename Expr::value_type > &m, const Expr &expression)
template<class Expr>
void rhs (fvMatrix< typename Expr::value_type > &m, const Expr &expression)
template<class Expr, class Expr2>
void Sp (fvMatrix< typename Expr::value_type > &m, const Expr2 &mult, const Expr &expression)
template<class Expr, class Expr2>
void SuSp (fvMatrix< typename Expr::value_type > &m, const Expr2 &mult, const Expr &expression)

Variables

auto & s = m.source()

Detailed Description

Expression templates for GeometricFields.

Original source file GeometricFieldExpression.H

InNamespace Foam::Expression

Source files

Definition in file GeometricFieldExpression.H.

Macro Definition Documentation

◆ EXPRESSION_GF_FUNCTION1_DIMLESS

#define EXPRESSION_GF_FUNCTION1_DIMLESS ( Func,
BaseFunc,
WrapType,
OpFunc )

◆ EXPRESSION_GF_FUNCTION1

#define EXPRESSION_GF_FUNCTION1 ( Func,
BaseFunc,
WrapType,
OpFunc )

◆ EXPRESSION_GF_OPERATOR

#define EXPRESSION_GF_OPERATOR ( Op,
WrapType,
OpFunc )

Definition at line 1446 of file GeometricFieldExpression.H.

◆ EXPRESSION_GF_FUNCTION2

#define EXPRESSION_GF_FUNCTION2 ( Func,
BaseFunc,
WrapType,
OpFunc )

Definition at line 1791 of file GeometricFieldExpression.H.