cuIBM
A GPU-based Immersed Boundary Method code
|
Stores the preconditioner for a given system. More...
#include <preconditioner.h>
Public Types | |
typedef Matrix::index_type | index_type |
typedef Matrix::value_type | value_type |
typedef Matrix::memory_space | memory_space |
typedef cusp::unknown_format | format |
Public Member Functions | |
preconditioner () | |
preconditioner (const Matrix &A, preconditionerType _type) | |
Constructor overloading. Computes the preconditioner given a matrix and a type of preconditioner. More... | |
~preconditioner () | |
Destructor. Deletes the preconditioner. More... | |
void | update (const Matrix &A) |
Updates the preconditioner of the system. More... | |
template<typename VectorType1 , typename VectorType2 > | |
void | operator() (const VectorType1 &x, VectorType2 &y) const |
Overloads the operator (). This is required due to the way preconditioners are implemented in Cusp - as linear operators on a vector. More... | |
Private Attributes | |
preconditionerType | type |
type of preconditioner More... | |
cusp::linear_operator<typename Matrix::value_type, typename Matrix::memory_space, typename Matrix::index_type > * | LO |
linear operator More... | |
Stores the preconditioner for a given system.
Definition at line 24 of file preconditioner.h.
typedef cusp::unknown_format preconditioner< Matrix >::format |
Definition at line 36 of file preconditioner.h.
typedef Matrix::index_type preconditioner< Matrix >::index_type |
Definition at line 33 of file preconditioner.h.
typedef Matrix::memory_space preconditioner< Matrix >::memory_space |
Definition at line 35 of file preconditioner.h.
typedef Matrix::value_type preconditioner< Matrix >::value_type |
Definition at line 34 of file preconditioner.h.
|
inline |
Definition at line 39 of file preconditioner.h.
Referenced by preconditioner< cusp::coo_matrix< int, real, memoryType > >::preconditioner().
preconditioner< Matrix >::preconditioner | ( | const Matrix & | A, |
preconditionerType | _type | ||
) |
Constructor overloading. Computes the preconditioner given a matrix and a type of preconditioner.
A | matrix of the system (instance of the class Matrix ) |
_type | the type of preconditioner |
Definition at line 64 of file preconditioner.h.
References AINV, DIAGONAL, preconditioner< Matrix >::LO, SMOOTHED_AGGREGATION, and preconditioner< Matrix >::type.
preconditioner< Matrix >::~preconditioner | ( | ) |
Destructor. Deletes the preconditioner.
Definition at line 97 of file preconditioner.h.
References preconditioner< Matrix >::LO.
Referenced by preconditioner< cusp::coo_matrix< int, real, memoryType > >::preconditioner().
void preconditioner< Matrix >::operator() | ( | const VectorType1 & | x, |
VectorType2 & | y | ||
) | const |
Overloads the operator (). This is required due to the way preconditioners are implemented in Cusp - as linear operators on a vector.
Definition at line 140 of file preconditioner.h.
References AINV, DIAGONAL, preconditioner< Matrix >::LO, SMOOTHED_AGGREGATION, and preconditioner< Matrix >::type.
Referenced by preconditioner< cusp::coo_matrix< int, real, memoryType > >::preconditioner().
void preconditioner< Matrix >::update | ( | const Matrix & | A | ) |
Updates the preconditioner of the system.
A | matrix of the system (instance of the class Matrix ) |
Definition at line 109 of file preconditioner.h.
References AINV, DIAGONAL, preconditioner< Matrix >::LO, SMOOTHED_AGGREGATION, and preconditioner< Matrix >::type.
Referenced by preconditioner< cusp::coo_matrix< int, real, memoryType > >::preconditioner().
|
private |
linear operator
Definition at line 30 of file preconditioner.h.
Referenced by preconditioner< Matrix >::operator()(), preconditioner< Matrix >::preconditioner(), preconditioner< Matrix >::update(), and preconditioner< Matrix >::~preconditioner().
|
private |
type of preconditioner
Definition at line 26 of file preconditioner.h.
Referenced by preconditioner< Matrix >::operator()(), preconditioner< Matrix >::preconditioner(), and preconditioner< Matrix >::update().