35 if (!lowerPtr_ && !upperPtr_)
57 if (!lowerPtr_ && !upperPtr_)
82 if (!lowerPtr_ && !upperPtr_)
108 <<
"lduMatrix::operator=(const lduMatrix&) : "
109 <<
"attempted assignment to self"
166 if (symmetric() &&
A.symmetric())
168 upper() +=
A.upper();
170 else if (symmetric() &&
A.asymmetric())
181 upper() +=
A.upper();
182 lower() +=
A.lower();
184 else if (asymmetric() &&
A.symmetric())
188 lower() +=
A.upper();
189 upper() +=
A.upper();
193 lower() +=
A.lower();
194 upper() +=
A.lower();
198 else if (asymmetric() &&
A.asymmetric())
200 lower() +=
A.lower();
201 upper() +=
A.upper();
215 else if (
A.diagonal())
223 <<
"Unknown matrix type combination" <<
nl
225 <<
" diagonal:" << diagonal()
226 <<
" symmetric:" << symmetric()
227 <<
" asymmetric:" << asymmetric() <<
nl
229 <<
" diagonal:" <<
A.diagonal()
230 <<
" symmetric:" <<
A.symmetric()
231 <<
" asymmetric:" <<
A.asymmetric()
245 if (symmetric() &&
A.symmetric())
247 upper() -=
A.upper();
249 else if (symmetric() &&
A.asymmetric())
260 upper() -=
A.upper();
261 lower() -=
A.lower();
263 else if (asymmetric() &&
A.symmetric())
267 lower() -=
A.upper();
268 upper() -=
A.upper();
272 lower() -=
A.lower();
273 upper() -=
A.lower();
277 else if (asymmetric() &&
A.asymmetric())
279 lower() -=
A.lower();
280 upper() -=
A.upper();
286 upper() = -
A.upper();
291 lower() = -
A.lower();
294 else if (
A.diagonal())
302 <<
"Unknown matrix type combination" <<
nl
304 <<
" diagonal:" << diagonal()
305 <<
" symmetric:" << symmetric()
306 <<
" asymmetric:" << asymmetric() <<
nl
308 <<
" diagonal:" <<
A.diagonal()
309 <<
" symmetric:" <<
A.symmetric()
310 <<
" asymmetric:" <<
A.asymmetric()
326 if (symmetric() || asymmetric())
375 if (symmetric() || asymmetric())
static const Foam::dimensionedScalar A("A", Foam::dimPressure, 611.21)
void size(const label)
Override size to be inconsistent with allocated storage.
label size() const
Return the number of elements in the UList.
A face is a list of labels corresponding to mesh vertices.
virtual const labelUList & upperAddr() const =0
Return upper addressing.
virtual const labelUList & lowerAddr() const =0
Return lower addressing.
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
void operator=(const lduMatrix &)
void operator*=(const scalarField &)
const lduAddressing & lduAddr() const
Return the LDU addressing.
void operator/=(const scalarField &)
void operator+=(const lduMatrix &)
void sumMagOffDiag(scalarField &sumOff) const
void operator-=(const lduMatrix &)
volScalarField sf(fieldObject, mesh)
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.name(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
#define WarningInFunction
Report a warning using Foam::Warning.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
dimensioned< scalar > mag(const dimensioned< Type > &)