31 template<
class Type,
class DType,
class LUType>
45 template<
class Type,
class DType,
class LUType>
64 upperPtr_ =
new Field<LUType>(*(
A.upperPtr_));
69 lowerPtr_ =
new Field<LUType>(*(
A.lowerPtr_));
74 sourcePtr_ =
new Field<Type>(*(
A.sourcePtr_));
79 template<
class Type,
class DType,
class LUType>
95 diagPtr_ =
A.diagPtr_;
101 upperPtr_ =
A.upperPtr_;
102 A.upperPtr_ =
nullptr;
107 lowerPtr_ =
A.lowerPtr_;
108 A.lowerPtr_ =
nullptr;
113 sourcePtr_ =
A.sourcePtr_;
114 A.sourcePtr_ =
nullptr;
121 diagPtr_ =
new Field<DType>(*(
A.diagPtr_));
126 upperPtr_ =
new Field<LUType>(*(
A.upperPtr_));
131 lowerPtr_ =
new Field<LUType>(*(
A.lowerPtr_));
136 sourcePtr_ =
new Field<Type>(*(
A.sourcePtr_));
142 template<
class Type,
class DType,
class LUType>
150 diagPtr_(new
Field<DType>(is)),
151 upperPtr_(new
Field<LUType>(is)),
152 lowerPtr_(new
Field<LUType>(is)),
153 sourcePtr_(new
Field<Type>(is)),
162 template<
class Type,
class DType,
class LUType>
189 template<
class Type,
class DType,
class LUType>
201 template<
class Type,
class DType,
class LUType>
214 lduAddr().lowerAddr().size(),
224 template<
class Type,
class DType,
class LUType>
237 lduAddr().lowerAddr().size(),
247 template<
class Type,
class DType,
class LUType>
259 template<
class Type,
class DType,
class LUType>
265 <<
"diagPtr_ unallocated"
273 template<
class Type,
class DType,
class LUType>
276 if (!lowerPtr_ && !upperPtr_)
279 <<
"lowerPtr_ or upperPtr_ unallocated"
294 template<
class Type,
class DType,
class LUType>
297 if (!lowerPtr_ && !upperPtr_)
300 <<
"lowerPtr_ or upperPtr_ unallocated"
315 template<
class Type,
class DType,
class LUType>
321 <<
"sourcePtr_ unallocated"
331 template<
class Type,
class DType,
class LUType>
347 os <<
"Upper triangle = "
354 os <<
"Lower triangle = "
366 os.
check(
"Ostream& operator<<(Ostream&, const LduMatrix&");
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
virtual bool check(const char *operation) const
Check IOstream status for given operation.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
LduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
Field< LUType > & upper()
LduMatrix(const lduMesh &)
Construct given an LDU addressed mesh.
Field< LUType > & lower()
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
static const coefficient A("A", dimPressure, 611.21)
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)