Template Struct NonlinearWeakAssembly¶
Defined in File weak_term.h
Nested Relationships¶
Nested Types¶
Struct Documentation¶
-
template<typename ObservableType, typename TargetExpression>
struct NonlinearWeakAssembly¶ Pointwise assembly for a state-dependent Observable.
Public Types
-
using SourceField = typename ObservableType::source_field_type¶
Public Static Functions
-
template<typename Support>
static inline constexpr bool uses_support_quadratures()¶
-
template<typename VectorType, typename FieldType>
static inline void reinit_result(VectorType &vector, const FieldType &field)¶
-
template<typename Support, typename TargetField>
static inline auto make_support_quadratures(const Support &support, const SourceField &source, const TargetField &target_field)¶
-
template<typename Support, typename CellIterator>
static inline bool support_includes(const Support &support, const CellIterator &cell)¶
-
template<typename Support, typename SourceField, typename TargetField>
static inline void assert_support_matches(const Support &support, const SourceField &source, const TargetField &target)¶
-
template<typename ObservableType_>
static inline void assert_dependencies_match_source_mesh(const ObservableType_ &observable)¶
-
template<typename VectorType, typename ObservableType_, typename Cache>
static inline std::decay_t<ObservableType_>::value_type primitive_value(const ObservableType_ &observable, const Cache &input_cache, const unsigned int q)¶
-
template<typename ObservableType_, typename Cache>
static inline std::decay_t<ObservableType_>::value_type primitive_derivative(const ObservableType_ &observable, const FieldId field, const Cache &input_cache, const unsigned int q, const unsigned int basis)¶
-
template<typename VectorType, typename SourceValues, typename Cache>
static inline std::decay_t<ObservableType>::value_type value_at(const ObservableType &observable, const SourceValues &source_values, const Cache &input_cache, const unsigned int q, const double time)¶
-
template<typename VectorType, typename SourceValues, typename Cache>
static inline std::decay_t<ObservableType>::value_type derivative_at(const ObservableType &observable, const FieldId field, const SourceValues &source_values, const Cache &input_cache, const unsigned int q, const unsigned int basis, const double time)¶
-
template<typename VectorType, typename FieldType>
static inline void distribute_cell_residual(const FieldType &field, const std::vector<dealii::types::global_dof_index> &native_indices, const dealii::Vector<double> &cell_values, VectorType &result)¶
-
template<typename VectorType, typename Context>
static inline std::map<FieldId, VectorType> read_input_states(const ObservableType &observable, const Context &context)¶
-
template<typename VectorType, typename MatrixType, typename Context, typename Support = InferredIntegrationSupport>
static inline MatrixStorage<MatrixType> jacobian(const ObservableType &observable, const TargetExpression &target, const FieldId field, const Context &context, const Support &support = {})¶
-
template<typename VectorType, typename MatrixType, typename Context, typename Support = InferredIntegrationSupport>
static inline MaterializedOperator<VectorType, MatrixType> linearize_matrix(const ObservableType &observable, const TargetExpression &target, const FieldId field, const Context &context, const Support &support = {})¶
-
template<typename VectorType, typename MatrixType, typename Context, typename Support = InferredIntegrationSupport>
static inline dealii::LinearOperator<VectorType, VectorType> linearize(const ObservableType &observable, const TargetExpression &target, const FieldId field, const Context &context, const Support &support = {})¶
Public Static Attributes
-
static constexpr int dim = TargetExpression::source_field_type::dimension()¶
-
static constexpr int spacedim = TargetExpression::source_field_type::spacedimension()¶
-
template<typename Context, typename Cell, typename SourceValues>
class CellInputCache¶ Cache input FEValues and local coefficients on one cell.
Reuse the FEValues across cells when an input shares the integration mapping; otherwise transfer quadrature points from physical space.
Public Types
-
using InputStates = std::map<FieldId, VectorType>¶
Public Functions
-
inline CellInputCache(const Context &context, const InputStates &input_states, const Cell &source_cell, const SourceValues &source_values, const dealii::Mapping<dim, spacedim> &integration_mapping, const dealii::UpdateFlags update_flags, const bool reuse_across_cells = false)¶
-
inline void reinit(const Cell &source_cell, const SourceValues &source_values)¶
-
template<typename ObservableType_>
inline const Entry &get(const ObservableType_ &observable) const¶
-
struct Entry¶
-
using InputStates = std::map<FieldId, VectorType>¶
-
template<typename VectorType, typename FieldType, typename = void>
struct has_distributed_reinit : public std::false_type¶
-
template<typename MatrixType>
struct MatrixStorage¶ Public Members
-
std::shared_ptr<MatrixType> matrix¶
-
std::shared_ptr<dealii::SparsityPattern> sparsity¶
-
std::shared_ptr<MatrixType> matrix¶
-
template<typename Support>
struct PhysicalSupportQuadrature¶ Public Types
-
using CellIterator = typename SourceField::space_type::DoFHandlerType::active_cell_iterator¶
-
using CellIterator = typename SourceField::space_type::DoFHandlerType::active_cell_iterator¶
-
using SourceField = typename ObservableType::source_field_type¶