Public Member Functions | Public Attributes

RelaxationBlock< MATRIX, inverse_type >::AdditionalData Class Reference

Inheritance diagram for RelaxationBlock< MATRIX, inverse_type >::AdditionalData:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 AdditionalData (const double relaxation=1., const bool invert_diagonal=true, const bool same_diagonal=false)
 AdditionalData (const BlockList &block_list, const double relaxation=1., const bool invert_diagonal=true, const bool same_diagonal=false)

Public Attributes

SparsityPattern block_list
double relaxation
bool invert_diagonal
bool same_diagonal
PreconditionBlockBase
< inverse_type >::Inversion 
inversion
double threshold
std::vector< std::vector
< unsigned int > > 
order

Detailed Description

template<class MATRIX, typename inverse_type = typename MATRIX::value_type>
class RelaxationBlock< MATRIX, inverse_type >::AdditionalData

Parameters for block relaxation methods.

Definition at line 70 of file relaxation_block.h.


Constructor & Destructor Documentation

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
RelaxationBlock< MATRIX, inverse_type >::AdditionalData::AdditionalData ( const double  relaxation = 1.,
const bool  invert_diagonal = true,
const bool  same_diagonal = false 
)

Constructor.

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
RelaxationBlock< MATRIX, inverse_type >::AdditionalData::AdditionalData ( const BlockList block_list,
const double  relaxation = 1.,
const bool  invert_diagonal = true,
const bool  same_diagonal = false 
)
Deprecated:
Since the BlockList is now a data member of this class, it is not recommended anymore to generate it independently.

Constructor.


Member Data Documentation

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
SparsityPattern RelaxationBlock< MATRIX, inverse_type >::AdditionalData::block_list

The mapping from indices to blocks.

Definition at line 99 of file relaxation_block.h.

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
double RelaxationBlock< MATRIX, inverse_type >::AdditionalData::relaxation

Relaxation parameter.

Definition at line 104 of file relaxation_block.h.

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
bool RelaxationBlock< MATRIX, inverse_type >::AdditionalData::invert_diagonal

Invert diagonal during initialization.

Definition at line 109 of file relaxation_block.h.

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
bool RelaxationBlock< MATRIX, inverse_type >::AdditionalData::same_diagonal

Assume all diagonal blocks are equal to save memory.

Definition at line 115 of file relaxation_block.h.

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
PreconditionBlockBase<inverse_type>::Inversion RelaxationBlock< MATRIX, inverse_type >::AdditionalData::inversion

Choose the inversion method for the blocks.

Definition at line 120 of file relaxation_block.h.

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
double RelaxationBlock< MATRIX, inverse_type >::AdditionalData::threshold

The if inversion is SVD, the threshold below which a singular value will be considered zero and thus not inverted. This parameter is used in the call to LAPACKFullMatrix::compute_inverse_svd().

Definition at line 131 of file relaxation_block.h.

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
std::vector<std::vector<unsigned int> > RelaxationBlock< MATRIX, inverse_type >::AdditionalData::order

The order in which blocks should be traversed. This vector can initiate several modes of execution:

  1. If the length of the vector is zero, then the relaxation method will be exectued from first to last block.
  2. If the length is one, then the inner vector must have the same size as the number of blocks. The relaxation method is applied in the order given in this vector.
  3. If the outer vector has length greater one, then the relaxation method is applied several times, each time in the order given by the inner vector of the corresponding index. This mode can for instance be used for ADI methods and similar direction sweeps.

Definition at line 166 of file relaxation_block.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Mon May 21 2012 12:06:33 by doxygen 1.7.3