55 e.dict().readEntry(
"preconditioner",
name);
82 e.dict().readEntry(
"preconditioner",
name);
91 if (sol.matrix().symmetric())
93 auto* ctorPtr = symMatrixConstructorTable(
name);
100 "symmetric matrix preconditioner",
102 *symMatrixConstructorTablePtr_
106 return autoPtr<lduMatrix::preconditioner>
115 else if (sol.matrix().asymmetric())
117 auto* ctorPtr = asymMatrixConstructorTable(
name);
124 "asymmetric matrix preconditioner",
126 *asymMatrixConstructorTablePtr_
130 return autoPtr<lduMatrix::preconditioner>
141 <<
"cannot solve incomplete matrix, "
142 "no diagonal or off-diagonal coefficient"
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const entry & lookupEntry(const word &keyword, enum keyType::option matchOpt) const
Search for an entry (const access) with the given keyword.
static const dictionary null
An empty dictionary, which is also the parent for all dictionaries.
A keyword and a list of tokens is an 'entry'.
virtual bool isDict() const noexcept
True if this entry is a dictionary.
Abstract base-class for lduMatrix preconditioners.
static autoPtr< preconditioner > New(const solver &sol, const dictionary &solverControls)
Return a new preconditioner.
static word getName(const dictionary &)
Find the preconditioner name (directly or from a sub-dictionary).
Abstract base-class for lduMatrix solvers.
const lduMatrix & matrix() const noexcept
bool asymmetric() const noexcept
Matrix is asymmetric (ie, full).
bool symmetric() const noexcept
Matrix is symmetric.
A class for handling words, derived from Foam::string.
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.