Template Class WeakTerm¶
Defined in File weak_term.h
Nested Relationships¶
Nested Types¶
Class Documentation¶
-
template<typename TrialExpression, typename TestExpression, typename Support = InferredIntegrationSupport>
class WeakTerm¶ A solver-neutral FE weak term contributed to a residual row.
Public Types
-
using target_type = TestExpression¶
-
using trial_field_type = typename TrialExpression::source_field_type¶
Public Functions
-
inline WeakTerm(TrialExpression observable, TestExpression target)¶
-
inline WeakTerm(TrialExpression observable, TestExpression target, Support support)¶
-
template<int support_dim, int support_spacedim>
inline auto on(IntegrationSupport<support_dim, support_spacedim> support) const¶
-
template<int support_dim, int support_spacedim>
inline auto on(BoundaryIntegrationSupport<support_dim, support_spacedim> support) const¶
-
template<typename PhysicalSupport, std::enable_if_t<is_physical_quadrature_support<std::decay_t<PhysicalSupport>>::value, int> = 0>
inline auto on(PhysicalSupport support) const¶
-
inline WeakTerm with_cached_assembly() const¶
Retain a linear pairing after its first assembly.
Meshes, mappings, lifted reference geometry, integration support, FE spaces and homogeneous constraint coefficients must stay fixed while this term is used. State values and affine constraint offsets may change. Rebuild the term after changing any fixed data. Nonlinear trials are rejected; the default keeps assembling the current pairing on demand.
-
template<typename VectorType, typename MatrixType>
inline FieldId add(SemidiscreteBuilder<VectorType, MatrixType> &builder) const¶
-
template<typename VectorType, typename MatrixType>
inline void add_constraint_terms(SemidiscreteBuilder<VectorType, MatrixType> &builder, const FieldId multiplier, const double sign, const std::size_t index) const¶ Add both rows of this term to a multiplier constraint.
-
template<typename VectorType, typename MatrixType>
inline FieldId operator()(SemidiscreteBuilder<VectorType, MatrixType> &builder) const¶
-
template<typename Callback>
inline WeakTerm with_context_update(Callback callback) const¶ Return this term with a callback run before each evaluation context.
-
inline const TrialExpression &observable() const¶
-
inline const TestExpression &target() const¶
-
using target_type = TestExpression¶