Public Member Functions | Static Public Attributes | Private Attributes | Friends
SolverPerformance Class Reference

SolverPerformance is the class returned by the LduMatrix solver containing performance statistics. More...

Collaboration diagram for SolverPerformance:
Collaboration graph
[legend]

Public Member Functions

 ClassName ("SolverPerformance")
 
 SolverPerformance ()
 
 SolverPerformance (const word &solverName, const word &fieldName, const Type &iRes=pTraits< Type >::zero, const Type &fRes=pTraits< Type >::zero, const label nIter=0, const bool converged=false, const bool singular=false)
 
const wordsolverName () const
 Return solver name. More...
 
wordsolverName ()
 Return solver name. More...
 
const wordfieldName () const
 Return field name. More...
 
const Type & initialResidual () const
 Return initial residual. More...
 
Type & initialResidual ()
 Return initial residual. More...
 
const Type & finalResidual () const
 Return final residual. More...
 
Type & finalResidual ()
 Return final residual. More...
 
label nIterations () const
 Return number of iterations. More...
 
labelnIterations ()
 Return number of iterations. More...
 
bool converged () const
 Has the solver converged? More...
 
bool singular () const
 Is the matrix singular? More...
 
bool checkConvergence (const Type &tolerance, const Type &relTolerance)
 Check, store and return convergence. More...
 
bool checkSingularity (const Type &residual)
 Singularity test. More...
 
void print (Ostream &os) const
 Print summary of solver performance to the given stream. More...
 
void replace (const label cmpt, const SolverPerformance< typename pTraits< Type >::cmptType > &sp)
 Replace component based on the minimal SolverPerformance. More...
 
SolverPerformance< typename pTraits< Type >::cmptType > max ()
 Return the summary maximum of SolverPerformance<Type> More...
 
bool operator!= (const SolverPerformance< Type > &) const
 
Foam::SolverPerformance< Foam::scalar > max ()
 
SolverPerformance< scalar > max ()
 

Static Public Attributes

static const scalar great_
 Large Type for the use in solvers. More...
 
static const scalar small_
 Small Type for the use in solvers. More...
 
static const scalar vsmall_
 Very small Type for the use in solvers. More...
 

Private Attributes

word solverName_
 
word fieldName_
 
Type initialResidual_
 
Type finalResidual_
 
label noIterations_
 
bool converged_
 
FixedList< bool, pTraits< Type >::nComponents > singular_
 

Friends

SolverPerformance< Type > Foam::max (const SolverPerformance< Type > &, const SolverPerformance< Type > &)
 Return the element-wise maximum of two SolverPerformance<Type>s. More...
 
Istreamoperator>> (Istream &, SolverPerformance< Type > &)
 
Ostreamoperator (Ostream &, const SolverPerformance< Type > &)
 

Detailed Description

SolverPerformance is the class returned by the LduMatrix solver containing performance statistics.

Source files

Definition at line 49 of file SolverPerformance.H.

Constructor & Destructor Documentation

◆ SolverPerformance() [1/2]

SolverPerformance ( )
inline

Definition at line 110 of file SolverPerformance.H.

◆ SolverPerformance() [2/2]

SolverPerformance ( const word solverName,
const word fieldName,
const Type &  iRes = pTraits<Type>::zero,
const Type &  fRes = pTraits<Type>::zero,
const label  nIter = 0,
const bool  converged = false,
const bool  singular = false 
)
inline

Definition at line 121 of file SolverPerformance.H.

Member Function Documentation

◆ ClassName()

ClassName ( "SolverPerformance"  )

◆ solverName() [1/2]

const word& solverName ( ) const
inline

Return solver name.

Definition at line 144 of file SolverPerformance.H.

References SolverPerformance::solverName_.

◆ solverName() [2/2]

word& solverName ( )
inline

Return solver name.

Definition at line 150 of file SolverPerformance.H.

References SolverPerformance::solverName_.

◆ fieldName()

const word& fieldName ( ) const
inline

Return field name.

Definition at line 157 of file SolverPerformance.H.

References SolverPerformance::fieldName_.

Referenced by data::setSolverPerformance().

Here is the caller graph for this function:

◆ initialResidual() [1/2]

const Type& initialResidual ( ) const
inline

◆ initialResidual() [2/2]

Type& initialResidual ( )
inline

Return initial residual.

Definition at line 170 of file SolverPerformance.H.

References SolverPerformance::initialResidual_.

◆ finalResidual() [1/2]

const Type& finalResidual ( ) const
inline

◆ finalResidual() [2/2]

Type& finalResidual ( )
inline

Return final residual.

Definition at line 183 of file SolverPerformance.H.

References SolverPerformance::finalResidual_.

◆ nIterations() [1/2]

label nIterations ( ) const
inline

◆ nIterations() [2/2]

label& nIterations ( )
inline

Return number of iterations.

Definition at line 196 of file SolverPerformance.H.

References SolverPerformance::noIterations_.

◆ converged()

bool converged ( ) const
inline

Has the solver converged?

Definition at line 203 of file SolverPerformance.H.

References SolverPerformance::converged_.

◆ singular()

bool singular ( ) const

Is the matrix singular?

Definition at line 48 of file SolverPerformance.C.

◆ checkConvergence()

bool checkConvergence ( const Type &  tolerance,
const Type &  relTolerance 
)

◆ checkSingularity()

bool checkSingularity ( const Type &  residual)

Singularity test.

Definition at line 33 of file SolverPerformance.C.

References Foam::component().

Referenced by PBiCCCG< Type, DType, LUType >::solve(), PBiCICG< Type, DType, LUType >::solve(), PCICG< Type, DType, LUType >::solve(), PBiCGSTAB::solve(), PBiCG::solve(), PCG::solve(), and PBiCGStab::solve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ print()

void print ( Ostream os) const

Print summary of solver performance to the given stream.

Definition at line 97 of file SolverPerformance.C.

References Foam::component(), and Foam::endl().

Referenced by fvMatrix::fvSolver::solve(), GAMGSolver::solve(), GAMGSolver::solveCoarsestLevel(), fvMatrix< Type >::solveCoupled(), and fvMatrix< Type >::solveSegregated().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ replace()

void replace ( const label  cmpt,
const SolverPerformance< typename pTraits< Type >::cmptType > &  sp 
)

Replace component based on the minimal SolverPerformance.

Definition at line 131 of file SolverPerformance.C.

◆ max() [1/3]

Foam::SolverPerformance< typename Foam::pTraits< Type >::cmptType > max ( )

Return the summary maximum of SolverPerformance<Type>

Effectively it will mostly return solverPerformanceScalar

Definition at line 144 of file SolverPerformance.C.

References Foam::cmptMax().

Here is the call graph for this function:

◆ operator!=()

bool operator!= ( const SolverPerformance< Type > &  sp) const

Definition at line 161 of file SolverPerformance.C.

◆ max() [2/3]

Foam::SolverPerformance< Foam::scalar > max ( )

Definition at line 41 of file solverPerformance.C.

◆ max() [3/3]

SolverPerformance< scalar > max ( )

Friends And Related Function Documentation

◆ Foam::max

SolverPerformance<Type> Foam::max ( const SolverPerformance< Type > &  ,
const SolverPerformance< Type > &   
)
friend

Return the element-wise maximum of two SolverPerformance<Type>s.

◆ operator>>

Istream& operator>> ( Istream ,
SolverPerformance< Type > &   
)
friend

◆ operator

Ostream& operator ( Ostream ,
const SolverPerformance< Type > &   
)
friend

Field Documentation

◆ solverName_

word solverName_
private

Definition at line 82 of file SolverPerformance.H.

Referenced by SolverPerformance::solverName().

◆ fieldName_

word fieldName_
private

Definition at line 83 of file SolverPerformance.H.

Referenced by SolverPerformance::fieldName().

◆ initialResidual_

Type initialResidual_
private

Definition at line 84 of file SolverPerformance.H.

Referenced by SolverPerformance::initialResidual().

◆ finalResidual_

Type finalResidual_
private

Definition at line 85 of file SolverPerformance.H.

Referenced by SolverPerformance::finalResidual().

◆ noIterations_

label noIterations_
private

Definition at line 86 of file SolverPerformance.H.

Referenced by SolverPerformance::nIterations().

◆ converged_

bool converged_
private

Definition at line 87 of file SolverPerformance.H.

Referenced by SolverPerformance::converged().

◆ singular_

FixedList<bool, pTraits<Type>::nComponents> singular_
private

Definition at line 88 of file SolverPerformance.H.

◆ great_

const scalar great_
static

Large Type for the use in solvers.

Definition at line 99 of file SolverPerformance.H.

Referenced by PBiCICG< Type, DType, LUType >::solve(), PCICG< Type, DType, LUType >::solve(), PCG::solve(), PBiCG::solve(), and PBiCGSTAB::solve().

◆ small_

const scalar small_
static

Small Type for the use in solvers.

Definition at line 102 of file SolverPerformance.H.

Referenced by lduMatrix::solver::normFactor().

◆ vsmall_

const scalar vsmall_
static

Very small Type for the use in solvers.

Definition at line 105 of file SolverPerformance.H.

Referenced by PBiCICG< Type, DType, LUType >::solve(), and PCICG< Type, DType, LUType >::solve().


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