Loading...
Searching...
No Matches
DiagonalSolver< Type, DType, LUType > Class Template Reference

Foam::DiagonalSolver. More...

#include <DiagonalSolver.H>

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

Public Member Functions

 DiagonalSolver (const DiagonalSolver &)=delete
 No copy construct.
void operator= (const DiagonalSolver &)=delete
 No copy assignment.
 TypeName ("diagonal")
 Runtime type information.
 DiagonalSolver (const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict)
 Construct from matrix.
void read (const dictionary &solverDict)
 Read and reset the solver parameters from the given dictionary.
virtual SolverPerformance< Type > solve (Field< Type > &psi) const
 Solve the matrix with this solver.
Public Member Functions inherited from LduMatrix< Type, DType, LUType >::solver
virtual const wordtype () const =0
 Runtime type information.
 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)
 Construct for given field name, matrix and controls.
virtual ~solver ()=default
 Destructor.
const wordfieldName () const noexcept
const LduMatrix< Type, DType, LUType > & matrix () const noexcept
Type normFactor (const Field< Type > &psi, const Field< Type > &Apsi, Field< Type > &tmpField, const lduMatrix::normTypes normType) const
 Return the matrix norm using the specified norm method.
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 stopping criterion.

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.
Protected Member Functions inherited from LduMatrix< Type, DType, LUType >::solver
virtual void readControls ()
 Read the control parameters from controlDict_.
template<class T>
void readControl (const dictionary &dict, T &val, const word &key)
 Deprecated(2021-09) Read control parameter from dictionary.
Protected Attributes inherited from LduMatrix< Type, DType, LUType >::solver
word fieldName_
const LduMatrix< Type, DType, LUType > & matrix_
dictionary controlDict_
 Dictionary of solution controls.
int log_
 Verbosity level for solver output statements.
label minIter_
 Minimum number of iterations in the solver.
label maxIter_
 Maximum number of iterations in the solver.
lduMatrix::normTypes normType_
 The matrix normalisation type.
Type tolerance_
 Final convergence tolerance.
Type relTol_
 Convergence tolerance relative to the initial.

Detailed Description

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

Foam::DiagonalSolver.

Source files

Definition at line 47 of file DiagonalSolver.H.

Constructor & Destructor Documentation

◆ DiagonalSolver() [1/2]

template<class Type, class DType, class LUType>
DiagonalSolver ( const DiagonalSolver< Type, DType, LUType > & )
delete

No copy construct.

References DiagonalSolver().

Referenced by DiagonalSolver(), and operator=().

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

◆ DiagonalSolver() [2/2]

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

Construct from matrix.

Definition at line 26 of file DiagonalSolver.C.

References LduMatrix< Type, DType, LUType >::solver::fieldName(), LduMatrix< Type, DType, LUType >::solver::matrix(), and LduMatrix< Type, DType, LUType >::solver::solver().

Here is the call graph for this function:

Member Function Documentation

◆ operator=()

template<class Type, class DType, class LUType>
void operator= ( const DiagonalSolver< Type, DType, LUType > & )
delete

No copy assignment.

References DiagonalSolver().

Here is the call graph for this function:

◆ TypeName()

template<class Type, class DType, class LUType>
TypeName ( "diagonal" )

Runtime type information.

References LduMatrix< Type, DType, LUType >::solver::fieldName(), LduMatrix< Type, DType, LUType >::solver::matrix(), and psi.

Here is the call graph for this function:

◆ read()

template<class Type, class DType, class LUType>
void read ( const dictionary & solverDict)
virtual

Read and reset the solver parameters from the given dictionary.

Reimplemented from LduMatrix< Type, DType, LUType >::solver.

Definition at line 45 of file DiagonalSolver.C.

◆ solve()

template<class Type, class DType, class LUType>
Foam::SolverPerformance< Type > solve ( Field< Type > & psi) const
virtual

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