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::ConditionNumberUtility Class Reference

Utility to compute the condition number. More...

#include <condition_number_utility.h>

Collaboration diagram for Kratos::ConditionNumberUtility:

Public Member Functions

Operators
 ConditionNumberUtility ()
 Default constructor. More...
 
 ConditionNumberUtility (LinearSolverType::Pointer pEigenSolverMax, LinearSolverType::Pointer pEigenSolverMin)
 Default constructor. More...
 
virtual ~ConditionNumberUtility ()
 Destructor. More...
 
Operations
double GetConditionNumber (SparseMatrixType &rInputMatrix)
 This function computes using the inverse power method the minimal eigenvalue. More...
 
double GetConditionNumber (SparseMatrixType &rInputMatrix, LinearSolverType::Pointer pEigenSolverMax, LinearSolverType::Pointer pEigenSolverMin)
 This function computes using the inverse power method the minimal eigenvalue. More...
 

Type Definitions

typedef std::size_t SizeType
 The sisze type. More...
 
typedef std::size_t IndexType
 The index type. More...
 
typedef UblasSpace< double, CompressedMatrix, boost::numeric::ublas::vector< double > > SparseSpaceType
 The sparse space considered (the one containing the compressed matrix) More...
 
typedef UblasSpace< double, Matrix, VectorLocalSpaceType
 The dense space considered. More...
 
typedef SparseSpaceType::MatrixType SparseMatrixType
 The compressed matrix. More...
 
typedef SparseSpaceType::VectorType VectorType
 The vector considered. More...
 
typedef LocalSpaceType::MatrixType DenseMatrixType
 The dense matrix. More...
 
typedef LocalSpaceType::VectorType DenseVectorType
 The dense vector. More...
 
typedef LinearSolver< SparseSpaceType, LocalSpaceTypeLinearSolverType
 The definion of the linear solver. More...
 
typedef Reorderer< SparseSpaceType, LocalSpaceTypeReordererType
 The reorder considered. More...
 
typedef SkylineLUFactorizationSolver< SparseSpaceType, LocalSpaceType, ReordererTypeSkylineLUFactorizationSolverType
 Skyline solver definion. More...
 
typedef PowerIterationHighestEigenvalueSolver< SparseSpaceType, LocalSpaceType, LinearSolverTypePowerIterationHighestEigenvalueSolverType
 Power iteration solver for the highest eigenvalue. More...
 
typedef PowerIterationEigenvalueSolver< SparseSpaceType, LocalSpaceType, LinearSolverTypePowerIterationEigenvalueSolverType
 Power iteration solver for the lowest eigenvalue. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ConditionNumberUtility)
 Pointer definition of ConditionNumberUtility. More...
 

Detailed Description

Utility to compute the condition number.

This utility is used in order to compute the condition number of a sparse matrix. Please provide an eigensolver for the maximum and minimum eigenvalue or the power iterations solvers will be considered by default

Author
Vicente Mataix Ferrandiz

Member Typedef Documentation

◆ DenseMatrixType

The dense matrix.

◆ DenseVectorType

The dense vector.

◆ IndexType

The index type.

◆ LinearSolverType

The definion of the linear solver.

◆ LocalSpaceType

The dense space considered.

◆ PowerIterationEigenvalueSolverType

Power iteration solver for the lowest eigenvalue.

◆ PowerIterationHighestEigenvalueSolverType

Power iteration solver for the highest eigenvalue.

◆ ReordererType

The reorder considered.

◆ SizeType

The sisze type.

◆ SkylineLUFactorizationSolverType

Skyline solver definion.

◆ SparseMatrixType

The compressed matrix.

◆ SparseSpaceType

The sparse space considered (the one containing the compressed matrix)

◆ VectorType

The vector considered.

Constructor & Destructor Documentation

◆ ConditionNumberUtility() [1/2]

Kratos::ConditionNumberUtility::ConditionNumberUtility ( )
inline

Default constructor.

No eigen solvers provided, using the PowerIteration ones as default

◆ ConditionNumberUtility() [2/2]

Kratos::ConditionNumberUtility::ConditionNumberUtility ( LinearSolverType::Pointer  pEigenSolverMax,
LinearSolverType::Pointer  pEigenSolverMin 
)
inline

Default constructor.

Parameters
pEigenSolverMaxThe eigensolver used to determine the highest eigen value
pEigenSolverMinThe eigensolver used to determine the lowest eigen value

◆ ~ConditionNumberUtility()

virtual Kratos::ConditionNumberUtility::~ConditionNumberUtility ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ GetConditionNumber() [1/2]

double Kratos::ConditionNumberUtility::GetConditionNumber ( SparseMatrixType rInputMatrix)
inline

This function computes using the inverse power method the minimal eigenvalue.

Parameters
rInputMatrixThe matrix to compute the eigenvalue
Returns
condition_number The condition number

◆ GetConditionNumber() [2/2]

double Kratos::ConditionNumberUtility::GetConditionNumber ( SparseMatrixType rInputMatrix,
LinearSolverType::Pointer  pEigenSolverMax,
LinearSolverType::Pointer  pEigenSolverMin 
)
inline

This function computes using the inverse power method the minimal eigenvalue.

Parameters
rInputMatrixThe matrix to compute the eigenvalue
pEigenSolverMaxThe solver to get the maximal eigen value
pEigenSolverMinThe solver to get the minimal eigen value
Returns
condition_number The condition number

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::ConditionNumberUtility::KRATOS_CLASS_POINTER_DEFINITION ( ConditionNumberUtility  )

Pointer definition of ConditionNumberUtility.


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