Template Class CouplingOperator¶
Defined in File matrix_free_utils.h
Class Documentation¶
-
template<int dim, typename number, int n_components = 1>
class CouplingOperator¶ Class responsible to provide the action of the coupling operator in a matrix-free fashion.
Public Types
Public Functions
-
CouplingOperator(const Inclusions<dim> &inclusions, const DoFHandler<dim> &dof_handler, const AffineConstraints<number> &constraints = AffineConstraints<number>(), const MappingQ<dim> &mapping = MappingQ1<dim>(), const FiniteElement<dim> &fe = FE_Q<dim>(1))¶
Constructor.
Takes an
Inclusionsinstance, a reference to the background triangulation and an optional mapping to initialize the evaluator on remote points.
-
void initialize_dof_vector(VectorType &vec) const¶
Initialize a vector with the layout expected by this operator.
-
void vmult(VectorType &dst, const VectorType &src) const¶
Apply the coupling operator.
-
void Tvmult(VectorType &dst, const VectorType &src) const¶
Apply the transpose coupling operator.
-
void vmult_add(VectorType &dst, const VectorType &src) const¶
Add the operator action to an existing destination vector.
-
void Tvmult_add(VectorType &dst, const VectorType &src) const¶
Add the transpose operator action to an existing destination vector.
-
CouplingOperator(const Inclusions<dim> &inclusions, const DoFHandler<dim> &dof_handler, const AffineConstraints<number> &constraints = AffineConstraints<number>(), const MappingQ<dim> &mapping = MappingQ1<dim>(), const FiniteElement<dim> &fe = FE_Q<dim>(1))¶