A special matrix type and solver, designed for finite area solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise. More...
Classes | |
class | faSolver |
Solver class returned by the solver function used for systems in which it is useful to cache the solver for reuse. More... | |
Public Types | |
typedef GeometricField< Type, faPatchField, areaMesh > | psiFieldType |
The geometric field type for psi. More... | |
typedef GeometricField< Type, faePatchField, edgeMesh > | faceFluxFieldType |
Field type for face flux (for non-orthogonal correction) More... | |
typedef std::unique_ptr< faceFluxFieldType > | faceFluxFieldPtrType |
Declare return type of the faceFluxCorrectionPtr() function. More... | |
Public Types inherited from lduMatrix | |
enum | normTypes : char { NO_NORM, DEFAULT_NORM, L1_SCALED_NORM } |
Enumerated matrix normalisation types. More... | |
Public Member Functions | |
ClassName ("faMatrix") | |
faMatrix (const GeometricField< Type, faPatchField, areaMesh > &psi, const dimensionSet &ds) | |
Construct given a field to solve for. More... | |
faMatrix (const faMatrix< Type > &) | |
Copy construct. More... | |
faMatrix (const tmp< faMatrix< Type >> &) | |
Copy/move construct from tmp<faMatrix<Type>> More... | |
faMatrix (const GeometricField< Type, faPatchField, areaMesh > &psi, Istream &is) | |
Deprecated(2022-05) - construct with dimensionSet instead. More... | |
tmp< faMatrix< Type > > | clone () const |
Construct and return a clone. More... | |
virtual | ~faMatrix () |
Destructor. More... | |
const GeometricField< Type, faPatchField, areaMesh > & | psi () const |
const dimensionSet & | dimensions () const noexcept |
Field< Type > & | source () noexcept |
const Field< Type > & | source () const noexcept |
const FieldField< Field, Type > & | internalCoeffs () const noexcept |
faBoundary scalar field containing pseudo-matrix coeffs for internal cells More... | |
FieldField< Field, Type > & | internalCoeffs () noexcept |
faBoundary scalar field containing pseudo-matrix coeffs for internal cells More... | |
const FieldField< Field, Type > & | boundaryCoeffs () const noexcept |
faBoundary scalar field containing pseudo-matrix coeffs for boundary cells More... | |
FieldField< Field, Type > & | boundaryCoeffs () noexcept |
faBoundary scalar field containing pseudo-matrix coeffs for boundary cells More... | |
faceFluxFieldPtrType & | faceFluxCorrectionPtr () |
Return pointer to face-flux non-orthogonal correction field. More... | |
void | faceFluxCorrectionPtr (faceFluxFieldType *flux) |
Set pointer to face-flux non-orthogonal correction field. More... | |
bool | hasFaceFluxCorrection () const noexcept |
True if face-flux non-orthogonal correction field exists. More... | |
void | setValues (const labelUList &faceLabels, const Type &value) |
Set solution in given faces to the specified value and eliminate the corresponding equations from the matrix. More... | |
void | setValues (const labelUList &faceLabels, const UList< Type > &values) |
Set solution in given faces to the specified values and eliminate the corresponding equations from the matrix. More... | |
void | setValues (const labelUList &faceLabels, const UIndirectList< Type > &values) |
Set solution in given faces to the specified values and eliminate the corresponding equations from the matrix. More... | |
void | setReference (const label facei, const Type &value, const bool forceReference=false) |
Set reference level for solution. More... | |
void | setReferences (const labelUList &faceLabels, const Type &value, const bool forceReference=false) |
Set reference level for solution. More... | |
void | setReferences (const labelUList &faceLabels, const UList< Type > &values, const bool forceReference=false) |
Set reference level for solution. More... | |
void | setComponentReference (const label patchi, const label facei, const direction cmpt, const scalar value) |
Set reference level for a component of the solution on a given patch face. More... | |
void | relax (const scalar alpha) |
Relax matrix (for steady-state solution). More... | |
void | relax () |
Relax matrix (for steady-state solution). More... | |
SolverPerformance< Type > | solve (const dictionary &) |
Solve returning the solution statistics. More... | |
SolverPerformance< Type > | solve (const word &name) |
Solve returning the solution statistics. More... | |
SolverPerformance< Type > | solve () |
Solve returning the solution statistics. More... | |
tmp< Field< Type > > | residual () const |
Return the matrix residual. More... | |
tmp< scalarField > | D () const |
Return the matrix diagonal. More... | |
tmp< areaScalarField > | A () const |
Return the central coefficient. More... | |
tmp< GeometricField< Type, faPatchField, areaMesh > > | H () const |
Return the H operation source. More... | |
tmp< GeometricField< Type, faePatchField, edgeMesh > > | flux () const |
Return the face-flux field from the matrix. More... | |
const dictionary & | solverDict (const word &name) const |
Return the solver dictionary (from faSolution) for name . More... | |
const dictionary & | solverDict () const |
Return the solver dictionary for psi. More... | |
void | operator= (const faMatrix< Type > &) |
void | operator= (const tmp< faMatrix< Type >> &) |
void | negate () |
Inplace negate. More... | |
void | operator+= (const faMatrix< Type > &) |
void | operator+= (const tmp< faMatrix< Type >> &) |
void | operator-= (const faMatrix< Type > &) |
void | operator-= (const tmp< faMatrix< Type >> &) |
void | operator+= (const DimensionedField< Type, areaMesh > &) |
void | operator+= (const tmp< DimensionedField< Type, areaMesh >> &) |
void | operator+= (const tmp< GeometricField< Type, faPatchField, areaMesh >> &) |
void | operator-= (const DimensionedField< Type, areaMesh > &) |
void | operator-= (const tmp< DimensionedField< Type, areaMesh >> &) |
void | operator-= (const tmp< GeometricField< Type, faPatchField, areaMesh >> &) |
void | operator+= (const dimensioned< Type > &) |
void | operator-= (const dimensioned< Type > &) |
void | operator+= (const Foam::zero) |
void | operator-= (const Foam::zero) |
void | operator*= (const areaScalarField::Internal &) |
void | operator*= (const tmp< areaScalarField::Internal > &) |
void | operator*= (const tmp< areaScalarField > &) |
void | operator*= (const dimensioned< scalar > &) |
template<> | |
void | setComponentReference (const label patchI, const label edgeI, const direction, const scalar value) |
template<> | |
Foam::solverPerformance | solve (const dictionary &solverControls) |
template<> | |
Foam::tmp< Foam::scalarField > | residual () const |
template<> | |
Foam::tmp< Foam::areaScalarField > | H () const |
template<> | |
void | setComponentReference (const label patchi, const label facei, const direction, const scalar value) |
template<> | |
SolverPerformance< scalar > | solve (const dictionary &) |
template<> | |
tmp< scalarField > | residual () const |
template<> | |
tmp< areaScalarField > | H () const |
Public Member Functions inherited from refCount | |
constexpr | refCount () noexcept |
Default construct, initializing count to 0. More... | |
int | use_count () const noexcept |
Return the current reference count. More... | |
bool | unique () const noexcept |
Return true if the reference count is zero. More... | |
void | operator++ () noexcept |
Increment the reference count. More... | |
void | operator++ (int) noexcept |
Increment the reference count. More... | |
void | operator-- () noexcept |
Decrement the reference count. More... | |
void | operator-- (int) noexcept |
Decrement the reference count. More... | |
Public Member Functions inherited from lduMatrix | |
ClassName ("lduMatrix") | |
lduMatrix (const lduMesh &mesh) | |
Construct (without coefficients) for an LDU addressed mesh. More... | |
lduMatrix (const lduMatrix &) | |
Copy construct. More... | |
lduMatrix (lduMatrix &&) | |
Move construct. More... | |
lduMatrix (lduMatrix &, bool reuse) | |
Construct as copy or re-use as specified. More... | |
lduMatrix (const lduMesh &mesh, Istream &is) | |
Construct given an LDU addressed mesh and an Istream from which the coefficients are read. More... | |
~lduMatrix ()=default | |
Destructor. More... | |
const lduMesh & | mesh () const noexcept |
Return the LDU mesh from which the addressing is obtained. More... | |
void | setLduMesh (const lduMesh &m) |
Set the LDU mesh containing the addressing. More... | |
const lduAddressing & | lduAddr () const |
Return the LDU addressing. More... | |
const lduSchedule & | patchSchedule () const |
Return the patch evaluation schedule. More... | |
const scalarField & | diag () const |
const scalarField & | upper () const |
const scalarField & | lower () const |
scalarField & | diag () |
scalarField & | upper () |
scalarField & | lower () |
scalarField & | diag (label size) |
scalarField & | upper (label nCoeffs) |
scalarField & | lower (label nCoeffs) |
word | matrixTypeName () const |
The matrix type (empty, diagonal, symmetric, ...) More... | |
bool | hasDiag () const noexcept |
bool | hasUpper () const noexcept |
bool | hasLower () const noexcept |
bool | diagonal () const noexcept |
Matrix has diagonal only. More... | |
bool | symmetric () const noexcept |
Matrix is symmetric. More... | |
bool | asymmetric () const noexcept |
Matrix is asymmetric (ie, full) More... | |
void | sumDiag () |
void | negSumDiag () |
void | sumMagOffDiag (scalarField &sumOff) const |
void | Amul (solveScalarField &, const tmp< solveScalarField > &, const FieldField< Field, scalar > &, const lduInterfaceFieldPtrsList &, const direction cmpt) const |
Matrix multiplication with updated interfaces. More... | |
void | Tmul (solveScalarField &, const tmp< solveScalarField > &, const FieldField< Field, scalar > &, const lduInterfaceFieldPtrsList &, const direction cmpt) const |
Matrix transpose multiplication with updated interfaces. More... | |
void | sumA (solveScalarField &, const FieldField< Field, scalar > &, const lduInterfaceFieldPtrsList &) const |
Sum the coefficients on each row of the matrix. More... | |
void | residual (solveScalarField &rA, const solveScalarField &psi, const scalarField &source, const FieldField< Field, scalar > &interfaceBouCoeffs, const lduInterfaceFieldPtrsList &interfaces, const direction cmpt) const |
tmp< solveScalarField > | residual (const solveScalarField &psi, const scalarField &source, const FieldField< Field, scalar > &interfaceBouCoeffs, const lduInterfaceFieldPtrsList &interfaces, const direction cmpt) const |
void | initMatrixInterfaces (const bool add, const FieldField< Field, scalar > &interfaceCoeffs, const lduInterfaceFieldPtrsList &interfaces, const solveScalarField &psiif, solveScalarField &result, const direction cmpt) const |
Initialise the update of interfaced interfaces for matrix operations. More... | |
void | updateMatrixInterfaces (const bool add, const FieldField< Field, scalar > &interfaceCoeffs, const lduInterfaceFieldPtrsList &interfaces, const solveScalarField &psiif, solveScalarField &result, const direction cmpt, const label startRequest) const |
Update interfaced interfaces for matrix operations. More... | |
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. More... | |
template<class Type > | |
tmp< Field< Type > > | H (const Field< Type > &) const |
template<class Type > | |
tmp< Field< Type > > | H (const tmp< Field< Type >> &) const |
tmp< scalarField > | H1 () const |
template<class Type > | |
tmp< Field< Type > > | faceH (const Field< Type > &) const |
template<class Type > | |
tmp< Field< Type > > | faceH (const tmp< Field< Type >> &) const |
InfoProxy< lduMatrix > | info () const noexcept |
Return info proxy, used to print matrix information to a stream. More... | |
void | operator= (const lduMatrix &) |
Copy assignment. More... | |
void | operator= (lduMatrix &&) |
Move assignment. More... | |
void | negate () |
void | operator+= (const lduMatrix &) |
void | operator-= (const lduMatrix &) |
void | operator*= (const scalarField &) |
void | operator*= (scalar) |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | H (const Field< Type > &psi) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | H (const tmp< Field< Type >> &tpsi) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | faceH (const Field< Type > &psi) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | faceH (const tmp< Field< Type >> &tpsi) const |
Protected Member Functions | |
template<class Type2 > | |
void | addToInternalField (const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const |
Add patch contribution to internal field. More... | |
template<class Type2 > | |
void | addToInternalField (const labelUList &addr, const tmp< Field< Type2 >> &tpf, Field< Type2 > &intf) const |
template<class Type2 > | |
void | subtractFromInternalField (const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const |
Subtract patch contribution from internal field. More... | |
template<class Type2 > | |
void | subtractFromInternalField (const labelUList &addr, const tmp< Field< Type2 >> &tpf, Field< Type2 > &intf) const |
void | addBoundaryDiag (scalarField &diag, const direction cmpt) const |
void | addCmptAvBoundaryDiag (scalarField &diag) const |
void | addBoundarySource (Field< Type > &source, const bool couples=true) const |
template<template< class > class ListType> | |
void | setValuesFromList (const labelUList &faceLabels, const ListType< Type > &values) |
Set solution in given faces to the specified values. More... | |
Friends | |
class | faSolver |
Declare friendship with the faSolver class. More... | |
tmp< GeometricField< Type, faPatchField, areaMesh > > | operator & (const faMatrix< Type > &, const DimensionedField< Type, areaMesh > &) |
tmp< GeometricField< Type, faPatchField, areaMesh > > | operator & (const faMatrix< Type > &, const tmp< GeometricField< Type, faPatchField, areaMesh >> &) |
tmp< GeometricField< Type, faPatchField, areaMesh > > | operator & (const tmp< faMatrix< Type >> &, const DimensionedField< Type, areaMesh > &) |
tmp< GeometricField< Type, faPatchField, areaMesh > > | operator & (const tmp< faMatrix< Type >> &, const tmp< GeometricField< Type, faPatchField, areaMesh >> &) |
Ostream & | operator (Ostream &, const faMatrix< Type > &) |
Additional Inherited Members | |
Static Public Attributes inherited from lduMatrix | |
static const Enum< normTypes > | normTypesNames_ |
Names for the normTypes. More... | |
static constexpr const label | defaultMaxIter = 1000 |
Default maximum number of iterations for solvers (1000) More... | |
static const scalar | defaultTolerance = 1e-6 |
Default (absolute) tolerance (1e-6) More... | |
A special matrix type and solver, designed for finite area solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
Finite-Area matrix.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
Definition at line 37 of file faMatricesFwd.H.
typedef GeometricField<Type, faPatchField, areaMesh> psiFieldType |
The geometric field type for psi.
Definition at line 118 of file faMatrix.H.
typedef GeometricField<Type, faePatchField, edgeMesh> faceFluxFieldType |
Field type for face flux (for non-orthogonal correction)
Definition at line 125 of file faMatrix.H.
typedef std::unique_ptr<faceFluxFieldType> faceFluxFieldPtrType |
Declare return type of the faceFluxCorrectionPtr() function.
Definition at line 407 of file faMatrix.H.
faMatrix | ( | const GeometricField< Type, faPatchField, areaMesh > & | psi, |
const dimensionSet & | ds | ||
) |
Construct given a field to solve for.
Definition at line 176 of file faMatrix.C.
References DebugInFunction, Foam::endl(), regIOobject::eventNo(), forAll, psi, and Foam::Zero.
Copy construct.
Definition at line 219 of file faMatrix.C.
References DebugInFunction, Foam::endl(), and IOobject::name().
Copy/move construct from tmp<faMatrix<Type>>
Definition at line 242 of file faMatrix.C.
References DebugInFunction, Foam::endl(), and IOobject::name().
|
inline |
Deprecated(2022-05) - construct with dimensionSet instead.
Definition at line 321 of file faMatrix.H.
|
virtual |
Destructor.
Definition at line 277 of file faMatrix.C.
References DebugInFunction, and Foam::endl().
|
protected |
Add patch contribution to internal field.
Definition at line 33 of file faMatrix.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, UList< Type >::size(), and UList< T >::size().
|
protected |
Definition at line 57 of file faMatrix.C.
|
protected |
Subtract patch contribution from internal field.
Definition at line 71 of file faMatrix.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, UList< Type >::size(), and UList< T >::size().
|
protected |
Definition at line 95 of file faMatrix.C.
|
protected |
Definition at line 108 of file faMatrix.C.
References Foam::component(), Foam::diag(), and forAll.
Referenced by faMatrix< Type >::residual().
|
protected |
Definition at line 126 of file faMatrix.C.
References Foam::cmptAv(), Foam::diag(), and forAll.
|
protected |
Definition at line 142 of file faMatrix.C.
References Foam::cmptMultiply(), faPatchFieldBase::coupled(), forAll, and faPatchField< Type >::patchNeighbourField().
Referenced by faMatrix< Type >::residual().
|
protected |
Set solution in given faces to the specified values.
Definition at line 289 of file faMatrix.C.
References fvMesh::boundary(), Foam::diag(), primitiveMesh::faceEdges(), faceLabels(), forAll, Foam::stringOps::lower(), mesh, fvMesh::neighbour(), fvMesh::owner(), primitiveFieldRef(), psi, Foam::stringOps::upper(), Foam::HashTableOps::values(), and Foam::Zero.
ClassName | ( | "faMatrix< Type >" | ) |
Construct and return a clone.
Definition at line 332 of file faMatrix.H.
References Foam::New().
|
inline |
Definition at line 348 of file faMatrix.H.
Referenced by externalFileSource::addSup(), contactHeatFluxSource::addSup(), jouleHeatingSource::addSup(), externalHeatFluxSource::addSup(), Foam::checkMethod(), and optionList::constrain().
|
inlinenoexcept |
Definition at line 353 of file faMatrix.H.
Referenced by Foam::checkMethod(), and faMatrix< Type >::operator*=().
|
inlinenoexcept |
Definition at line 358 of file faMatrix.H.
|
inlinenoexcept |
Definition at line 363 of file faMatrix.H.
|
inlinenoexcept |
faBoundary scalar field containing pseudo-matrix coeffs for internal cells
Definition at line 372 of file faMatrix.H.
|
inlinenoexcept |
faBoundary scalar field containing pseudo-matrix coeffs for internal cells
Definition at line 381 of file faMatrix.H.
|
inlinenoexcept |
faBoundary scalar field containing pseudo-matrix coeffs for boundary cells
Definition at line 390 of file faMatrix.H.
|
inlinenoexcept |
faBoundary scalar field containing pseudo-matrix coeffs for boundary cells
Definition at line 399 of file faMatrix.H.
|
inline |
Return pointer to face-flux non-orthogonal correction field.
Definition at line 412 of file faMatrix.H.
Referenced by gaussLaplacianScheme< Type >::famLaplacian().
|
inline |
Set pointer to face-flux non-orthogonal correction field.
Definition at line 420 of file faMatrix.H.
|
inlinenoexcept |
True if face-flux non-orthogonal correction field exists.
Definition at line 428 of file faMatrix.H.
void setValues | ( | const labelUList & | faceLabels, |
const Type & | value | ||
) |
Set solution in given faces to the specified value and eliminate the corresponding equations from the matrix.
Definition at line 392 of file faMatrix.C.
References faceLabels().
void setValues | ( | const labelUList & | faceLabels, |
const UList< Type > & | values | ||
) |
Set solution in given faces to the specified values and eliminate the corresponding equations from the matrix.
Definition at line 403 of file faMatrix.C.
References faceLabels(), and Foam::HashTableOps::values().
void setValues | ( | const labelUList & | faceLabels, |
const UIndirectList< Type > & | values | ||
) |
Set solution in given faces to the specified values and eliminate the corresponding equations from the matrix.
Definition at line 414 of file faMatrix.C.
References faceLabels(), and Foam::HashTableOps::values().
void setReference | ( | const label | facei, |
const Type & | value, | ||
const bool | forceReference = false |
||
) |
Set reference level for solution.
Definition at line 425 of file faMatrix.C.
References Foam::diag(), and UPstream::master().
void setReferences | ( | const labelUList & | faceLabels, |
const Type & | value, | ||
const bool | forceReference = false |
||
) |
Set reference level for solution.
Definition at line 444 of file faMatrix.C.
References Foam::diag(), faceId(), faceLabels(), and forAll.
void setReferences | ( | const labelUList & | faceLabels, |
const UList< Type > & | values, | ||
const bool | forceReference = false |
||
) |
Set reference level for solution.
Definition at line 467 of file faMatrix.C.
References Foam::diag(), faceId(), faceLabels(), forAll, and Foam::HashTableOps::values().
void setComponentReference | ( | const label | patchi, |
const label | facei, | ||
const direction | cmpt, | ||
const scalar | value | ||
) |
Set reference level for a component of the solution on a given patch face.
Definition at line 32 of file faMatrixSolve.C.
References Foam::diag().
void relax | ( | const scalar | alpha | ) |
Relax matrix (for steady-state solution).
alpha = 1 : diagonally equal alpha < 1 : ,, dominant alpha = 0 : do nothing Note: Requires positive diagonal.
Definition at line 489 of file faMatrix.C.
References Foam::constant::atomic::alpha, Foam::cmptMag(), Foam::cmptMin(), Foam::cmptMultiply(), Foam::component(), faPatchFieldBase::coupled(), D, Foam::diag(), forAll, Foam::mag(), Foam::max(), UList< Type >::size(), and Foam::Zero.
Referenced by kinematicThinFilm::evolveRegion(), and sensitivitySurface::smoothSensitivities().
void relax | ( | ) |
Relax matrix (for steady-state solution).
alpha is read from controlDict
Definition at line 579 of file faMatrix.C.
References DebugInFunction, Foam::nl, and relax().
Foam::SolverPerformance< Type > solve | ( | const dictionary & | solverControls | ) |
Solve returning the solution statistics.
Use the given solver controls
Definition at line 49 of file faMatrixSolve.C.
References Field< Type >::component(), DebugInFunction, Foam::diag(), Foam::endl(), dictionary::getOrDefault(), Foam::Info, Foam::expressions::Detail::nComponents(), Foam::New(), SolverPerformance< Type >::print(), psi, refPtr< Container< Type > >::ref(), solve(), and SolverPerformance< Type >::solverName().
Referenced by sensitivitySurface::smoothSensitivities().
Foam::SolverPerformance< Type > solve | ( | const word & | name | ) |
Solve returning the solution statistics.
Uses name
solver controls from faSolution
Definition at line 173 of file faMatrixSolve.C.
References faMatrix< Type >::solve(), and faMatrix< Type >::solverDict().
Foam::SolverPerformance< Type > solve | ( | ) |
Solve returning the solution statistics.
Solver controls read from faSolution
Definition at line 180 of file faMatrixSolve.C.
References faMatrix< Type >::solverDict().
Referenced by faMatrix< Type >::solve().
Foam::tmp< Foam::Field< Type > > residual | ( | ) | const |
Return the matrix residual.
Definition at line 187 of file faMatrixSolve.C.
References faMatrix< Type >::addBoundaryDiag(), faMatrix< Type >::addBoundarySource(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), DimensionedField< Type, GeoMesh >::component(), GeometricField< Type, PatchField, GeoMesh >::internalField(), Foam::expressions::Detail::nComponents(), Foam::New(), FieldField< Field, Type >::replace(), lduMatrix::residual(), GeometricBoundaryField< Type, PatchField, GeoMesh >::scalarInterfaces(), UList< T >::size(), and Foam::Zero.
Foam::tmp< Foam::scalarField > D | ( | ) | const |
Return the matrix diagonal.
Definition at line 596 of file faMatrix.C.
References Foam::diag(), and tmp< T >::New().
Foam::tmp< Foam::areaScalarField > A | ( | ) | const |
Return the central coefficient.
Definition at line 605 of file faMatrix.C.
References D, Foam::dimArea, faPatchFieldBase::extrapolatedCalculatedType(), and GeometricField< scalar, faPatchField, areaMesh >::New().
Foam::tmp< Foam::GeometricField< Type, Foam::faPatchField, Foam::areaMesh > > H | ( | ) | const |
Return the H operation source.
Definition at line 624 of file faMatrix.C.
References GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), Foam::dimArea, faPatchFieldBase::extrapolatedCalculatedType(), lduMatrix::H(), Foam::expressions::Detail::nComponents(), GeometricField< Type, PatchField, GeoMesh >::New(), GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), and Foam::Zero.
Foam::tmp< Foam::GeometricField< Type, Foam::faePatchField, Foam::edgeMesh > > flux | ( | ) | const |
Return the face-flux field from the matrix.
Definition at line 660 of file faMatrix.C.
References Foam::abort(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), Foam::cmptMultiply(), lduMatrix::faceH(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::expressions::Detail::nComponents(), GeometricField< Type, PatchField, GeoMesh >::New(), and GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef().
const Foam::dictionary & solverDict | ( | const word & | name | ) | const |
Return the solver dictionary (from faSolution) for name
.
Definition at line 731 of file faMatrix.C.
References Foam::name().
const Foam::dictionary & solverDict | ( | ) | const |
Return the solver dictionary for psi.
Definition at line 740 of file faMatrix.C.
Referenced by faMatrix< Type >::solve().
Definition at line 752 of file faMatrix.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and lduMatrix::operator=().
Definition at line 786 of file faMatrix.C.
void negate | ( | ) |
Inplace negate.
Definition at line 794 of file faMatrix.C.
References lduMatrix::negate().
Definition at line 809 of file faMatrix.C.
References Foam::checkMethod(), and lduMatrix::operator+=().
Definition at line 834 of file faMatrix.C.
Definition at line 842 of file faMatrix.C.
References Foam::checkMethod(), and lduMatrix::operator-=().
Definition at line 867 of file faMatrix.C.
void operator+= | ( | const DimensionedField< Type, areaMesh > & | su | ) |
Definition at line 876 of file faMatrix.C.
References Foam::checkMethod().
void operator+= | ( | const tmp< DimensionedField< Type, areaMesh >> & | tsu | ) |
Definition at line 887 of file faMatrix.C.
void operator+= | ( | const tmp< GeometricField< Type, faPatchField, areaMesh >> & | tsu | ) |
Definition at line 898 of file faMatrix.C.
void operator-= | ( | const DimensionedField< Type, areaMesh > & | su | ) |
Definition at line 909 of file faMatrix.C.
References Foam::checkMethod().
void operator-= | ( | const tmp< DimensionedField< Type, areaMesh >> & | tsu | ) |
Definition at line 920 of file faMatrix.C.
void operator-= | ( | const tmp< GeometricField< Type, faPatchField, areaMesh >> & | tsu | ) |
Definition at line 931 of file faMatrix.C.
void operator+= | ( | const dimensioned< Type > & | su | ) |
Definition at line 942 of file faMatrix.C.
References DimensionedField< Type, GeoMesh >::mesh(), and psi.
void operator-= | ( | const dimensioned< Type > & | su | ) |
Definition at line 952 of file faMatrix.C.
References DimensionedField< Type, GeoMesh >::mesh(), and psi.
|
inline |
Definition at line 615 of file faMatrix.H.
|
inline |
Definition at line 616 of file faMatrix.H.
void operator*= | ( | const areaScalarField::Internal & | dsf | ) |
Definition at line 962 of file faMatrix.C.
References Foam::abort(), faMatrix< Type >::dimensions(), Foam::FatalError, FatalErrorInFunction, forAll, and lduMatrix::operator*=().
void operator*= | ( | const tmp< areaScalarField::Internal > & | tfld | ) |
Definition at line 991 of file faMatrix.C.
void operator*= | ( | const tmp< areaScalarField > & | tfld | ) |
Definition at line 1002 of file faMatrix.C.
void operator*= | ( | const dimensioned< scalar > & | ds | ) |
Definition at line 1013 of file faMatrix.C.
References lduMatrix::operator*=().
void setComponentReference | ( | const label | patchI, |
const label | edgeI, | ||
const direction | , | ||
const scalar | value | ||
) |
Definition at line 31 of file faScalarMatrix.C.
References Foam::diag(), and faceLabels().
Foam::solverPerformance solve | ( | const dictionary & | solverControls | ) |
Definition at line 48 of file faScalarMatrix.C.
References Foam::ensightOutput::debug, DebugInFunction, Foam::diag(), Foam::endl(), dictionary::getOrDefault(), Foam::Info, Foam::New(), SolverPerformance< Type >::print(), psi, and solve().
Foam::tmp< Foam::scalarField > residual | ( | ) | const |
Definition at line 99 of file faScalarMatrix.C.
References psi, refPtr< Container< Type > >::ref(), and Foam::Zero.
Foam::tmp< Foam::areaScalarField > H | ( | ) | const |
Definition at line 128 of file faScalarMatrix.C.
References Foam::dimArea, Foam::fieldTypes::extrapolatedCalculatedType, H(), and Foam::New().
void setComponentReference | ( | const label | patchi, |
const label | facei, | ||
const direction | , | ||
const scalar | value | ||
) |
SolverPerformance< scalar > solve | ( | const dictionary & | ) |
tmp< scalarField > residual | ( | ) | const |
tmp< areaScalarField > H | ( | ) | const |
|
friend |
Declare friendship with the faSolver class.
Definition at line 174 of file faMatrix.H.
|
friend |
|
friend |
|
friend |
|
friend |