Reduced Lagrange Multipliers
 
Loading...
Searching...
No Matches
CouplingOperator< dim, number, n_components > Class Template Reference

#include <matrix_free_utils.h>

Public Types

using VectorType = LinearAlgebra::distributed::Vector<number>
 

Public Member 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))
 
void initialize_dof_vector (VectorType &vec) const
 
void vmult (VectorType &dst, const VectorType &src) const
 
void Tvmult (VectorType &dst, const VectorType &src) const
 
void vmult_add (VectorType &dst, const VectorType &src) const
 
void Tvmult_add (VectorType &dst, const VectorType &src) const
 

Private Attributes

Utilities::MPI::RemotePointEvaluation< dim > rpe
 
ObserverPointer< const Mapping< dim > > mapping
 
ObserverPointer< const FiniteElement< dim > > fe
 
ObserverPointer< const DoFHandler< dim > > dof_handler
 
ObserverPointer< const Inclusions< dim > > inclusions
 
ObserverPointer< const AffineConstraints< number > > constraints
 
const unsigned int n_coefficients
 

Detailed Description

template<int dim, typename number, int n_components = 1>
class CouplingOperator< dim, number, n_components >

Class responsible to provide the action of the coupling operator in a matrix-free fashion.

Definition at line 52 of file matrix_free_utils.h.

Member Typedef Documentation

◆ VectorType

template<int dim, typename number, int n_components = 1>
using CouplingOperator< dim, number, n_components >::VectorType = LinearAlgebra::distributed::Vector<number>

Definition at line 55 of file matrix_free_utils.h.

Constructor & Destructor Documentation

◆ CouplingOperator()

template<int dim, typename number, int n_components>
CouplingOperator< dim, number, n_components >::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 Inclusions instance, a reference to the background triangulation and an optional mapping to initialize the evaluator on remote points.

Definition at line 37 of file matrix_free_utils.cc.

References rpe, and Inclusions< spacedim >::rtree_extraction_level.

Member Function Documentation

◆ initialize_dof_vector()

template<int dim, typename number, int n_components>
void CouplingOperator< dim, number, n_components >::initialize_dof_vector ( VectorType & vec) const

Definition at line 77 of file matrix_free_utils.cc.

◆ Tvmult()

◆ Tvmult_add()

template<int dim, typename number, int n_components>
void CouplingOperator< dim, number, n_components >::Tvmult_add ( VectorType & dst,
const VectorType & src ) const

◆ vmult()

◆ vmult_add()

template<int dim, typename number, int n_components>
void CouplingOperator< dim, number, n_components >::vmult_add ( VectorType & dst,
const VectorType & src ) const

Member Data Documentation

◆ constraints

template<int dim, typename number, int n_components = 1>
ObserverPointer<const AffineConstraints<number> > CouplingOperator< dim, number, n_components >::constraints
private

Definition at line 91 of file matrix_free_utils.h.

Referenced by Tvmult(), and vmult().

◆ dof_handler

template<int dim, typename number, int n_components = 1>
ObserverPointer<const DoFHandler<dim> > CouplingOperator< dim, number, n_components >::dof_handler
private

Definition at line 89 of file matrix_free_utils.h.

Referenced by Tvmult(), and vmult().

◆ fe

template<int dim, typename number, int n_components = 1>
ObserverPointer<const FiniteElement<dim> > CouplingOperator< dim, number, n_components >::fe
private

Definition at line 88 of file matrix_free_utils.h.

Referenced by Tvmult(), and vmult().

◆ inclusions

template<int dim, typename number, int n_components = 1>
ObserverPointer<const Inclusions<dim> > CouplingOperator< dim, number, n_components >::inclusions
private

Definition at line 90 of file matrix_free_utils.h.

Referenced by Tvmult(), and vmult().

◆ mapping

template<int dim, typename number, int n_components = 1>
ObserverPointer<const Mapping<dim> > CouplingOperator< dim, number, n_components >::mapping
private

Definition at line 87 of file matrix_free_utils.h.

Referenced by Tvmult(), and vmult().

◆ n_coefficients

template<int dim, typename number, int n_components = 1>
const unsigned int CouplingOperator< dim, number, n_components >::n_coefficients
private

Definition at line 92 of file matrix_free_utils.h.

◆ rpe

template<int dim, typename number, int n_components = 1>
Utilities::MPI::RemotePointEvaluation<dim> CouplingOperator< dim, number, n_components >::rpe
private

Definition at line 86 of file matrix_free_utils.h.

Referenced by CouplingOperator(), Tvmult(), Tvmult_add(), vmult(), and vmult_add().


The documentation for this class was generated from the following files: