Class template Dune::GDT::MatrixOperator¶
-
template<class AGV, size_t s_r, size_t s_rC, size_t r_r, size_t r_rC, class F, class M, class SGV, class RGV>
class Dune::GDT::MatrixOperator¶ Base class for linear operators which are assembled into a matrix.
We derive from the XT::Grid::ElementAndIntersectionFunctor and povide custom append() methods to allow to add local element and intersection operators. We also hold the target matrix into which we want to assemble. The operator is assembled by walking over the given assembly_grid_view. If you want to assemble an operator only on a smaller grid view, consider to append this operator to another walker or provide appropriate filters.
Note
See ConstMatrixOperator and OperatorInterface for a description of the template arguments.
Note
In compute_locally, the filters are evaluated w.r.t. assembly_grid_view and not the grid view of the walker this operator is appended to. This might not be what we want.
See also:
DisccreteOperatorInterface,BilinearFormInterface,ConstMatrixOperator,XT::Grid::ElementAndIntersectionFunctor,XT::Grid::Walker
-
BaseFunctorType *Dune::GDT::MatrixOperator::copy() final override¶
\ {
Required by ElementAndIntersectionFunctor.
-
void Dune::GDT::MatrixOperator::apply_local(const E &element) final override¶
No documentation provided.
-
void Dune::GDT::MatrixOperator::apply_local(const I &intersection, const E &inside_element, const E &outside_element) final override¶
No documentation provided.
-
void Dune::GDT::MatrixOperator::finalize() final override¶
No documentation provided.
-
void Dune::GDT::MatrixOperator::assemble(const bool use_tbb = false) final override¶
\ }
Required by BilinearFormInterface
\ {
-
MatrixType &Dune::GDT::MatrixOperator::matrix()¶
\ }
These methods extend the ones from ConstantMatrixOperator
\ {
-
ThisType &Dune::GDT::MatrixOperator::append(const BilinearFormType &bilinear_form, const XT::Common::Parameter ¶m =
<recovery-expr>({}))¶ \ }
These methods allow to append the local bilinear forms from a BilinearForm
\ {
-
ThisType &Dune::GDT::MatrixOperator::append(const int &local_operator, const VectorType &source, const XT::Common::Parameter ¶m =
<recovery-expr>({}), const ElementFilterType &filter = ApplyOnAllElements())¶
-
ThisType &Dune::GDT::MatrixOperator::append(const int &local_operator, const VectorType &source, const XT::Common::Parameter ¶m =
<recovery-expr>({}), const IntersectionFilterType &filter = ApplyOnAllIntersections())¶ No documentation provided.
-
template<>
Dune::GDT::MatrixOperator::MatrixOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(const AssemblyGridViewType assembly_grid_vw, const SourceSpaceType &source_spc, const RangeSpaceType &range_spc, MatrixType &mat, const std::string &logging_prefix =<recovery-expr>(""), const std::array<bool, 3> &logging_state =<recovery-expr>())¶ No documentation provided.
-
template<>
Dune::GDT::MatrixOperator::MatrixOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(const AssemblyGridViewType assembly_grid_vw, const SourceSpaceType &source_spc, const RangeSpaceType &range_spc, MatrixType *&&mat_ptr, const std::string &logging_prefix =<recovery-expr>(""), const std::array<bool, 3> &logging_state =<recovery-expr>())¶ No documentation provided.
-
template<>
Dune::GDT::MatrixOperator::MatrixOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(const ThisType&) = delete¶ No documentation provided.
-
template<>
Dune::GDT::MatrixOperator::MatrixOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(ThisType &other)¶ Note
Performs something like a shallow copy (as required by ElementAndIntersectionFunctor), i.e. the copied operator shares the matrix.
Note
Manual copy required to duplicate the local assemblers
-
template<>
Dune::GDT::MatrixOperator::MatrixOperator<AGV, s_r, s_rC, r_r, r_rC, F, M, SGV, RGV>(ThisType &&source) noexcept = default¶ No documentation provided.
-
FieldType Dune::GDT::MatrixOperator::scaling¶
Defines the scaling of the to-be-appended jacobian contributions
See also:
ConstantMatrixOperator::jacobian,OperatorInterface::apply_inverse
-
type Dune::GDT::MatrixOperator::MatrixStorage¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::ThisType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::BaseOperatorType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::BaseFunctorType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::ElementFilterType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::IntersectionFilterType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::ApplyOnAllElements¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::ApplyOnAllIntersections¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::LocalElementBilinearFormAssemblerType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::LocalCouplingIntersectionBilinearFormAssemblerType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::LocalIntersectionBilinearFormAssemblerType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::LocalElementOperatorFiniteDifferenceJacobianAssemblerType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::LocalIntersectionOperatorFiniteDifferenceJacobianAssemblerType¶
No documentation provided.
-
type Dune::GDT::MatrixOperator::BilinearFormType¶
No documentation provided.