151 if (symmetric() &&
A.symmetric())
153 upper() +=
A.upper();
155 else if (symmetric() &&
A.asymmetric())
166 upper() +=
A.upper();
167 lower() +=
A.lower();
169 else if (asymmetric() &&
A.symmetric())
173 lower() +=
A.upper();
174 upper() +=
A.upper();
178 lower() +=
A.lower();
179 upper() +=
A.lower();
183 else if (asymmetric() &&
A.asymmetric())
185 lower() +=
A.lower();
186 upper() +=
A.upper();
200 else if (
A.diagonal())
208 <<
"Unknown matrix type combination" <<
nl
210 <<
" diagonal:" << diagonal()
211 <<
" symmetric:" << symmetric()
212 <<
" asymmetric:" << asymmetric() <<
nl
214 <<
" diagonal:" <<
A.diagonal()
215 <<
" symmetric:" <<
A.symmetric()
216 <<
" asymmetric:" <<
A.asymmetric()
230 if (symmetric() &&
A.symmetric())
232 upper() -=
A.upper();
234 else if (symmetric() &&
A.asymmetric())
245 upper() -=
A.upper();
246 lower() -=
A.lower();
248 else if (asymmetric() &&
A.symmetric())
252 lower() -=
A.upper();
253 upper() -=
A.upper();
257 lower() -=
A.lower();
258 upper() -=
A.lower();
262 else if (asymmetric() &&
A.asymmetric())
264 lower() -=
A.lower();
265 upper() -=
A.upper();
271 upper() = -
A.upper();
276 lower() = -
A.lower();
279 else if (
A.diagonal())
287 <<
"Unknown matrix type combination" <<
nl
289 <<
" diagonal:" << diagonal()
290 <<
" symmetric:" << symmetric()
291 <<
" asymmetric:" << asymmetric() <<
nl
293 <<
" diagonal:" <<
A.diagonal()
294 <<
" symmetric:" <<
A.symmetric()
295 <<
" asymmetric:" <<
A.asymmetric()
311 if (symmetric() || asymmetric())
static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21)
void size(const label n)
Older name for setAddressableSize.
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 &)
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 &)
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
#define WarningInFunction
Report a warning using Foam::Warning.
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
constexpr char nl
The newline '\n' character (0x0a)