template<typename T>
requires {
typename T::Test;
typename T::Operands;
} &&
{
equation.evaluate(point)
} -> std::same_as<PointLinearization<typename T::Operands, discretization::forms::OperandValue<TestOperandOf<T>>>>;
}
Concept for term types that are global scalar terms. A global scalar term is a term that has support ...
Definition concepts.hpp:89
Concept for term types that have a residual block associated with them. To have a residual block a ty...
Definition concepts.hpp:70
Concept for term types that are spatial terms. A spatial term is a term that has a functional space (...
Definition concepts.hpp:80
A concept that defines the requirements for a pointwise equation.
Definition concepts.hpp:30
TestOperandTraits< T >::type TestOperandOf
Helper alias to extract the test operand type from a contribution or equation.
Definition contributions.hpp:99
A struct to represent the values of operands at a given point in space.
Definition point.hpp:130
A concept that defines the requirements for a pointwise equation.
| Requirements |
-
The equation must have a test type (::Test) and an operand type (::Operands).
-
The test type (::Test) must be either a spatial term or a global scalar term.
-
The test type must have a residual block.
-
The operand type must be a valid operand
-
The operant term type (::term_type) must be the same as the test type (::Test).
-
The equation must have a method called ::evaluate() that takes an EquationPoint of the operand type and returns a PointLinearization of the operand type and the operand value of the test operand.
|