Plugins
|
PCRILUTPreconditioner class. More...
#include <pcr_ilut.h>
Public Types | |
typedef TAlgebra | algebra_type |
typedef IPreconditioner< TAlgebra >::matrix_operator_type | matrix_operator_type |
Matrix Operator type. More... | |
typedef TAlgebra::matrix_type | matrix_type |
typedef TAlgebra::vector_type | vector_type |
Public Types inherited from ug::IPreconditioner< TAlgebra > | |
typedef TAlgebra | algebra_type |
typedef MatrixOperator< matrix_type, vector_type > | matrix_operator_type |
typedef TAlgebra::matrix_type | matrix_type |
typedef TAlgebra::vector_type | vector_type |
Public Types inherited from ILinearIterator< TAlgebra::vector_type > | |
typedef TAlgebra::vector_type | codomain_function_type |
typedef TAlgebra::vector_type | domain_function_type |
Public Types inherited from ug::DebugWritingObject< class > | |
typedef TAlgebra | algebra_type |
typedef TAlgebra::matrix_type | matrix_type |
typedef TAlgebra::vector_type | vector_type |
Public Types inherited from VectorDebugWritingObject< TAlgebra::vector_type > | |
typedef TAlgebra::vector_type | vector_type |
Protected Member Functions | |
virtual const char * | name () const |
virtual bool | postprocess () |
virtual bool | preprocess (SmartPtr< MatrixOperator< matrix_type, vector_type > > pOp) |
virtual bool | step (SmartPtr< MatrixOperator< matrix_type, vector_type > > pOp, vector_type &c, const vector_type &d) |
Protected Member Functions inherited from ug::DebugWritingObject< class > | |
void | enter_debug_writer_section (const char *secDir) |
void | enter_debug_writer_section (std::string secDir) |
void | leave_debug_writer_section () |
void | write_debug (const matrix_type &mat, const char *filename) |
void | write_debug (const matrix_type &mat, std::string name) |
Protected Member Functions inherited from VectorDebugWritingObject< TAlgebra::vector_type > | |
void | enter_vector_debug_writer_section (const char *secDir) |
void | enter_vector_debug_writer_section (std::string secDir) |
void | leave_vector_debug_writer_section () |
void | print_debugger_message (const char *msg) |
void | print_debugger_message (std::string msg) |
virtual void | write_debug (const vector_type &vec, std::string name) |
Protected Attributes | |
matrix_type | m_A |
number | m_eps |
number | m_eps_pp |
number | m_eps_pv |
number | m_eps_vp |
number | m_eps_vv |
bool | m_info |
matrix_type | m_L |
bool | m_remove_zeros |
matrix_type | m_U |
Protected Attributes inherited from ug::IPreconditioner< TAlgebra > | |
bool | m_bInit |
bool | m_bOtherApproxOperator |
SmartPtr< MatrixOperator< matrix_type, vector_type > > | m_spApproxOperator |
SmartPtr< ILinearOperator< vector_type > > | m_spDefectOperator |
Protected Attributes inherited from ILinearIterator< TAlgebra::vector_type > | |
SmartPtr< IDamping< TAlgebra::vector_type, TAlgebra::vector_type > > | m_spDamping |
Protected Attributes inherited from ug::DebugWritingObject< class > | |
SmartPtr< IDebugWriter< algebra_type > > | m_spDebugWriter |
Protected Attributes inherited from VectorDebugWritingObject< TAlgebra::vector_type > | |
SmartPtr< IVectorDebugWriter< vector_type > > | m_spVectorDebugWriter |
Static Protected Attributes | |
static const number | m_small_lower = 1e-9 |
static const number | m_small_upper = 1e-6 |
Private Types | |
typedef matrix_type::value_type | block_type |
PCRILUTPreconditioner class.
typedef TAlgebra ug::PCRILUTPreconditioner< TAlgebra >::algebra_type |
|
private |
typedef IPreconditioner<TAlgebra>::matrix_operator_type ug::PCRILUTPreconditioner< TAlgebra >::matrix_operator_type |
Matrix Operator type.
typedef TAlgebra::matrix_type ug::PCRILUTPreconditioner< TAlgebra >::matrix_type |
typedef TAlgebra::vector_type ug::PCRILUTPreconditioner< TAlgebra >::vector_type |
|
inline |
References ug::PCRILUTPreconditioner< TAlgebra >::m_info.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
Implements ILinearIterator< TAlgebra::vector_type >.
References ILinearIterator< TAlgebra::vector_type >::damping(), ug::DebugWritingObject< class >::debug_writer(), ug::PCRILUTPreconditioner< TAlgebra >::m_eps, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_pp, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_pv, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_vp, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_vv, and ug::PCRILUTPreconditioner< TAlgebra >::m_info.
|
inlineprotectedvirtual |
Implements ug::IPreconditioner< TAlgebra >.
|
inlineprotectedvirtual |
Implements ug::IPreconditioner< TAlgebra >.
|
inlineprotectedvirtual |
Implements ug::IPreconditioner< TAlgebra >.
References ug::BlockNorm(), CollectUniqueElements(), ug::PCRILUTPreconditioner< TAlgebra >::m_A, ug::PCRILUTPreconditioner< TAlgebra >::m_eps, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_pp, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_pv, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_vp, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_vv, ug::PCRILUTPreconditioner< TAlgebra >::m_info, ug::PCRILUTPreconditioner< TAlgebra >::m_L, ug::PCRILUTPreconditioner< TAlgebra >::m_remove_zeros, ug::PCRILUTPreconditioner< TAlgebra >::m_U, ug::MatAddSlaveRowsToMasterRowOverlap0(), ug::SetDirichletRow(), STATIC_ASSERT, UG_ASSERT, and UG_LOG.
|
inline |
sets storage information output to true or false
References ug::PCRILUTPreconditioner< TAlgebra >::m_info.
|
inline |
|
inline |
sets threshold for incomplete LU factorisation
References ug::PCRILUTPreconditioner< TAlgebra >::m_eps, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_pp, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_pv, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_vp, and ug::PCRILUTPreconditioner< TAlgebra >::m_eps_vv.
|
inline |
sets threshold for incomplete LU factorisation
References ug::PCRILUTPreconditioner< TAlgebra >::m_eps, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_pp, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_pv, ug::PCRILUTPreconditioner< TAlgebra >::m_eps_vp, and ug::PCRILUTPreconditioner< TAlgebra >::m_eps_vv.
Referenced by ug::PCRILUTPreconditioner< TAlgebra >::PCRILUTPreconditioner().
|
inlineprotectedvirtual |
Implements ug::IPreconditioner< TAlgebra >.
References ug::BlockNorm(), ParallelVector< Vector< double > >::change_storage_type(), ug::InverseMatMult(), ug::PCRILUTPreconditioner< TAlgebra >::m_L, ug::PCRILUTPreconditioner< TAlgebra >::m_small_lower, ug::PCRILUTPreconditioner< TAlgebra >::m_small_upper, ug::PCRILUTPreconditioner< TAlgebra >::m_U, ug::MatMultAdd(), ug::PST_ADDITIVE, ug::PST_CONSISTENT, ug::PST_UNIQUE, s, UG_ASSERT, and UG_LOG.
|
inlinevirtual |
returns if parallel solving is supported
Implements ILinearIterator< TAlgebra::vector_type >.
|
protected |
Referenced by ug::PCRILUTPreconditioner< TAlgebra >::preprocess().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by ug::PCRILUTPreconditioner< TAlgebra >::preprocess().
|
staticprotected |
Referenced by ug::PCRILUTPreconditioner< TAlgebra >::step().
|
staticprotected |
Referenced by ug::PCRILUTPreconditioner< TAlgebra >::step().
|
protected |