Public Member Functions | Static Public Attributes | Friends | List of all members
SolverPerformance< Type > Class Template Reference

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

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
 
template<>
Foam::SolverPerformance< Foam::scalar > max ()
 
template<>
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...
 

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

template<class Type>
class Foam::SolverPerformance< Type >

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 ( )
inline

Definition at line 110 of file SolverPerformance.H.

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 ( "SolverPerformance< Type >"  )
const word& solverName ( ) const
inline

Return solver name.

Definition at line 144 of file SolverPerformance.H.

Referenced by SolverPerformance< Type >::operator!=().

Here is the caller graph for this function:

word& solverName ( )
inline

Return solver name.

Definition at line 150 of file SolverPerformance.H.

const word& fieldName ( ) const
inline

Return field name.

Definition at line 157 of file SolverPerformance.H.

Referenced by data::setSolverPerformance().

Here is the caller graph for this function:

const Type& initialResidual ( ) const
inline
Type& initialResidual ( )
inline

Return initial residual.

Definition at line 170 of file SolverPerformance.H.

const Type& finalResidual ( ) const
inline

Return final residual.

Definition at line 177 of file SolverPerformance.H.

Referenced by SolverPerformance< Type >::operator!=(), SmoothSolver< Type, DType, LUType >::solve(), PCG::solve(), PBiCG::solve(), smoothSolver::solve(), PBiCGStab::solve(), and GAMGSolver::solve().

Here is the caller graph for this function:

Type& finalResidual ( )
inline

Return final residual.

Definition at line 183 of file SolverPerformance.H.

label nIterations ( ) const
inline

Return number of iterations.

Definition at line 190 of file SolverPerformance.H.

Referenced by SolverPerformance< Type >::operator!=(), SmoothSolver< Type, DType, LUType >::solve(), PCG::solve(), PBiCG::solve(), smoothSolver::solve(), PBiCGStab::solve(), and GAMGSolver::solve().

Here is the caller graph for this function:

label& nIterations ( )
inline

Return number of iterations.

Definition at line 196 of file SolverPerformance.H.

bool converged ( ) const
inline
bool singular ( ) const

Is the matrix singular?

Definition at line 48 of file SolverPerformance.C.

References SolverPerformance< Type >::checkConvergence().

Referenced by SolverPerformance< Type >::converged(), and SolverPerformance< Type >::operator!=().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Check, store and return convergence.

Definition at line 61 of file SolverPerformance.C.

References Foam::cmptMultiply(), Foam::endl(), Foam::Info, and SolverPerformance< Type >::print().

Referenced by SolverPerformance< Type >::converged(), SolverPerformance< Type >::singular(), SmoothSolver< Type, DType, LUType >::solve(), PBiCG::solve(), PCG::solve(), smoothSolver::solve(), PBiCGStab::solve(), and GAMGSolver::solve().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkSingularity ( const Type &  residual)

Singularity test.

Definition at line 33 of file SolverPerformance.C.

References Foam::component().

Referenced by SolverPerformance< Type >::converged(), PCG::solve(), PBiCG::solve(), and PBiCGStab::solve().

Here is the call graph for this function:

Here is the caller graph for this function:

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(), Foam::endl(), and SolverPerformance< Type >::replace().

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

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Referenced by SolverPerformance< Type >::converged(), and SolverPerformance< Type >::print().

Here is the caller graph for this function:

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().

Referenced by SolverPerformance< Type >::converged().

Here is the call graph for this function:

Here is the caller graph for this function:

bool operator!= ( const SolverPerformance< Type > &  sp) const
Foam::SolverPerformance< Foam::scalar > max ( )

Definition at line 41 of file solverPerformance.C.

SolverPerformance< scalar > max ( )

Friends And Related Function Documentation

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

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

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

Member Data Documentation

const scalar great_
static

Large Type for the use in solvers.

Definition at line 99 of file SolverPerformance.H.

Referenced by PBiCG::solve(), and PCG::solve().

const scalar small_
static

Small Type for the use in solvers.

Definition at line 102 of file SolverPerformance.H.

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

const scalar vsmall_
static

Very small Type for the use in solvers.

Definition at line 105 of file SolverPerformance.H.


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