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&");
static const Foam::dimensionedScalar A("A", Foam::dimPressure, 611.21)
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...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)