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 word & solverName () const
 Return solver name. More...
 
word & solverName ()
 Return solver name. More...
 
const word & fieldName () 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...
 
label & nIterations ()
 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...
 
Istream & operator>> (Istream &, SolverPerformance< Type > &)
 
Ostream & operator (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: