52 { normTypes::NO_NORM,
"none" },
53 { normTypes::DEFAULT_NORM,
"default" },
54 { normTypes::L1_SCALED_NORM,
"L1_scaled" },
104 lowerPtr_ =
A.lowerPtr_;
105 A.lowerPtr_ =
nullptr;
110 diagPtr_ =
A.diagPtr_;
111 A.diagPtr_ =
nullptr;
116 upperPtr_ =
A.upperPtr_;
117 A.upperPtr_ =
nullptr;
281 if (!lowerPtr_ && !upperPtr_)
284 <<
"lowerPtr_ or upperPtr_ unallocated" 304 <<
"diagPtr_ unallocated" 314 if (!lowerPtr_ && !upperPtr_)
317 <<
"lowerPtr_ or upperPtr_ unallocated" 335 const word& fieldName,
349 : IOobject::scopedName(
"residual", fieldName)
354 const IOdictionary* dataPtr =
359 if (initial && dataPtr->found(
"firstIteration"))
361 *residualPtr = residual;
363 <<
"Setting residual field for first solver iteration " 364 <<
"for solver field: " << fieldName <<
endl;
369 *residualPtr = residual;
371 <<
"Setting residual field for solver field " 372 << fieldName <<
endl;
382 Switch hasLow = ldum.hasLower();
383 Switch hasDiag = ldum.hasDiag();
384 Switch hasUp = ldum.hasUpper();
413 const InfoProxy<lduMatrix>& iproxy
416 const auto& ldum = *iproxy;
418 Switch hasLow = ldum.hasLower();
419 Switch hasDiag = ldum.hasDiag();
420 Switch hasUp = ldum.hasUpper();
422 os <<
"Lower:" << hasLow
423 <<
" Diag:" << hasDiag
424 <<
" Upper:" << hasUp <<
endl;
428 os <<
"lower:" << ldum.lower().size() <<
endl;
432 os <<
"diag :" << ldum.diag().size() <<
endl;
436 os <<
"upper:" << ldum.upper().size() <<
endl;
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
lduMatrix(const lduMesh &)
Construct given an LDU addressed mesh.
void setResidualField(const scalarField &residual, const word &fieldName, const bool initial) const
Set the residual field using an IOField on the object registry if it exists.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Type * findObject(const word &name, const bool recursive=false) const
Return const pointer to the object of the given Type.
IOField< scalar > scalarIOField
IO for a Field of scalar.
static const Enum< normTypes > normTypesNames_
Names for the normTypes.
virtual const objectRegistry & thisDb() const
Return the object registry - resolve conflict polyMesh/lduMesh.
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
static word scopedName(const std::string &scope, const word &name)
Create scope:name or scope_name string.
const dimensionedScalar e
Elementary charge.
Type * getObjectPtr(const word &name, const bool recursive=false) const
Return non-const pointer to the object of the given Type, using a const-cast to have it behave like a...
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
static const scalar defaultTolerance
Default (absolute) tolerance (1e-6)
normTypes
Enumerated matrix normalisation types.
errorManip< error > abort(error &err)
#define DebugInfo
Report an information message using Foam::Info.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
defineTypeNameAndDebug(combustionModel, 0)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
lduMatrix is a general matrix class in which the coefficients are stored as three arrays...
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
bool hasDiag() const noexcept
static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21)
static constexpr const zero Zero
Global zero (0)