PBiCICG< Type, DType, LUType > Class Template Reference

Preconditioned bi-conjugate gradient solver for asymmetric lduMatrices using a run-time selectable preconditioner. More...

Inheritance diagram for PBiCICG< Type, DType, LUType >:
Collaboration diagram for PBiCICG< Type, DType, LUType >:

Public Member Functions

 TypeName ("PBiCICG")
 Runtime type information. More...
 
 PBiCICG (const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict)
 Construct from matrix components and solver data dictionary. More...
 
 PBiCICG (const PBiCICG &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~PBiCICG ()
 
virtual SolverPerformance< Type > solve (Field< Type > &psi) const
 Solve the matrix with this solver. More...
 
void operator= (const PBiCICG &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from LduMatrix< Type, DType, LUType >::solver
virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, solver, symMatrix,(const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict),(fieldName, matrix, solverDict))
 
 declareRunTimeSelectionTable (autoPtr, solver, asymMatrix,(const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict),(fieldName, matrix, solverDict))
 
 solver (const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict)
 
virtual ~solver ()
 
const wordfieldName () const
 
const LduMatrix< Type, DType, LUType > & matrix () const
 
virtual void read (const dictionary &solverDict)
 Read and reset the solver parameters from the given dictionary. More...
 
Type normFactor (const Field< Type > &psi, const Field< Type > &Apsi, Field< Type > &tmpField) const
 Return the matrix norm used to normalise the residual for the. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from LduMatrix< Type, DType, LUType >::solver
static autoPtr< solverNew (const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict)
 Return a new solver. More...
 
- Protected Member Functions inherited from LduMatrix< Type, DType, LUType >::solver
template<class T >
void readControl (const dictionary &controlDict, T &control, const word &controlName)
 Read a control parameter from controlDict. More...
 
virtual void readControls ()
 Read the control parameters from the controlDict_. More...
 
- Protected Attributes inherited from LduMatrix< Type, DType, LUType >::solver
word fieldName_
 
const LduMatrix< Type, DType, LUType > & matrix_
 
dictionary controlDict_
 Dictionary of controls. More...
 
label maxIter_
 Maximum number of iterations in the solver. More...
 
label minIter_
 Minimum number of iterations in the solver. More...
 
Type tolerance_
 Final convergence tolerance. More...
 
Type relTol_
 Convergence tolerance relative to the initial. More...
 
- Static Protected Attributes inherited from LduMatrix< Type, DType, LUType >::solver
static const label defaultMaxIter_ = 1000
 Default maximum number of iterations in the solver. More...
 

Detailed Description

template<class Type, class DType, class LUType>
class Foam::PBiCICG< Type, DType, LUType >

Preconditioned bi-conjugate gradient solver for asymmetric lduMatrices using a run-time selectable preconditioner.

Source files

Definition at line 50 of file PBiCICG.H.

Constructor & Destructor Documentation

◆ PBiCICG() [1/2]

PBiCICG ( const word fieldName,
const LduMatrix< Type, DType, LUType > &  matrix,
const dictionary solverDict 
)

Construct from matrix components and solver data dictionary.

Definition at line 32 of file PBiCICG.C.

◆ PBiCICG() [2/2]

PBiCICG ( const PBiCICG< Type, DType, LUType > &  )
delete

Disallow default bitwise copy construction.

◆ ~PBiCICG()

virtual ~PBiCICG ( )
inlinevirtual

Definition at line 77 of file PBiCICG.H.

References PBiCICG< Type, DType, LUType >::operator=(), psi, and PBiCICG< Type, DType, LUType >::solve().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "PBiCICG< Type, DType, LUType >"  )

Runtime type information.

◆ solve()

Foam::SolverPerformance< Type > solve ( Field< Type > &  psi) const
virtual

Solve the matrix with this solver.

Implements LduMatrix< Type, DType, LUType >::solver.

Definition at line 51 of file PBiCICG.C.

References alpha(), UList< T >::begin(), UList< Type >::begin(), Foam::cmptDivide(), Foam::cmptMag(), Foam::cmptMultiply(), Foam::endl(), Foam::gSumCmptMag(), Foam::gSumCmptProd(), Foam::Info, Foam::compressible::New(), List< Type >::size(), Foam::stabilise(), and Foam::Zero.

Referenced by PBiCICG< Type, DType, LUType >::~PBiCICG().

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

◆ operator=()

void operator= ( const PBiCICG< Type, DType, LUType > &  )
delete

Disallow default bitwise assignment.

Referenced by PBiCICG< Type, DType, LUType >::~PBiCICG().

Here is the caller graph for this function:

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