Template Struct NonlinearWeakAssembly

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 VectorType, typename FieldType>
static inline void reinit_result(VectorType &vector, const FieldType &field)
template<typename VectorType, typename ObservableType_, typename Context, typename Cell, typename SourceValues>
static inline std::decay_t<ObservableType_>::value_type primitive_value(const ObservableType_ &observable, const Context &context, const Cell &source_cell, const SourceValues &source_values, const unsigned int q)
template<typename ObservableType_, typename Cell, typename SourceValues>
static inline std::decay_t<ObservableType_>::value_type primitive_derivative(const ObservableType_ &observable, const FieldId field, const Cell &source_cell, const SourceValues &source_values, const unsigned int q, const unsigned int basis)
template<typename VectorType, typename Context, typename Cell, typename SourceValues>
static inline std::decay_t<ObservableType>::value_type value_at(const ObservableType &observable, const Context &context, const Cell &source_cell, const SourceValues &source_values, const unsigned int q, const double time)
template<typename VectorType, typename Context, typename Cell, typename SourceValues>
static inline std::decay_t<ObservableType>::value_type derivative_at(const ObservableType &observable, const Context &context, const FieldId field, const Cell &source_cell, const SourceValues &source_values, const unsigned int q, const unsigned int basis, const double time)
template<typename VectorType, typename MatrixType, typename Context>
static inline std::shared_ptr<VectorType> residual(const ObservableType &observable, const TargetExpression &target, const Context &context)
template<typename VectorType, typename MatrixType, typename Context>
static inline MatrixStorage<MatrixType> jacobian(const ObservableType &observable, const TargetExpression &target, const FieldId field, const Context &context)
template<typename VectorType, typename MatrixType, typename Context>
static inline MaterializedOperator<VectorType, MatrixType> linearize_matrix(const ObservableType &observable, const TargetExpression &target, const FieldId field, const Context &context)
template<typename VectorType, typename MatrixType, typename Context>
static inline dealii::LinearOperator<VectorType, VectorType> linearize(const ObservableType &observable, const TargetExpression &target, const FieldId field, const Context &context)

Public Static Attributes

static constexpr int dim = TargetExpression::source_field_type::dimension()
static constexpr int spacedim = TargetExpression::source_field_type::spacedimension()
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