15#ifndef dealii_sparse_vanka_h
16#define dealii_sparse_vanka_h
29template <
typename number>
31template <
typename number>
33template <
typename number>
36template <
typename number>
38template <
typename number>
133template <
typename number>
205 template <
typename number2>
213 template <
typename number2>
268 template <
typename number2>
273 const std::vector<bool> *
const dof_mask =
nullptr)
const;
345 template <
typename T>
482template <
typename number>
518 template <
typename number2>
526 template <
typename number2>
567template <
typename number>
575template <
typename number>
void Tvmult(Vector< number2 > &dst, const Vector< number2 > &src) const
void compute_dof_masks(const SparseMatrix< number > &M, const std::vector< bool > &selected, const BlockingStrategy blocking_strategy)
std::size_t memory_consumption() const
SparseBlockVanka(const SparseMatrix< number > &M, const std::vector< bool > &selected, const unsigned int n_blocks, const BlockingStrategy blocking_strategy)
void vmult(Vector< number2 > &dst, const Vector< number2 > &src) const
std::vector< std::vector< bool > > dof_masks
const unsigned int n_blocks
AdditionalData(const std::vector< bool > &selected)
const std::vector< bool > & selected
void apply_preconditioner(Vector< number2 > &dst, const Vector< number2 > &src, const bool transpose=false, const std::vector< bool > *const dof_mask=nullptr) const
std::size_t memory_consumption() const
void compute_inverse(const size_type row, std::vector< size_type > &local_indices)
void compute_inverses(const size_type begin, const size_type end)
void initialize(const SparseMatrix< number > &M, const AdditionalData &additional_data)
ObserverPointer< const SparseMatrix< number >, SparseVanka< number > > matrix
void vmult(Vector< number2 > &dst, const Vector< number2 > &src) const
void Tvmult(Vector< number2 > &dst, const Vector< number2 > &src) const
const std::vector< bool > * selected
std::vector< ObserverPointer< FullMatrix< float >, SparseVanka< number > > > inverses
SparseVanka(const SparseMatrix< number > &M, const std::vector< bool > &selected)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcNotInitialized()
unsigned int global_dof_index