16#ifndef dealii_mg_transfer_component_h
17#define dealii_mg_transfer_component_h
43template <
int dim,
int spacedim>
82 template <
int dim,
int spacedim>
98 template <
int dim,
int spacedim>
134 mutable std::vector<std::vector<types::global_dof_index>>
sizes;
166 std::vector<std::vector<std::pair<types::global_dof_index, unsigned int>>>
189template <
typename number>
238 template <
int dim,
int spacedim>
243 unsigned int selected,
244 unsigned int mg_selected,
246 std::vector<unsigned int>(),
248 std::vector<unsigned int>(),
250 std::vector<std::set<types::global_dof_index>>());
277 template <
int dim,
int spacedim>
280 unsigned int selected,
281 unsigned int mg_selected,
283 std::vector<unsigned int>(),
285 std::vector<unsigned int>(),
287 std::vector<std::set<types::global_dof_index>>());
293 select(
const unsigned int component,
312 template <
int dim,
typename number2,
int spacedim>
324 template <
int dim,
typename number2,
int spacedim>
335 template <
int dim,
typename number2,
int spacedim>
347 template <
int dim,
typename number2,
int spacedim>
359 template <
int dim,
typename number2,
int spacedim>
370 template <
int dim,
typename number2,
int spacedim>
386 template <
int dim,
class OutVector,
int spacedim>
395 template <
int dim,
class OutVector,
int spacedim>
404 template <
int dim,
class InVector,
int spacedim>
408 const InVector & src)
const;
435template <
typename number>
438 const unsigned int mg_component)
440 selected_component = component;
441 mg_selected_component =
std::vector< unsigned int > mg_target_component
ComponentMask component_mask
ComponentMask mg_component_mask
std::vector< unsigned int > target_component
void build_matrices(const DoFHandler< dim, spacedim > &dof, const DoFHandler< dim, spacedim > &mg_dof)
std::vector< types::global_dof_index > component_start
std::vector< std::shared_ptr< BlockSparseMatrix< double > > > prolongation_matrices
std::vector< std::vector< std::pair< types::global_dof_index, unsigned int > > > copy_to_and_from_indices
std::vector< std::vector< types::global_dof_index > > mg_component_start
std::vector< std::shared_ptr< BlockSparsityPattern > > prolongation_sparsities
void build(const DoFHandler< dim, spacedim > &dof_handler)
std::vector< std::vector< types::global_dof_index > > sizes
std::size_t memory_consumption() const
std::vector< std::set< types::global_dof_index > > boundary_indices
void do_copy_to_mg(const DoFHandler< dim, spacedim > &mg_dof, MGLevelObject< Vector< number > > &dst, const InVector &src) const
void copy_to_mg(const DoFHandler< dim, spacedim > &mg_dof, MGLevelObject< Vector< number > > &dst, const Vector< number2 > &src) const
std::size_t memory_consumption() const
void build_matrices(const DoFHandler< dim, spacedim > &dof, const DoFHandler< dim, spacedim > &mg_dof, unsigned int selected, unsigned int mg_selected, const std::vector< unsigned int > &target_component=std::vector< unsigned int >(), const std::vector< unsigned int > &mg_target_component=std::vector< unsigned int >(), const std::vector< std::set< types::global_dof_index > > &boundary_indices=std::vector< std::set< types::global_dof_index > >())
void do_copy_from_mg_add(const DoFHandler< dim, spacedim > &mg_dof, OutVector &dst, const MGLevelObject< Vector< number > > &src) const
void copy_from_mg_add(const DoFHandler< dim, spacedim > &mg_dof, BlockVector< number2 > &dst, const MGLevelObject< Vector< number > > &src) const
void do_copy_from_mg(const DoFHandler< dim, spacedim > &mg_dof, OutVector &dst, const MGLevelObject< Vector< number > > &src) const
void copy_from_mg(const DoFHandler< dim, spacedim > &mg_dof, BlockVector< number2 > &dst, const MGLevelObject< Vector< number > > &src) const
virtual void prolongate(const unsigned int to_level, Vector< number > &dst, const Vector< number > &src) const override
SmartPointer< const AffineConstraints< double > > constraints
unsigned int mg_selected_component
unsigned int selected_component
void copy_to_mg(const DoFHandler< dim, spacedim > &mg_dof, MGLevelObject< Vector< number > > &dst, const BlockVector< number2 > &src) const
virtual ~MGTransferSelect() override=default
void build(const DoFHandler< dim, spacedim > &dof, unsigned int selected, unsigned int mg_selected, const std::vector< unsigned int > &target_component=std::vector< unsigned int >(), const std::vector< unsigned int > &mg_target_component=std::vector< unsigned int >(), const std::vector< std::set< types::global_dof_index > > &boundary_indices=std::vector< std::set< types::global_dof_index > >())
void select(const unsigned int component, const unsigned int mg_component=numbers::invalid_unsigned_int)
void copy_from_mg(const DoFHandler< dim, spacedim > &mg_dof, Vector< number2 > &dst, const MGLevelObject< Vector< number > > &src) const
virtual void restrict_and_add(const unsigned int from_level, Vector< number > &dst, const Vector< number > &src) const override
std::vector< IndexSet > interface_dofs
void copy_from_mg_add(const DoFHandler< dim, spacedim > &mg_dof, Vector< number2 > &dst, const MGLevelObject< Vector< number > > &src) const
#define DEAL_II_DEPRECATED
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
static ::ExceptionBase & ExcMatricesNotBuilt()
static const unsigned int invalid_unsigned_int