55 e.dict().readEntry(
"smoother",
name);
68 const word& fieldName,
84 e.dict().readEntry(
"smoother",
name);
95 auto* ctorPtr = symMatrixConstructorTable(
name);
102 "symmetric matrix smoother",
104 *symMatrixConstructorTablePtr_
108 return autoPtr<lduMatrix::smoother>
123 auto* ctorPtr = asymMatrixConstructorTable(
name);
130 "asymmetric matrix smoother",
132 *asymMatrixConstructorTablePtr_
136 return autoPtr<lduMatrix::smoother>
151 <<
"cannot solve incomplete matrix, "
152 "no diagonal or off-diagonal coefficient"
163 const word& fieldName,
170 fieldName_(fieldName),
172 interfaceBouCoeffs_(interfaceBouCoeffs),
173 interfaceIntCoeffs_(interfaceIntCoeffs),
174 interfaces_(interfaces)
A field of fields is a PtrList of fields with reference counting.
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 smoothers.
const FieldField< Field, scalar > & interfaceIntCoeffs() const noexcept
const lduMatrix & matrix_
const lduInterfaceFieldPtrsList & interfaces_
smoother(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces)
Construct for given field name, matrix etc.
const lduInterfaceFieldPtrsList & interfaces() const noexcept
const FieldField< Field, scalar > & interfaceBouCoeffs_
const lduMatrix & matrix() const noexcept
static autoPtr< smoother > New(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls)
Return a new smoother.
const FieldField< Field, scalar > & interfaceIntCoeffs_
static word getName(const dictionary &)
Find the smoother name (directly or from a sub-dictionary).
const FieldField< Field, scalar > & interfaceBouCoeffs() const noexcept
const word & fieldName() const noexcept
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
lduMatrix(const lduMesh &mesh)
Construct (without coefficients) for an LDU addressed mesh.
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)
UPtrList< const lduInterfaceField > lduInterfaceFieldPtrsList
List of coupled interface fields to be used in coupling.
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.