LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
A MeshFunction which combines two other mesh functions using a binary operator (advanced use). More...
#include <lf/uscalfe/uscalfe.h>
Public Member Functions | |
MeshFunctionBinary (OP op, A a, B b) | |
Create a new MeshFunctionBinary. | |
auto | operator() (const lf::mesh::Entity &e, const Eigen::MatrixXd &local) const |
Private Attributes | |
OP | op_ |
A | a_ |
B | b_ |
Related Symbols | |
(Note that these are not member symbols.) | |
template<MeshFunction A, MeshFunction B> | |
auto | operator+ (const A &a, const B &b) -> MeshFunctionBinary< internal::OperatorAddition, A, B > |
Add's two mesh functions. | |
template<MeshFunction A, MeshFunction B> | |
auto | operator- (const A &a, const B &b) -> MeshFunctionBinary< internal::OperatorSubtraction, A, B > |
Subtracts two mesh functions. | |
template<MeshFunction A, MeshFunction B> | |
auto | operator* (const A &a, const B &b) -> MeshFunctionBinary< internal::OperatorMultiplication, A, B > |
Multiply two mesh functions with each other. | |
A MeshFunction which combines two other mesh functions using a binary operator (advanced use).
OP | The type of operator that combines the mesh functions. |
A | The type of the lhs mesh function. |
B | The type of the rhs mesh function. |
The Operator OP
must fulfill the following requirements:
operator()
as follows: U
is the MeshFunctionReturnType of the lhs MeshFunction, V
is the MeshFunctionReturnType of the rhs MeshFunction and Z
is the type of the mesh function A OP B
.int
argument of operator()
can be used to prefer certain overloads over others, e.g. operator()(const std::vector<U>& u, const std::vector<V>& int)
takes higher precedence than operator()(const std::vector<U>& u, const std::vector<V>& long)
Definition at line 51 of file mesh_function_binary.h.
|
inline |
Create a new MeshFunctionBinary.
op | The operator to apply |
a | The lhs mesh function |
b | The rhs mesh function. |
Definition at line 59 of file mesh_function_binary.h.
|
inline |
see MeshFunction for details.
Definition at line 65 of file mesh_function_binary.h.
References lf::mesh::utils::MeshFunctionBinary< OP, A, B >::a_, lf::mesh::utils::MeshFunctionBinary< OP, A, B >::b_, and lf::mesh::utils::MeshFunctionBinary< OP, A, B >::op_.
|
related |
Multiply two mesh functions with each other.
A | The type of the lhs MeshFunction |
B | The type of the rhs MeshFunction |
a | the lhs MeshFunction |
b | the rhs MeshFunction |
a*b
, i.e. a new mesh function which represents the pointwise product of a
and b
.A
and B
are Eigen::Matrix
valued, the resulting MeshFunction will also be Matrix/Vector valued and will represent the Matrix product of a
and b
.lf::uscalfe
namespace, it will not be found by Argument Dependent Lookup (ADL). You can get around this by explicitly importing the operator overload: using lf::uscalfe::operator*;
Definition at line 722 of file mesh_function_binary.h.
|
related |
Add's two mesh functions.
A | Type of the lhs MeshFunction |
B | Type of the rhs MeshFunction |
a | the lhs MeshFunction |
b | the rhs MeshFunction |
a + b
, i.e. a new mesh function which represents the pointwise addition of a
and b
a
and b
should produce the same type of values, e.g. both should be scalar valued or both matrix/vector/array valued.lf::uscalfe
namespace, it will not be found by Argument Dependent Lookup. You can get around this by explictly importing the operator overload: using lf::uscalfe::operator+;
Definition at line 664 of file mesh_function_binary.h.
|
related |
Subtracts two mesh functions.
A | Type of the lhs MeshFunction |
B | Type of the rhs MeshFunction |
a | the lhs MeshFunction |
b | the rhs MeshFunction |
a - b
, i.e. a new mesh function which represents the pointwise difference of a
minus b
a
and b
should produce the same type of values, e.g. both should be scalar valued or both matrix/vector valued.lf::uscalfe
namespace, it will not be found by Argument Dependent Lookup (ADL). You can get around this by explicitly importing the operator overload: using lf::uscalfe::operator-;
Definition at line 693 of file mesh_function_binary.h.
|
private |
Definition at line 72 of file mesh_function_binary.h.
Referenced by lf::mesh::utils::MeshFunctionBinary< OP, A, B >::operator()().
|
private |
Definition at line 73 of file mesh_function_binary.h.
Referenced by lf::mesh::utils::MeshFunctionBinary< OP, A, B >::operator()().
|
private |
Definition at line 71 of file mesh_function_binary.h.
Referenced by lf::mesh::utils::MeshFunctionBinary< OP, A, B >::operator()().