17 #ifndef __deal2__sparse_vanka_h
18 #define __deal2__sparse_vanka_h
22 #include <deal.II/base/config.h>
23 #include <deal.II/base/smartpointer.h>
24 #include <deal.II/base/multithread_info.h>
29 DEAL_II_NAMESPACE_OPEN
33 template <
typename number>
class Vector;
133 template<
typename number>
196 const bool conserve_memory =
false,
211 template<
typename number2>
257 template<
typename number2>
260 const std::vector<bool> *
const dof_mask = 0)
const;
337 std::vector<size_type> &local_indices);
516 template<
typename number>
533 index_intervals, adaptive
545 const bool conserve_memory =
false,
551 template<
typename number2>
591 const std::vector<bool> &selected,
596 DEAL_II_NAMESPACE_CLOSE
types::global_dof_index size_type
const std::vector< bool > & selected
const unsigned int n_blocks
SparseBlockVanka(const SparseMatrix< number > &M, const std::vector< bool > &selected, const unsigned int n_blocks, const BlockingStrategy blocking_strategy, const bool conserve_memory=false, const unsigned int n_threads=multithread_info.n_threads())
types::global_dof_index size_type
void vmult(Vector< number2 > &dst, const Vector< number2 > &src) const
void apply_preconditioner(Vector< number2 > &dst, const Vector< number2 > &src, const std::vector< bool > *const dof_mask=0) const
std::vector< SmartPointer< FullMatrix< float >, SparseVanka< number > > > inverses
std::vector< std::vector< bool > > dof_masks
const unsigned int n_threads
void compute_dof_masks(const SparseMatrix< number > &M, const std::vector< bool > &selected, const BlockingStrategy blocking_strategy)
unsigned int global_dof_index
std::size_t memory_consumption() const
SparseVanka(const SparseMatrix< number > &M, const std::vector< bool > &selected, const bool conserve_memory=false, const unsigned int n_threads=multithread_info.n_threads())
void compute_inverse(const size_type row, std::vector< size_type > &local_indices)
MultithreadInfo multithread_info
void vmult(Vector< number2 > &dst, const Vector< number2 > &src) const
std::size_t memory_consumption() const
SmartPointer< const SparseMatrix< number >, SparseVanka< number > > matrix