16 #ifndef dealii__relaxation_block_h 17 #define dealii__relaxation_block_h 19 #include <deal.II/base/subscriptor.h> 20 #include <deal.II/base/smartpointer.h> 21 #include <deal.II/lac/vector.h> 22 #include <deal.II/lac/precondition_block_base.h> 23 #include <deal.II/lac/sparsity_pattern.h> 28 DEAL_II_NAMESPACE_OPEN
53 template <
typename MatrixType,
54 typename InverseNumberType =
typename MatrixType::value_type,
63 typedef typename MatrixType::value_type
number;
159 std::vector<std::vector<unsigned int> >
order;
236 const VectorType &prev,
237 const VectorType &src,
238 const bool backward)
const;
276 template<
typename MatrixType,
277 typename InverseNumberType =
typename MatrixType::value_type,
291 typedef typename MatrixType::value_type
number;
335 void step (VectorType &dst,
const VectorType &rhs)
const;
340 void Tstep (VectorType &dst,
const VectorType &rhs)
const;
364 template<
typename MatrixType,
365 typename InverseNumberType =
typename MatrixType::value_type,
379 typedef typename MatrixType::value_type
number;
423 void step (VectorType &dst,
const VectorType &rhs)
const;
428 void Tstep (VectorType &dst,
const VectorType &rhs)
const;
447 template<
typename MatrixType,
448 typename InverseNumberType =
typename MatrixType::value_type,
457 typedef typename MatrixType::value_type
number;
502 void step (VectorType &dst,
const VectorType &rhs)
const;
507 void Tstep (VectorType &dst,
const VectorType &rhs)
const;
511 DEAL_II_NAMESPACE_CLOSE
std::size_t memory_consumption() const
value_type el(size_type i, size_type j) const
SmartPointer< const AdditionalData, RelaxationBlock< MatrixType, InverseNumberType, VectorType > > additional_data
InverseNumberType value_type
PreconditionBlockBase< InverseNumberType >::Inversion inversion
MatrixType::value_type number
VectorType * temp_ghost_vector
AdditionalData(const double relaxation=1., const bool invert_diagonal=true, const bool same_diagonal=false, const typename PreconditionBlockBase< InverseNumberType >::Inversion inversion=PreconditionBlockBase< InverseNumberType >::gauss_jordan, const double threshold=0., VectorType *temp_ghost_vector=NULL)
void block_kernel(const size_type block_begin, const size_type block_end)
SmartPointer< const MatrixType, RelaxationBlock< MatrixType, InverseNumberType, VectorType > > A
void Tstep(VectorType &dst, const VectorType &rhs) const
unsigned int global_dof_index
void step(VectorType &dst, const VectorType &rhs) const
MatrixType::value_type number
MatrixType::value_type number
void Tstep(VectorType &dst, const VectorType &rhs) const
std::vector< std::vector< unsigned int > > order
void Tstep(VectorType &dst, const VectorType &rhs) const
SparsityPattern block_list
types::global_dof_index size_type
void step(VectorType &dst, const VectorType &rhs) const
MatrixType::value_type number
void initialize(const MatrixType &A, const AdditionalData ¶meters)
void step(VectorType &dst, const VectorType &rhs) const
std::size_t memory_consumption() const
void do_step(VectorType &dst, const VectorType &prev, const VectorType &src, const bool backward) const