KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType > Class Template Reference

ILUPreconditioner class. More...

#include <ilu_preconditioner.h>

Inheritance diagram for Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >:
Collaboration diagram for Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >:

Public Member Functions

Life Cycle
 ILUPreconditioner ()
 Default constructor. More...
 
 ILUPreconditioner (const ILUPreconditioner &Other)
 Copy constructor. More...
 
 ~ILUPreconditioner () override
 Destructor. More...
 
Operators
ILUPreconditioneroperator= (const ILUPreconditioner &Other)
 Assignment operator. More...
 
Operations
void Mult (SparseMatrixType &rA, VectorType &rX, VectorType &rY) override
 
void TransposeMult (SparseMatrixType &rA, VectorType &rX, VectorType &rY) override
 
VectorTypeApplyLeft (VectorType &rX) override
 
VectorTypeApplyTransposeLeft (VectorType &rX) override
 
Input and output
std::string Info () const override
 Return information about this object. More...
 
void PrintInfo (std::ostream &OStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &OStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::Preconditioner< TSparseSpaceType, TDenseSpaceType >
 Preconditioner ()
 Default constructor. More...
 
 Preconditioner (const Preconditioner &Other)
 Copy constructor. More...
 
virtual ~Preconditioner ()
 Destructor. More...
 
Preconditioneroperator= (const Preconditioner &Other)
 Assignment operator. More...
 
virtual void Initialize (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 
virtual void Initialize (SparseMatrixType &rA, DenseMatrixType &rX, DenseMatrixType &rB)
 
virtual void InitializeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 
virtual void FinalizeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB)
 
virtual void Clear ()
 
virtual bool AdditionalPhysicalDataIsNeeded ()
 
virtual void ProvideAdditionalData (SparseMatrixType &rA, VectorType &rX, VectorType &rB, typename ModelPart::DofsArrayType &rdof_set, ModelPart &r_model_part)
 
virtual VectorTypeApplyRight (VectorType &rX)
 
virtual VectorTypeApplyTransposeRight (VectorType &rX)
 
virtual VectorTypeApplyInverseRight (VectorType &rX)
 
virtual VectorTypeFinalize (VectorType &rX)
 
 KRATOS_CLASS_POINTER_DEFINITION (Preconditioner)
 Pointer definition of Preconditioner. More...
 

Protected Attributes

Protected member Variables
unsigned int mILUSize
 
intiL
 
intjL
 
intiU
 
intjU
 
doubleL
 
doubleU
 

Type Definitions

typedef Preconditioner< TSparseSpaceType, TDenseSpaceType > BaseType
 
typedef TSparseSpaceType::MatrixType SparseMatrixType
 
typedef TSparseSpaceType::VectorType VectorType
 
typedef TDenseSpaceType::MatrixType DenseMatrixType
 
 KRATOS_CLASS_POINTER_DEFINITION (ILUPreconditioner)
 Counted pointer of ILUPreconditioner. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::Preconditioner< TSparseSpaceType, TDenseSpaceType >
typedef TSparseSpaceType::MatrixType SparseMatrixType
 
typedef TSparseSpaceType::VectorType VectorType
 
typedef TDenseSpaceType::MatrixType DenseMatrixType
 

Detailed Description

template<class TSparseSpaceType, class TDenseSpaceType>
class Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >

ILUPreconditioner class.

Member Typedef Documentation

◆ BaseType

template<class TSparseSpaceType , class TDenseSpaceType >
typedef Preconditioner<TSparseSpaceType, TDenseSpaceType> Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::BaseType

◆ DenseMatrixType

template<class TSparseSpaceType , class TDenseSpaceType >
typedef TDenseSpaceType::MatrixType Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::DenseMatrixType

◆ SparseMatrixType

template<class TSparseSpaceType , class TDenseSpaceType >
typedef TSparseSpaceType::MatrixType Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::SparseMatrixType

◆ VectorType

template<class TSparseSpaceType , class TDenseSpaceType >
typedef TSparseSpaceType::VectorType Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::VectorType

Constructor & Destructor Documentation

◆ ILUPreconditioner() [1/2]

template<class TSparseSpaceType , class TDenseSpaceType >
Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::ILUPreconditioner ( )
inline

Default constructor.

◆ ILUPreconditioner() [2/2]

template<class TSparseSpaceType , class TDenseSpaceType >
Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::ILUPreconditioner ( const ILUPreconditioner< TSparseSpaceType, TDenseSpaceType > &  Other)
inline

Copy constructor.

◆ ~ILUPreconditioner()

template<class TSparseSpaceType , class TDenseSpaceType >
Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::~ILUPreconditioner ( )
inlineoverride

Destructor.

Member Function Documentation

◆ ApplyLeft()

template<class TSparseSpaceType , class TDenseSpaceType >
VectorType& Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::ApplyLeft ( VectorType rX)
inlineoverridevirtual

multiply first rX by L^-1 and store result in temp then multiply temp by U^-1 and store result in rX

Parameters
rXUnknows of preconditioner suystem

Reimplemented from Kratos::Preconditioner< TSparseSpaceType, TDenseSpaceType >.

◆ ApplyTransposeLeft()

template<class TSparseSpaceType , class TDenseSpaceType >
VectorType& Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::ApplyTransposeLeft ( VectorType rX)
inlineoverridevirtual

Multiply first rX by U^-T and store result in temp then multiply temp by L^-T and store result in rX

Parameters
rXUnknows of preconditioner suystem

Reimplemented from Kratos::Preconditioner< TSparseSpaceType, TDenseSpaceType >.

◆ Info()

template<class TSparseSpaceType , class TDenseSpaceType >
std::string Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::Info ( ) const
inlineoverridevirtual

Return information about this object.

Reimplemented from Kratos::Preconditioner< TSparseSpaceType, TDenseSpaceType >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TSparseSpaceType , class TDenseSpaceType >
Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::KRATOS_CLASS_POINTER_DEFINITION ( ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >  )

Counted pointer of ILUPreconditioner.

◆ Mult()

template<class TSparseSpaceType , class TDenseSpaceType >
void Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::Mult ( SparseMatrixType rA,
VectorType rX,
VectorType rY 
)
inlineoverridevirtual

◆ operator=()

template<class TSparseSpaceType , class TDenseSpaceType >
ILUPreconditioner& Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::operator= ( const ILUPreconditioner< TSparseSpaceType, TDenseSpaceType > &  Other)
inline

Assignment operator.

◆ PrintData()

template<class TSparseSpaceType , class TDenseSpaceType >
void Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::Preconditioner< TSparseSpaceType, TDenseSpaceType >.

◆ PrintInfo()

template<class TSparseSpaceType , class TDenseSpaceType >
void Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::PrintInfo ( std::ostream &  OStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::Preconditioner< TSparseSpaceType, TDenseSpaceType >.

◆ TransposeMult()

template<class TSparseSpaceType , class TDenseSpaceType >
void Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::TransposeMult ( SparseMatrixType rA,
VectorType rX,
VectorType rY 
)
inlineoverridevirtual

Member Data Documentation

◆ iL

template<class TSparseSpaceType , class TDenseSpaceType >
int* Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::iL
protected

◆ iU

template<class TSparseSpaceType , class TDenseSpaceType >
int * Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::iU
protected

◆ jL

template<class TSparseSpaceType , class TDenseSpaceType >
int * Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::jL
protected

◆ jU

template<class TSparseSpaceType , class TDenseSpaceType >
int * Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::jU
protected

◆ L

template<class TSparseSpaceType , class TDenseSpaceType >
double* Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::L
protected

◆ mILUSize

template<class TSparseSpaceType , class TDenseSpaceType >
unsigned int Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::mILUSize
protected

◆ U

template<class TSparseSpaceType , class TDenseSpaceType >
double * Kratos::ILUPreconditioner< TSparseSpaceType, TDenseSpaceType >::U
protected

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