Plugins
ug::PCRILUTPreconditioner< TAlgebra > Class Template Reference

PCRILUTPreconditioner class. More...

#include <pcr_ilut.h>

+ Inheritance diagram for ug::PCRILUTPreconditioner< TAlgebra >:

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_typematrix_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
 

Public Member Functions

SmartPtr< ILinearIterator< vector_type > > clone ()
 
 PCRILUTPreconditioner (double eps, bool info)
 
 PCRILUTPreconditioner (double eps=1e-6)
 
 PCRILUTPreconditioner (number threshvv, number thresh_vp_pv_pp)
 
 PCRILUTPreconditioner (number threshvv, number thresh_vp_pv_pp, bool info)
 
 PCRILUTPreconditioner (number threshvv, number threshvp, number threshpv, number threshpp)
 
 PCRILUTPreconditioner (number threshvv, number threshvp, number threshpv, number threshpp, bool info)
 
void set_info (bool info)
 sets storage information output to true or false More...
 
void set_threshold (number thresh)
 
void set_threshold (number threshvv, number thresh_vp_pv_pp)
 sets threshold for incomplete LU factorisation More...
 
void set_threshold (number threshvv, number threshvp, number threshpv, number threshpp)
 sets threshold for incomplete LU factorisation More...
 
virtual bool supports_parallel () const
 returns if parallel solving is supported More...
 
virtual ~PCRILUTPreconditioner ()
 
- Public Member Functions inherited from ug::IPreconditioner< TAlgebra >
virtual bool apply (vector_type &c, const vector_type &d)
 
virtual bool apply_update_defect (vector_type &c, vector_type &d)
 
SmartPtr< MatrixOperator< matrix_type, vector_type > > approx_operator ()
 
SmartPtr< MatrixOperator< matrix_type, vector_type > > defect_operator ()
 
virtual bool init (SmartPtr< ILinearOperator< vector_type > > J, const vector_type &u)
 
bool init (SmartPtr< ILinearOperator< vector_type > > L)
 
bool init (SmartPtr< MatrixOperator< matrix_type, vector_type > > Op)
 
 IPreconditioner ()
 
 IPreconditioner (const IPreconditioner< TAlgebra > &parent)
 
 IPreconditioner (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter)
 
virtual void set_approximation (SmartPtr< MatrixOperator< matrix_type, vector_type > > approx)
 
virtual ~IPreconditioner ()
 
- Public Member Functions inherited from ILinearIterator< TAlgebra::vector_type >
virtual std::string config_string () const
 
SmartPtr< IDamping< TAlgebra::vector_type, TAlgebra::vector_type > > damping ()
 
 ILinearIterator ()
 
 ILinearIterator (const ILinearIterator< TAlgebra::vector_type, TAlgebra::vector_type > &parent)
 
virtual bool init (SmartPtr< ILinearOperator< TAlgebra::vector_type, TAlgebra::vector_type > > J, const TAlgebra::vector_type &u)=0
 
virtual bool init (SmartPtr< ILinearOperator< TAlgebra::vector_type, TAlgebra::vector_type > > L)=0
 
void set_damp (number factor)
 
void set_damp (SmartPtr< IDamping< TAlgebra::vector_type, TAlgebra::vector_type > > spScaling)
 
virtual ~ILinearIterator ()
 
- Public Member Functions inherited from ug::DebugWritingObject< class >
SmartPtr< IDebugWriter< algebra_type > > debug_writer ()
 
ConstSmartPtr< IDebugWriter< algebra_type > > debug_writer () const
 
bool debug_writer_valid () const
 
 DebugWritingObject ()
 
 DebugWritingObject (const DebugWritingObject< algebra_type > &parent)
 
 DebugWritingObject (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter)
 
virtual void set_debug (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter)
 
virtual ~DebugWritingObject ()
 
- Public Member Functions inherited from VectorDebugWritingObject< TAlgebra::vector_type >
virtual void set_debug (SmartPtr< IVectorDebugWriter< vector_type > > spDebugWriter)
 
SmartPtr< IVectorDebugWriter< vector_type > > vector_debug_writer ()
 
ConstSmartPtr< IVectorDebugWriter< vector_type > > vector_debug_writer () const
 
bool vector_debug_writer_valid () const
 
 VectorDebugWritingObject ()
 
 VectorDebugWritingObject (SmartPtr< IVectorDebugWriter< vector_type > > spDebugWriter)
 
void write_debug (const vector_type &vec, const char *filename)
 
virtual ~VectorDebugWritingObject ()
 

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
 

Detailed Description

template<typename TAlgebra>
class ug::PCRILUTPreconditioner< TAlgebra >

PCRILUTPreconditioner class.

Member Typedef Documentation

◆ algebra_type

template<typename TAlgebra >
typedef TAlgebra ug::PCRILUTPreconditioner< TAlgebra >::algebra_type

◆ block_type

template<typename TAlgebra >
typedef matrix_type::value_type ug::PCRILUTPreconditioner< TAlgebra >::block_type
private

◆ matrix_operator_type

template<typename TAlgebra >
typedef IPreconditioner<TAlgebra>::matrix_operator_type ug::PCRILUTPreconditioner< TAlgebra >::matrix_operator_type

Matrix Operator type.

◆ matrix_type

template<typename TAlgebra >
typedef TAlgebra::matrix_type ug::PCRILUTPreconditioner< TAlgebra >::matrix_type

◆ vector_type

template<typename TAlgebra >
typedef TAlgebra::vector_type ug::PCRILUTPreconditioner< TAlgebra >::vector_type

Constructor & Destructor Documentation

◆ PCRILUTPreconditioner() [1/6]

template<typename TAlgebra >
ug::PCRILUTPreconditioner< TAlgebra >::PCRILUTPreconditioner ( double  eps = 1e-6)
inline

◆ PCRILUTPreconditioner() [2/6]

template<typename TAlgebra >
ug::PCRILUTPreconditioner< TAlgebra >::PCRILUTPreconditioner ( number  threshvv,
number  thresh_vp_pv_pp 
)
inline

◆ PCRILUTPreconditioner() [3/6]

template<typename TAlgebra >
ug::PCRILUTPreconditioner< TAlgebra >::PCRILUTPreconditioner ( number  threshvv,
number  threshvp,
number  threshpv,
number  threshpp 
)
inline

◆ PCRILUTPreconditioner() [4/6]

template<typename TAlgebra >
ug::PCRILUTPreconditioner< TAlgebra >::PCRILUTPreconditioner ( double  eps,
bool  info 
)
inline

◆ PCRILUTPreconditioner() [5/6]

template<typename TAlgebra >
ug::PCRILUTPreconditioner< TAlgebra >::PCRILUTPreconditioner ( number  threshvv,
number  thresh_vp_pv_pp,
bool  info 
)
inline

◆ PCRILUTPreconditioner() [6/6]

template<typename TAlgebra >
ug::PCRILUTPreconditioner< TAlgebra >::PCRILUTPreconditioner ( number  threshvv,
number  threshvp,
number  threshpv,
number  threshpp,
bool  info 
)
inline

◆ ~PCRILUTPreconditioner()

template<typename TAlgebra >
virtual ug::PCRILUTPreconditioner< TAlgebra >::~PCRILUTPreconditioner ( )
inlinevirtual

Member Function Documentation

◆ clone()

◆ name()

template<typename TAlgebra >
virtual const char* ug::PCRILUTPreconditioner< TAlgebra >::name ( ) const
inlineprotectedvirtual

◆ postprocess()

template<typename TAlgebra >
virtual bool ug::PCRILUTPreconditioner< TAlgebra >::postprocess ( )
inlineprotectedvirtual

◆ preprocess()

◆ set_info()

template<typename TAlgebra >
void ug::PCRILUTPreconditioner< TAlgebra >::set_info ( bool  info)
inline

sets storage information output to true or false

References ug::PCRILUTPreconditioner< TAlgebra >::m_info.

◆ set_threshold() [1/3]

◆ set_threshold() [2/3]

◆ set_threshold() [3/3]

◆ step()

◆ supports_parallel()

template<typename TAlgebra >
virtual bool ug::PCRILUTPreconditioner< TAlgebra >::supports_parallel ( ) const
inlinevirtual

returns if parallel solving is supported

Implements ILinearIterator< TAlgebra::vector_type >.

Member Data Documentation

◆ m_A

template<typename TAlgebra >
matrix_type ug::PCRILUTPreconditioner< TAlgebra >::m_A
protected

◆ m_eps

◆ m_eps_pp

◆ m_eps_pv

◆ m_eps_vp

◆ m_eps_vv

◆ m_info

◆ m_L

◆ m_remove_zeros

template<typename TAlgebra >
bool ug::PCRILUTPreconditioner< TAlgebra >::m_remove_zeros
protected

◆ m_small_lower

template<typename TAlgebra >
const number ug::PCRILUTPreconditioner< TAlgebra >::m_small_lower = 1e-9
staticprotected

◆ m_small_upper

template<typename TAlgebra >
const number ug::PCRILUTPreconditioner< TAlgebra >::m_small_upper = 1e-6
staticprotected

◆ m_U


The documentation for this class was generated from the following file: