Template Class SemiDiscreteModel¶
Defined in File time_residual.h
Nested Relationships¶
Nested Types¶
Class Documentation¶
-
template<typename VectorType, typename MatrixType = ImmersXLA::MPI::SparseMatrix>
class SemiDiscreteModel¶ A term-wise semi-discrete residual model for F(t,y,ydot)=0.
Public Types
-
using Context = EvaluationContext<VectorType>¶
-
using Operation = dealii::PackagedOperation<VectorType>¶
-
using Operator = dealii::LinearOperator<VectorType, VectorType>¶
-
using MatrixOperator = MaterializedOperator<VectorType, MatrixType>¶
-
using MatrixOperatorFactory = std::function<MatrixOperator(const Context&)>¶
-
using SaddlePointMetadata = ImmersX::SaddlePointMetadata<VectorType, MatrixType>¶
-
using VectorReinitializer = std::function<void(VectorType&, bool)>¶
-
using PreconditionerFactory = std::function<Operator(const MatrixType&, const VectorReinitializer&)>¶
Public Functions
-
inline void evaluate_row(const FieldId row, const Context &context, VectorType &destination) const¶
-
inline Operator state_operator(const FieldId row, const FieldId column, const Context &context) const¶
-
inline std::optional<MatrixOperator> state_matrix_operator(const FieldId row, const FieldId column, const Context &context) const¶
Return a matrix-backed block, if every active term has provenance.
-
inline Operator derivative_operator(const FieldId row, const FieldId column, const Context &context) const¶
-
inline std::optional<MatrixOperator> derivative_matrix_operator(const FieldId row, const FieldId column, const Context &context) const¶
Return a materializable dF/dydot block, when available.
-
inline bool has_derivative_terms() const¶
-
inline const std::vector<SaddlePointMetadata> &saddle_points() const¶
-
inline void add_multiplier_metric(const FieldId multiplier, MatrixOperatorFactory factory)¶
-
inline std::optional<MatrixOperator> multiplier_metric(const FieldId multiplier, const Context &context) const¶
-
inline std::optional<Operator> preconditioner(const FieldId field, const MatrixType &matrix, const VectorReinitializer &reinitializer) const¶
Friends
- friend class detail::ExecutionComposition
-
using Context = EvaluationContext<VectorType>¶