Template Class SemidiscreteBuilder

Class Documentation

template<typename VectorType, typename MatrixType = ImmersXLA::MPI::SparseMatrix>
class SemidiscreteBuilder

Minimal solver-neutral semantic authoring API.

Public Functions

inline SemidiscreteBuilder(StateLayout &layout, Model &model, std::string prefix = {})
inline FieldId field(const std::string &local_name, const dealii::IndexSet &locally_owned, const dealii::IndexSet &locally_relevant = {}, const dealii::IndexSet &differential_components = {}, const HistoryGroupId history_group = HistoryGroupId())
inline FieldId differential_field(const std::string &local_name, const dealii::IndexSet &locally_owned, const dealii::IndexSet &locally_relevant = {}, const HistoryGroupId history_group = HistoryGroupId())
inline FieldId algebraic_field(const std::string &local_name, const dealii::IndexSet &locally_owned, const dealii::IndexSet &locally_relevant = {}, const HistoryGroupId history_group = HistoryGroupId())
inline Term term(const FieldId row, const std::string &local_name)
inline Model::MatrixOperator matrix_operator(const MatrixType &matrix) const

Create a provenance-preserving operator from an assembled matrix.

template<typename Factory>
inline void preconditioner(const FieldId field, Factory factory)

Register a Problem-local approximate inverse factory.

inline void saddle_point(const FieldId multiplier, std::vector<FieldId> participants)

Register a semantic multiplier/primal saddle-point relation.

inline void saddle_point(const FieldId multiplier, std::vector<FieldId> participants, const typename Model::MatrixOperator &metric)

Register a saddle-point relation with its physical multiplier metric.