Loading...
Searching...
No Matches
fvMatrix< Type > Class Template Reference

A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise. More...

#include <fvMatrix.H>

Inheritance diagram for fvMatrix< Type >:
Collaboration diagram for fvMatrix< Type >:

Classes

class  fvSolver
 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, fvPatchField, volMeshpsiFieldType
 The geometric field type for psi.
typedef GeometricField< Type, fvsPatchField, surfaceMeshfaceFluxFieldType
 Field type for face flux (for non-orthogonal correction).
typedef std::unique_ptr< faceFluxFieldTypefaceFluxFieldPtrType
 Declare return type of the faceFluxCorrectionPtr() function.
Public Types inherited from lduMatrix
enum class  normTypes : char { NO_NORM , DEFAULT_NORM , L1_SCALED_NORM }
 Enumerated matrix normalisation types. More...

Public Member Functions

 ClassName ("fvMatrix")
 fvMatrix (const GeometricField< Type, fvPatchField, volMesh > &psi, const dimensionSet &ds)
 Construct given a field to solve for.
 fvMatrix (const fvMatrix< Type > &)
 Copy construct.
 fvMatrix (const tmp< fvMatrix< Type > > &)
 Copy/move construct from tmp<fvMatrix<Type>>.
 fvMatrix (const GeometricField< Type, fvPatchField, volMesh > &psi, Istream &is)
 Deprecated(2022-05) - construct with dimensionSet instead.
tmp< fvMatrix< Type > > clone () const
 Construct and return a clone.
virtual ~fvMatrix ()
 Destructor.
label nMatrices () const
const fvMatrix< Type > & matrix (const label i) const
fvMatrix< Type > & matrix (const label i)
label globalPatchID (const label fieldi, const label patchi) const
void transferFvMatrixCoeffs ()
 Transfer lower, upper, diag and source to this fvMatrix.
void createOrUpdateLduPrimitiveAssembly ()
 Create or update ldu assembly.
lduPrimitiveMeshAssemblylduMeshPtr ()
 Access to lduPrimitiveMeshAssembly.
const lduPrimitiveMeshAssemblylduMeshPtr () const
 Const Access to lduPrimitiveMeshAssembly.
void manipulateMatrix (direction cmp)
 Manipulate matrix.
void setBounAndInterCoeffs ()
 Manipulate boundary/internal coeffs for coupling.
void setInterfaces (lduInterfaceFieldPtrsList &, PtrDynList< lduInterfaceField > &newInterfaces)
 Set interfaces.
void mapContributions (label fieldi, const FieldField< Field, Type > &fluxContrib, FieldField< Field, Type > &contrib, bool internal) const
 Add internal and boundary contribution to local patches.
const lduPrimitiveMeshAssemblylduMeshAssembly ()
 Return optional lduAdressing.
const GeometricField< Type, fvPatchField, volMesh > & psi (const label i=0) const
 Return psi.
GeometricField< Type, fvPatchField, volMesh > & psi (const label i=0)
void clear ()
 Clear multiple fvMatrices.
const dimensionSetdimensions () const noexcept
Field< Type > & source () noexcept
const Field< Type > & source () const noexcept
const FieldField< Field, Type > & internalCoeffs () const noexcept
 fvBoundary scalar field containing pseudo-matrix coeffs for internal cells
FieldField< Field, Type > & internalCoeffs () noexcept
 fvBoundary scalar field containing pseudo-matrix coeffs for internal cells
const FieldField< Field, Type > & boundaryCoeffs () const noexcept
 fvBoundary scalar field containing pseudo-matrix coeffs for boundary cells
FieldField< Field, Type > & boundaryCoeffs () noexcept
 fvBoundary scalar field containing pseudo-matrix coeffs for boundary cells
faceFluxFieldPtrTypefaceFluxCorrectionPtr ()
 Return pointer to face-flux non-orthogonal correction field.
void faceFluxCorrectionPtr (faceFluxFieldType *flux)
 Set pointer to face-flux non-orthogonal correction field.
bool hasFaceFluxCorrection () const noexcept
 True if face-flux non-orthogonal correction field exists.
void setValues (const labelUList &cellLabels, const Type &value)
 Set solution in given cells to the specified value and eliminate the corresponding equations from the matrix.
void setValues (const labelUList &cellLabels, const UList< Type > &values)
 Set solution in given cells to the specified values and eliminate the corresponding equations from the matrix.
void setValues (const labelUList &cellLabels, const UIndirectList< Type > &values)
 Set solution in given cells to the specified values and eliminate the corresponding equations from the matrix.
void setReference (const label celli, const Type &value, const bool forceReference=false)
 Set reference level for solution.
void setReferences (const labelUList &cellLabels, const Type &value, const bool forceReference=false)
 Set reference level for solution.
void setReferences (const labelUList &cellLabels, const UList< Type > &values, const bool forceReference=false)
 Set reference level for solution.
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.
void addFvMatrix (fvMatrix< Type > &matrix)
 Add fvMatrix.
void relax (const scalar alpha)
 Relax matrix (for steady-state solution).
void relax ()
 Relax matrix (for steady-state solution).
void boundaryManipulate (typename GeometricField< Type, fvPatchField, volMesh >::Boundary &values)
 Manipulate based on a boundary field.
autoPtr< fvSolversolver (const dictionary &)
 Construct and return the solver.
autoPtr< fvSolversolver ()
 Construct and return the solver.
SolverPerformance< Type > solveSegregatedOrCoupled (const dictionary &)
 Solve segregated or coupled returning the solution statistics.
SolverPerformance< Type > solveSegregatedOrCoupled ()
 Solve segregated or coupled returning the solution statistics.
SolverPerformance< Type > solveSegregated (const dictionary &)
 Solve segregated returning the solution statistics.
SolverPerformance< Type > solveCoupled (const dictionary &)
 Solve coupled returning the solution statistics.
SolverPerformance< Type > solve (const dictionary &)
 Solve returning the solution statistics.
SolverPerformance< Type > solve (const word &name)
 Solve returning the solution statistics.
SolverPerformance< Type > solve ()
 Solve returning the solution statistics.
tmp< Field< Type > > residual () const
 Return the matrix residual.
tmp< scalarFieldD () const
 Return the matrix scalar diagonal.
tmp< Field< Type > > DD () const
 Return the matrix Type diagonal.
tmp< volScalarFieldA () const
 Return the central coefficient.
tmp< GeometricField< Type, fvPatchField, volMesh > > H () const
 Return the H operation source.
tmp< volScalarFieldH1 () const
 Return H(1).
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux () const
 Return the face-flux field from the matrix.
const dictionarysolverDict (const word &name) const
 Return the solver dictionary (from fvSolution) for name.
const dictionarysolverDict () const
 Return the solver dictionary for psi, taking into account finalIteration.
void operator= (const fvMatrix< Type > &)
void operator= (const tmp< fvMatrix< Type > > &)
void negate ()
 Inplace negate.
void operator+= (const fvMatrix< Type > &)
void operator+= (const tmp< fvMatrix< Type > > &)
void operator-= (const fvMatrix< Type > &)
void operator-= (const tmp< fvMatrix< Type > > &)
void operator+= (const DimensionedField< Type, volMesh > &)
void operator+= (const tmp< DimensionedField< Type, volMesh > > &)
void operator+= (const tmp< GeometricField< Type, fvPatchField, volMesh > > &)
void operator-= (const DimensionedField< Type, volMesh > &)
void operator-= (const tmp< DimensionedField< Type, volMesh > > &)
void operator-= (const tmp< GeometricField< Type, fvPatchField, volMesh > > &)
void operator+= (const dimensioned< Type > &)
void operator-= (const dimensioned< Type > &)
void operator+= (Foam::zero)
void operator-= (Foam::zero)
void operator*= (const volScalarField::Internal &)
void operator*= (const tmp< volScalarField::Internal > &)
void operator*= (const tmp< volScalarField > &)
void operator*= (const dimensioned< scalar > &)
template<typename E>
 fvMatrix (const GeometricField< Type, fvPatchField, volMesh > &psi, const Expression::fvMatrixExpression< E, typename E::DiagExpr, typename E::UpperExpr, typename E::LowerExpr, typename E::FaceFluxExpr, typename E::SourceExpr > &expr)
 Construct given a field to solve for and expressions for all the components.
Expression::fvMatrixConstRefWrap< fvMatrix< Type > > expr () const
 Wrap value as expression.
template<typename E>
void operator= (const Expression::fvMatrixExpression< E, typename E::DiagExpr, typename E::UpperExpr, typename E::LowerExpr, typename E::FaceFluxExpr, typename E::SourceExpr > &expr)
 Assign values from expression.
void setComponentReference (const label patchi, const label facei, const direction, const scalar value)
Foam::autoPtr< Foam::fvMatrix< Foam::scalar >::fvSolversolver (const dictionary &solverControls)
Foam::solverPerformance solveSegregated (const dictionary &solverControls)
Foam::tmp< Foam::scalarFieldresidual () const
Foam::tmp< Foam::volScalarFieldH () const
Foam::tmp< Foam::volScalarFieldH1 () const
void setComponentReference (const label patchi, const label facei, const direction, const scalar value)
autoPtr< fvMatrix< scalar >::fvSolversolver (const dictionary &)
solverPerformance solveSegregated (const dictionary &)
tmp< scalarFieldresidual () const
tmp< volScalarFieldH () const
tmp< volScalarFieldH1 () const
Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0.
int use_count () const noexcept
 Return the current reference count.
bool unique () const noexcept
 Return true if the reference count is zero.
void operator++ () noexcept
 Increment the reference count.
void operator++ (int) noexcept
 Increment the reference count.
void operator-- () noexcept
 Decrement the reference count.
void operator-- (int) noexcept
 Decrement the reference count.
Public Member Functions inherited from lduMatrix
 ClassName ("lduMatrix")
 lduMatrix (const lduMesh &mesh)
 Construct (without coefficients) for an LDU addressed mesh.
 lduMatrix (const lduMatrix &)
 Copy construct.
 lduMatrix (lduMatrix &&)
 Move construct.
 lduMatrix (lduMatrix &, bool reuse)
 Construct as copy or re-use as specified.
 lduMatrix (const lduMesh &mesh, Istream &is)
 Construct given an LDU addressed mesh and an Istream from which the coefficients are read.
 ~lduMatrix ()=default
 Destructor.
const lduMeshmesh () const noexcept
 Return the LDU mesh from which the addressing is obtained.
void setLduMesh (const lduMesh &m)
 Set the LDU mesh containing the addressing.
const lduAddressinglduAddr () const
 Return the LDU addressing.
const lduSchedulepatchSchedule () const
 Return the patch evaluation schedule.
const scalarFielddiag () const
const scalarFieldupper () const
const scalarFieldlower () const
scalarFielddiag ()
scalarFieldupper ()
scalarFieldlower ()
scalarFielddiag (label size)
scalarFieldupper (label nCoeffs)
scalarFieldlower (label nCoeffs)
bool hasLowerCSR () const noexcept
const scalarFieldlowerCSR () const
scalarFieldlowerCSR ()
const solveScalarFieldwork () const
 Work array.
solveScalarFieldwork (label size) const
 Work array.
word matrixTypeName () const
 The matrix type (empty, diagonal, symmetric, ...).
bool hasDiag () const noexcept
bool hasUpper () const noexcept
bool hasLower () const noexcept
bool diagonal () const noexcept
 Matrix has diagonal only.
bool symmetric () const noexcept
 Matrix is symmetric.
bool asymmetric () const noexcept
 Matrix is asymmetric (ie, full).
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.
void Tmul (solveScalarField &, const tmp< solveScalarField > &, const FieldField< Field, scalar > &, const lduInterfaceFieldPtrsList &, const direction cmpt) const
 Matrix transpose multiplication with updated interfaces.
void sumA (solveScalarField &, const FieldField< Field, scalar > &, const lduInterfaceFieldPtrsList &) const
 Sum the coefficients on each row of the matrix.
void residual (solveScalarField &rA, const solveScalarField &psi, const scalarField &source, const FieldField< Field, scalar > &interfaceBouCoeffs, const lduInterfaceFieldPtrsList &interfaces, const direction cmpt) const
tmp< solveScalarFieldresidual (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.
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.
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.
template<class Type>
tmp< Field< Type > > H (const Field< Type > &) const
template<class Type>
tmp< Field< Type > > H (const tmp< Field< Type > > &) const
tmp< scalarFieldH1 () 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< lduMatrixinfo () const noexcept
 Return info proxy, used to print matrix information to a stream.
void operator= (const lduMatrix &)
 Copy assignment.
void operator= (lduMatrix &&)
 Move assignment.
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.
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.
template<class Type2>
void subtractFromInternalField (const labelUList &addr, const tmp< Field< Type2 > > &tpf, Field< Type2 > &intf) const
bool checkImplicit (const label fieldi=0)
 Name the implicit assembly addressing.
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 &cellLabels, const ListType< Type > &values)
 Set solution in given cells to the specified values.

Friends

class fvSolver
 Declare friendship with the fvSolver class.
tmp< GeometricField< Type, fvPatchField, volMesh > > operator& (const fvMatrix< Type > &, const DimensionedField< Type, volMesh > &)
tmp< GeometricField< Type, fvPatchField, volMesh > > operator& (const fvMatrix< Type > &, const tmp< GeometricField< Type, fvPatchField, volMesh > > &)
tmp< GeometricField< Type, fvPatchField, volMesh > > operator& (const tmp< fvMatrix< Type > > &, const DimensionedField< Type, volMesh > &)
tmp< GeometricField< Type, fvPatchField, volMesh > > operator& (const tmp< fvMatrix< Type > > &, const tmp< GeometricField< Type, fvPatchField, volMesh > > &)
Ostreamoperator<< (Ostream &, const fvMatrix< Type > &)

Additional Inherited Members

Static Public Attributes inherited from lduMatrix
static const Enum< normTypesnormTypesNames_
 Names for the normTypes.
static constexpr const label defaultMaxIter = 1000
 Default maximum number of iterations for solvers (1000).
static const scalar defaultTolerance = 1e-6
 Default (absolute) tolerance (1e-6).

Detailed Description

template<class Type>
class Foam::fvMatrix< Type >

A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.

Source files

Definition at line 114 of file fvMatrix.H.

Member Typedef Documentation

◆ psiFieldType

template<class Type>
typedef GeometricField<Type, fvPatchField, volMesh> psiFieldType

The geometric field type for psi.

Definition at line 128 of file fvMatrix.H.

◆ faceFluxFieldType

template<class Type>
typedef GeometricField<Type, fvsPatchField, surfaceMesh> faceFluxFieldType

Field type for face flux (for non-orthogonal correction).

Definition at line 135 of file fvMatrix.H.

◆ faceFluxFieldPtrType

template<class Type>
typedef std::unique_ptr<faceFluxFieldType> faceFluxFieldPtrType

Declare return type of the faceFluxCorrectionPtr() function.

Definition at line 584 of file fvMatrix.H.

Constructor & Destructor Documentation

◆ fvMatrix() [1/5]

template<class Type>
fvMatrix ( const GeometricField< Type, fvPatchField, volMesh > & psi,
const dimensionSet & ds )

Construct given a field to solve for.

Definition at line 350 of file fvMatrix.C.

References boundary, checkImplicit(), DebugInFunction, Foam::endl(), forAll, lduMatrix::lduMatrix(), lduMatrix::mesh(), psi(), psi, and Foam::Zero.

Referenced by addFvMatrix(), fvMatrix(), fvMatrix(), fvMatrix< Type >::fvSolver::fvSolver(), operator+=(), operator+=(), operator-=(), operator-=(), operator=(), and operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fvMatrix() [2/5]

template<class Type>
fvMatrix ( const fvMatrix< Type > & fvm)

Copy construct.

Definition at line 394 of file fvMatrix.C.

References DebugInFunction, Foam::endl(), fvMatrix(), and lduMatrix::lduMatrix().

Here is the call graph for this function:

◆ fvMatrix() [3/5]

template<class Type>
fvMatrix ( const tmp< fvMatrix< Type > > & tmat)

Copy/move construct from tmp<fvMatrix<Type>>.

Definition at line 420 of file fvMatrix.C.

References DebugInFunction, Foam::endl(), fvMatrix(), and lduMatrix::lduMatrix().

Here is the call graph for this function:

◆ fvMatrix() [4/5]

template<class Type>
fvMatrix ( const GeometricField< Type, fvPatchField, volMesh > & psi,
Istream & is )
inline

Deprecated(2022-05) - construct with dimensionSet instead.

Deprecated
(2022-05) - construct with dimensionSet instead

Definition at line 364 of file fvMatrix.H.

◆ ~fvMatrix()

template<class Type>
~fvMatrix ( )
virtual

Destructor.

Definition at line 458 of file fvMatrix.C.

References DebugInFunction, and Foam::endl().

Here is the call graph for this function:

◆ fvMatrix() [5/5]

template<class Type>
template<typename E>
fvMatrix ( const GeometricField< Type, fvPatchField, volMesh > & psi,
const Expression::fvMatrixExpression< E, typename E::DiagExpr, typename E::UpperExpr, typename E::LowerExpr, typename E::FaceFluxExpr, typename E::SourceExpr > & expr )

Construct given a field to solve for and expressions for all the components.

Definition at line 2984 of file fvMatrix.C.

References boundary, checkImplicit(), DebugInFunction, dimensions(), Foam::endl(), expr(), lduMatrix::lduMatrix(), lduMatrix::mesh(), psi(), psi, and Foam::Zero.

Here is the call graph for this function:

Member Function Documentation

◆ addToInternalField() [1/2]

template<class Type>
template<class Type2>
void addToInternalField ( const labelUList & addr,
const Field< Type2 > & pf,
Field< Type2 > & intf ) const
protected

Add patch contribution to internal field.

Definition at line 40 of file fvMatrix.C.

References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, and UList< T >::size().

Referenced by addBoundaryDiag(), addBoundarySource(), addCmptAvBoundaryDiag(), addToInternalField(), DD(), and H1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addToInternalField() [2/2]

template<class Type>
template<class Type2>
void addToInternalField ( const labelUList & addr,
const tmp< Field< Type2 > > & tpf,
Field< Type2 > & intf ) const
protected

Definition at line 64 of file fvMatrix.C.

References addToInternalField().

Here is the call graph for this function:

◆ subtractFromInternalField() [1/2]

template<class Type>
template<class Type2>
void subtractFromInternalField ( const labelUList & addr,
const Field< Type2 > & pf,
Field< Type2 > & intf ) const
protected

Subtract patch contribution from internal field.

Definition at line 78 of file fvMatrix.C.

References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, and UList< T >::size().

Referenced by subtractFromInternalField().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ subtractFromInternalField() [2/2]

template<class Type>
template<class Type2>
void subtractFromInternalField ( const labelUList & addr,
const tmp< Field< Type2 > > & tpf,
Field< Type2 > & intf ) const
protected

Definition at line 102 of file fvMatrix.C.

References subtractFromInternalField().

Here is the call graph for this function:

◆ checkImplicit()

template<class Type>
bool checkImplicit ( const label fieldi = 0)
protected

Name the implicit assembly addressing.

Returns
true if assembly is used

Definition at line 314 of file fvMatrix.C.

References Foam::endl(), forAll, Foam::name(), Foam::Pout, and psi.

Referenced by addFvMatrix(), fvMatrix(), and fvMatrix().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addBoundaryDiag()

template<class Type>
void addBoundaryDiag ( scalarField & diag,
const direction cmpt ) const
protected

Definition at line 115 of file fvMatrix.C.

References addToInternalField(), Foam::component(), lduMatrix::diag(), forAll, globalPatchID(), lduMatrix::lduAddr(), nMatrices(), and psi.

Referenced by H(), residual(), fvMatrix< scalar >::residual(), solveCoupled(), solveSegregated(), and fvMatrix< scalar >::solveSegregated().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addCmptAvBoundaryDiag()

template<class Type>
void addCmptAvBoundaryDiag ( scalarField & diag) const
protected

Definition at line 144 of file fvMatrix.C.

References addToInternalField(), Foam::cmptAv(), lduMatrix::diag(), forAll, globalPatchID(), lduMatrix::lduAddr(), nMatrices(), and psi.

Referenced by D(), and H().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addBoundarySource()

template<class Type>
void addBoundarySource ( Field< Type > & source,
const bool couples = true ) const
protected

◆ setValuesFromList()

template<class Type>
template<template< class > class ListType>
void setValuesFromList ( const labelUList & cellLabels,
const ListType< Type > & values )
protected

Set solution in given cells to the specified values.

Definition at line 218 of file fvMatrix.C.

References lduMatrix::asymmetric(), cells, lduMatrix::diag(), forAll, lduMatrix::lower(), lduMatrix::mesh(), primitiveFieldRef(), psi(), lduMatrix::symmetric(), lduMatrix::upper(), and Foam::Zero.

Referenced by setValues(), setValues(), and setValues().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClassName()

template<class Type>
ClassName ( "fvMatrix< Type >" )

◆ clone()

template<class Type>
tmp< fvMatrix< Type > > clone ( ) const
inline

Construct and return a clone.

Definition at line 376 of file fvMatrix.H.

Referenced by setBounAndInterCoeffs().

Here is the caller graph for this function:

◆ nMatrices()

template<class Type>
label nMatrices ( ) const
inline

◆ matrix() [1/2]

template<class Type>
const fvMatrix< Type > & matrix ( const label i) const
inline

Definition at line 399 of file fvMatrix.H.

Referenced by addFvMatrix(), fvMatrix< scalar >::psi(), fvMatrix< scalar >::psi(), setBounAndInterCoeffs(), and transferFvMatrixCoeffs().

Here is the caller graph for this function:

◆ matrix() [2/2]

template<class Type>
fvMatrix< Type > & matrix ( const label i)
inline

Definition at line 404 of file fvMatrix.H.

◆ globalPatchID()

template<class Type>
label globalPatchID ( const label fieldi,
const label patchi ) const
inline

Definition at line 409 of file fvMatrix.H.

Referenced by addBoundaryDiag(), addBoundarySource(), addCmptAvBoundaryDiag(), and setInterfaces().

Here is the caller graph for this function:

◆ transferFvMatrixCoeffs()

template<class Type>
void transferFvMatrixCoeffs ( )

Transfer lower, upper, diag and source to this fvMatrix.

Definition at line 814 of file fvMatrix.C.

References lduMatrix::asymmetric(), Foam::diag(), Foam::faceMap(), forAll, lduMeshPtr(), lduMatrix::lower(), matrix(), nMatrices(), List< T >::setSize(), source(), lduMatrix::upper(), and Foam::Zero.

Referenced by fvMatrix< scalar >::solveSegregated().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createOrUpdateLduPrimitiveAssembly()

template<class Type>
void createOrUpdateLduPrimitiveAssembly ( )

◆ lduMeshPtr() [1/2]

◆ lduMeshPtr() [2/2]

template<class Type>
const Foam::lduPrimitiveMeshAssembly * lduMeshPtr ( ) const

Const Access to lduPrimitiveMeshAssembly.

Definition at line 894 of file fvMatrix.C.

◆ manipulateMatrix()

template<class Type>
void manipulateMatrix ( direction cmp)

Manipulate matrix.

Definition at line 791 of file fvMatrix.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), forAll, lduMeshPtr(), nMatrices(), and psi.

Referenced by fvMatrix< scalar >::solveSegregated().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setBounAndInterCoeffs()

template<class Type>
void setBounAndInterCoeffs ( )

Manipulate boundary/internal coeffs for coupling.

Definition at line 661 of file fvMatrix.C.

References boundary, boundaryCoeffs(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), clone(), forAll, internalCoeffs(), lduMeshPtr(), matrix(), nMatrices(), psi(), psi, List< T >::set(), List< T >::setSize(), and Foam::Zero.

Referenced by fvMatrix< scalar >::solveSegregated().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setInterfaces()

template<class Type>
void setInterfaces ( lduInterfaceFieldPtrsList & interfaces,
PtrDynList< lduInterfaceField > & newInterfaces )

Set interfaces.

Definition at line 470 of file fvMatrix.C.

References PtrDynList< T, SizeMin >::append(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), forAll, globalPatchID(), Foam::isA(), UPtrList< T >::last(), lduMeshPtr(), nMatrices(), psi, Foam::refCast(), UPtrList< T >::set(), and UPtrList< T >::setSize().

Referenced by fvMatrix< scalar >::solveSegregated().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mapContributions()

template<class Type>
void mapContributions ( label fieldi,
const FieldField< Field, Type > & fluxContrib,
FieldField< Field, Type > & contrib,
bool internal ) const

Add internal and boundary contribution to local patches.

Definition at line 548 of file fvMatrix.C.

References lduPrimitiveMeshAssembly::cellBoundMap(), cellId, Foam::cmptMultiply(), coupled, faceId(), lduPrimitiveMeshAssembly::facePatchFaceMap(), forAll, lduMeshPtr(), DimensionedField< Type, GeoMesh >::mesh(), lduPrimitiveMeshAssembly::patchLocalToGlobalMap(), lduPrimitiveMeshAssembly::patchMap(), pp(), psi(), psi, List< T >::setSize(), and PtrList< T >::setSize().

Referenced by flux().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lduMeshAssembly()

template<class Type>
const lduPrimitiveMeshAssembly & lduMeshAssembly ( )
inline

◆ psi() [1/2]

template<class Type>
const GeometricField< Type, fvPatchField, volMesh > & psi ( const label i = 0) const
inline

Return psi.

Definition at line 486 of file fvMatrix.H.

Referenced by velocityDampingConstraint::addDamping(), oversetFvMeshBase::addInterpolation(), isotropic::addRegularisationTerm(), objectiveIncompressible::addSource(), objectiveNutSqr::addSource(), objectivePowerDissipation::addSource(), acousticDampingSource::addSup(), acousticDampingSource::addSup(), acousticDampingSource::addSup(), atmCoriolisUSource::addSup(), atmCoriolisUSource::addSup(), atmCoriolisUSource::addSup(), atmPlantCanopyUSource::addSup(), atmPlantCanopyUSource::addSup(), atmPlantCanopyUSource::addSup(), explicitPorositySource::addSup(), explicitPorositySource::addSup(), explicitPorositySource::addSup(), interRegionExplicitPorositySource::addSup(), interRegionExplicitPorositySource::addSup(), interRegionHeatTransferModel::addSup(), multiphaseMangrovesSource::addSup(), multiphaseMangrovesSource::addSup(), multiphaseMangrovesTurbulenceModel::addSup(), multiphaseMangrovesTurbulenceModel::addSup(), multiphaseStabilizedTurbulence::addSup(), patchCellsSource::addSup(), PhaseLimitStabilization< Type >::addSup(), radialActuationDiskSource::addSup(), radialActuationDiskSource::addSup(), radiation::addSup(), rotorDiskSource::addSup(), rotorDiskSource::addSup(), SemiImplicitSource< Type >::addSup(), solidificationMeltingSource::addSup(), topOSource::addSup(), topOSource::addSup(), topOSource::addSup(), topOSource::addSup(), Foam::checkMethod(), Foam::checkMethod(), Foam::checkMethod(), optionList::constrain(), oversetFvPatchField< Type >::fringeFlux(), fvMatrix(), fvMatrix(), cyclicACMIFvPatchField< Type >::manipulateMatrix(), cyclicAMIFvPatchField< Type >::manipulateMatrix(), mapContributions(), MomentumTransferPhaseSystem< BasePhaseSystem >::momentumTransfer(), oversetFvMeshBase::normalisation(), Foam::oversetPatchPhiErr(), setBounAndInterCoeffs(), regularisationPDE::setValues(), setValuesFromList(), fvMatrix< Type >::fvSolver::solve(), solveCoupled(), oversetFvMeshBase::solveOverset(), solveSegregated(), Foam::Expression::Sp(), Foam::Expression::Su(), Foam::Expression::SuSp(), and oversetFvMeshBase::write().

◆ psi() [2/2]

template<class Type>
GeometricField< Type, fvPatchField, volMesh > & psi ( const label i = 0)
inline

Definition at line 498 of file fvMatrix.H.

◆ clear()

template<class Type>
void clear ( )
inline

Clear multiple fvMatrices.

Definition at line 523 of file fvMatrix.H.

◆ dimensions()

◆ source() [1/2]

◆ source() [2/2]

template<class Type>
const Field< Type > & source ( ) const
inlinenoexcept

Definition at line 540 of file fvMatrix.H.

◆ internalCoeffs() [1/2]

◆ internalCoeffs() [2/2]

template<class Type>
FieldField< Field, Type > & internalCoeffs ( )
inlinenoexcept

fvBoundary scalar field containing pseudo-matrix coeffs for internal cells

Definition at line 558 of file fvMatrix.H.

◆ boundaryCoeffs() [1/2]

◆ boundaryCoeffs() [2/2]

template<class Type>
FieldField< Field, Type > & boundaryCoeffs ( )
inlinenoexcept

fvBoundary scalar field containing pseudo-matrix coeffs for boundary cells

Definition at line 576 of file fvMatrix.H.

◆ faceFluxCorrectionPtr() [1/2]

template<class Type>
faceFluxFieldPtrType & faceFluxCorrectionPtr ( )
inline

Return pointer to face-flux non-orthogonal correction field.

Definition at line 589 of file fvMatrix.H.

◆ faceFluxCorrectionPtr() [2/2]

template<class Type>
void faceFluxCorrectionPtr ( faceFluxFieldType * flux)
inline

Set pointer to face-flux non-orthogonal correction field.

Definition at line 597 of file fvMatrix.H.

◆ hasFaceFluxCorrection()

template<class Type>
bool hasFaceFluxCorrection ( ) const
inlinenoexcept

True if face-flux non-orthogonal correction field exists.

Definition at line 605 of file fvMatrix.H.

◆ setValues() [1/3]

template<class Type>
void setValues ( const labelUList & cellLabels,
const Type & value )

Set solution in given cells to the specified value and eliminate the corresponding equations from the matrix.

Definition at line 970 of file fvMatrix.C.

References setValuesFromList().

Referenced by fixedTemperatureConstraint::constrain(), FixedValueConstraint< Type >::constrain(), MapFieldConstraint< Type >::constrain(), epsilonWallFunctionFvPatchScalarField::manipulateMatrix(), fixedInternalValueFvPatchField< Type >::manipulateMatrix(), omegaWallFunctionFvPatchScalarField::manipulateMatrix(), and regularisationPDE::setValues().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setValues() [2/3]

template<class Type>
void setValues ( const labelUList & cellLabels,
const UList< Type > & values )

Set solution in given cells to the specified values and eliminate the corresponding equations from the matrix.

Definition at line 981 of file fvMatrix.C.

References setValuesFromList().

Here is the call graph for this function:

◆ setValues() [3/3]

template<class Type>
void setValues ( const labelUList & cellLabels,
const UIndirectList< Type > & values )

Set solution in given cells to the specified values and eliminate the corresponding equations from the matrix.

Definition at line 992 of file fvMatrix.C.

References setValuesFromList().

Here is the call graph for this function:

◆ setReference()

template<class Type>
void setReference ( const label celli,
const Type & value,
const bool forceReference = false )

Set reference level for solution.

Definition at line 1003 of file fvMatrix.C.

References Foam::diag(), and source().

Referenced by Foam::CorrectPhi(), simple::mainIter(), and while().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setReferences() [1/2]

template<class Type>
void setReferences ( const labelUList & cellLabels,
const Type & value,
const bool forceReference = false )

Set reference level for solution.

Definition at line 1019 of file fvMatrix.C.

References cellId, Foam::diag(), forAll, and source().

Here is the call graph for this function:

◆ setReferences() [2/2]

template<class Type>
void setReferences ( const labelUList & cellLabels,
const UList< Type > & values,
const bool forceReference = false )

Set reference level for solution.

Definition at line 1042 of file fvMatrix.C.

References cellId, Foam::diag(), forAll, and source().

Here is the call graph for this function:

◆ setComponentReference() [1/3]

template<class Type>
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 30 of file fvMatrixSolve.C.

References lduMatrix::diag(), and UPstream::master().

Here is the call graph for this function:

◆ addFvMatrix()

template<class Type>
void addFvMatrix ( fvMatrix< Type > & matrix)

Add fvMatrix.

Definition at line 1065 of file fvMatrix.C.

References Foam::abort(), checkImplicit(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, fvMatrix(), matrix(), and nMatrices().

Here is the call graph for this function:

◆ relax() [1/2]

◆ relax() [2/2]

template<class Type>
void relax ( )

Relax matrix (for steady-state solution).

alpha is read from controlDict

Definition at line 1242 of file fvMatrix.C.

References Foam::name(), and relax().

Here is the call graph for this function:

◆ boundaryManipulate()

template<class Type>
void boundaryManipulate ( typename GeometricField< Type, fvPatchField, volMesh >::Boundary & values)

Manipulate based on a boundary field.

Definition at line 1259 of file fvMatrix.C.

References forAll.

Referenced by adjointSimple::mainIter(), adjointMeshMovementSolver::solve(), multiphaseSystem::solveAlphas(), and oversetFvMeshBase::solveOverset().

Here is the caller graph for this function:

◆ solver() [1/4]

template<class Type>
autoPtr< fvSolver > solver ( const dictionary & )

Construct and return the solver.

Use the given solver controls

Referenced by radiativeIntensityRay::correct(), and solver().

Here is the caller graph for this function:

◆ solver() [2/4]

template<class Type>
Foam::autoPtr< typename Foam::fvMatrix< Type >::fvSolver > solver ( )

Construct and return the solver.

Solver controls read from fvSolution

Definition at line 327 of file fvMatrixSolve.C.

References solver(), and solverDict().

Here is the call graph for this function:

◆ solveSegregatedOrCoupled() [1/2]

template<class Type>
Foam::SolverPerformance< Type > solveSegregatedOrCoupled ( const dictionary & solverControls)

Solve segregated or coupled returning the solution statistics.

Use the given solver controls

Definition at line 54 of file fvMatrixSolve.C.

References addProfiling, polyMesh::defaultRegion, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::getOrDefault(), Foam::Info, mesh, regionName, solve(), solveCoupled(), and solveSegregated().

Referenced by fvMesh::solve(), fvMesh::solve(), fvMesh::solve(), fvMesh::solve(), fvMesh::solve(), surfaceAlignedSBRStressFvMotionSolver::solve(), and solveSegregatedOrCoupled().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ solveSegregatedOrCoupled() [2/2]

template<class Type>
Foam::SolverPerformance< Type > solveSegregatedOrCoupled ( )

Solve segregated or coupled returning the solution statistics.

Solver controls read from fvSolution

Definition at line 309 of file fvMatrixSolve.C.

References solverDict(), and solveSegregatedOrCoupled().

Here is the call graph for this function:

◆ solveSegregated() [1/3]

template<class Type>
Foam::SolverPerformance< Type > solveSegregated ( const dictionary & solverControls)

◆ solveCoupled()

◆ solve() [1/3]

◆ solve() [2/3]

template<class Type>
Foam::SolverPerformance< Type > solve ( const word & name)

Solve returning the solution statistics.

Uses name solver controls from fvSolution

Definition at line 341 of file fvMatrixSolve.C.

References Foam::name(), solve(), and solverDict().

Here is the call graph for this function:

◆ solve() [3/3]

template<class Type>
Foam::SolverPerformance< Type > solve ( )

Solve returning the solution statistics.

Solver controls read from fvSolution

Definition at line 348 of file fvMatrixSolve.C.

References solve(), and solverDict().

Referenced by solve(), and solve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ residual() [1/3]

template<class Type>
Foam::tmp< Foam::Field< Type > > residual ( ) const

Return the matrix residual.

Definition at line 355 of file fvMatrixSolve.C.

References addBoundaryDiag(), addBoundarySource(), Field< Type >::component(), Foam::New(), lduMatrix::residual(), and Foam::Zero.

Here is the call graph for this function:

◆ D()

template<class Type>
Foam::tmp< Foam::scalarField > D ( ) const

Return the matrix scalar diagonal.

Definition at line 1273 of file fvMatrix.C.

References addCmptAvBoundaryDiag(), Foam::diag(), and tmp< T >::New().

Referenced by relax().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DD()

template<class Type>
Foam::tmp< Foam::Field< Type > > DD ( ) const

Return the matrix Type diagonal.

Definition at line 1282 of file fvMatrix.C.

References addToInternalField(), fvPatchFieldBase::coupled(), Foam::diag(), forAll, lduMatrix::lduAddr(), tmp< T >::ref(), and UList< T >::size().

Here is the call graph for this function:

◆ A()

template<class Type>
Foam::tmp< Foam::volScalarField > A ( ) const

Return the central coefficient.

Definition at line 1306 of file fvMatrix.C.

References D, Foam::dimVol, fvPatchFieldBase::extrapolatedCalculatedType(), and GeometricField< scalar, fvPatchField, volMesh >::New().

Referenced by directionalPressureGradientExplicitSource::constrain(), meanVelocityForce::constrain(), and adjointSimple::mainIter().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ H() [1/3]

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::fvPatchField, Foam::volMesh > > H ( ) const

Return the H operation source.

Definition at line 1325 of file fvMatrix.C.

References addBoundaryDiag(), addBoundarySource(), addCmptAvBoundaryDiag(), Foam::dimVol, fvPatchFieldBase::extrapolatedCalculatedType(), lduMatrix::H(), Field< Type >::negate(), GeometricField< Type, PatchField, GeoMesh >::New(), and Foam::Zero.

Referenced by adjointSimple::mainIter().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ H1() [1/3]

template<class Type>
Foam::tmp< Foam::volScalarField > H1 ( ) const

◆ flux()

◆ solverDict() [1/2]

template<class Type>
const Foam::dictionary & solverDict ( const word & name) const

Return the solver dictionary (from fvSolution) for name.

Definition at line 1512 of file fvMatrix.C.

References Foam::name().

Referenced by solver(), and solveSegregatedOrCoupled().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ solverDict() [2/2]

template<class Type>
const Foam::dictionary & solverDict ( ) const

Return the solver dictionary for psi, taking into account finalIteration.

Definition at line 1522 of file fvMatrix.C.

Referenced by solve(), and solve().

Here is the caller graph for this function:

◆ operator=() [1/3]

template<class Type>
void operator= ( const fvMatrix< Type > & fvmv)

Definition at line 1534 of file fvMatrix.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, fvMatrix(), and lduMatrix::operator=().

Referenced by operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [2/3]

template<class Type>
void operator= ( const tmp< fvMatrix< Type > > & tfvmv)

Definition at line 1572 of file fvMatrix.C.

References fvMatrix(), and operator=().

Here is the call graph for this function:

◆ negate()

template<class Type>
void negate ( )

Inplace negate.

Definition at line 1580 of file fvMatrix.C.

References lduMatrix::negate().

Here is the call graph for this function:

◆ operator+=() [1/7]

template<class Type>
void operator+= ( const fvMatrix< Type > & fvmv)

Definition at line 1595 of file fvMatrix.C.

References Foam::checkMethod(), fvMatrix(), and lduMatrix::operator+=().

Referenced by operator+=(), operator+=(), and operator+=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator+=() [2/7]

template<class Type>
void operator+= ( const tmp< fvMatrix< Type > > & tfvmv)

Definition at line 1624 of file fvMatrix.C.

References fvMatrix(), and operator+=().

Here is the call graph for this function:

◆ operator-=() [1/7]

template<class Type>
void operator-= ( const fvMatrix< Type > & fvmv)

Definition at line 1632 of file fvMatrix.C.

References Foam::checkMethod(), fvMatrix(), and lduMatrix::operator-=().

Referenced by operator-=(), operator-=(), and operator-=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator-=() [2/7]

template<class Type>
void operator-= ( const tmp< fvMatrix< Type > > & tfvmv)

Definition at line 1661 of file fvMatrix.C.

References fvMatrix(), and operator-=().

Here is the call graph for this function:

◆ operator+=() [3/7]

template<class Type>
void operator+= ( const DimensionedField< Type, volMesh > & su)

Definition at line 1669 of file fvMatrix.C.

References Foam::checkMethod(), and source().

Here is the call graph for this function:

◆ operator+=() [4/7]

template<class Type>
void operator+= ( const tmp< DimensionedField< Type, volMesh > > & tsu)

Definition at line 1680 of file fvMatrix.C.

References operator+=().

Here is the call graph for this function:

◆ operator+=() [5/7]

template<class Type>
void operator+= ( const tmp< GeometricField< Type, fvPatchField, volMesh > > & tsu)

Definition at line 1691 of file fvMatrix.C.

References operator+=().

Here is the call graph for this function:

◆ operator-=() [3/7]

template<class Type>
void operator-= ( const DimensionedField< Type, volMesh > & su)

Definition at line 1702 of file fvMatrix.C.

References Foam::checkMethod(), and source().

Here is the call graph for this function:

◆ operator-=() [4/7]

template<class Type>
void operator-= ( const tmp< DimensionedField< Type, volMesh > > & tsu)

Definition at line 1713 of file fvMatrix.C.

References operator-=().

Here is the call graph for this function:

◆ operator-=() [5/7]

template<class Type>
void operator-= ( const tmp< GeometricField< Type, fvPatchField, volMesh > > & tsu)

Definition at line 1724 of file fvMatrix.C.

References operator-=().

Here is the call graph for this function:

◆ operator+=() [6/7]

template<class Type>
void operator+= ( const dimensioned< Type > & su)

Definition at line 1735 of file fvMatrix.C.

References DimensionedField< Type, GeoMesh >::mesh(), psi, and source().

Here is the call graph for this function:

◆ operator-=() [6/7]

template<class Type>
void operator-= ( const dimensioned< Type > & su)

Definition at line 1745 of file fvMatrix.C.

References DimensionedField< Type, GeoMesh >::mesh(), psi, and source().

Here is the call graph for this function:

◆ operator+=() [7/7]

template<class Type>
void operator+= ( Foam::zero )
inline

Definition at line 860 of file fvMatrix.H.

◆ operator-=() [7/7]

template<class Type>
void operator-= ( Foam::zero )
inline

Definition at line 861 of file fvMatrix.H.

◆ operator*=() [1/4]

template<class Type>
void operator*= ( const volScalarField::Internal & dsf)

Definition at line 1755 of file fvMatrix.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and lduMatrix::operator*=().

Referenced by operator*=(), and operator*=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator*=() [2/4]

template<class Type>
void operator*= ( const tmp< volScalarField::Internal > & tfld)

Definition at line 1785 of file fvMatrix.C.

References operator*=().

Here is the call graph for this function:

◆ operator*=() [3/4]

template<class Type>
void operator*= ( const tmp< volScalarField > & tfld)

Definition at line 1796 of file fvMatrix.C.

References operator*=().

Here is the call graph for this function:

◆ operator*=() [4/4]

template<class Type>
void operator*= ( const dimensioned< scalar > & ds)

Definition at line 1807 of file fvMatrix.C.

References lduMatrix::operator*=().

Here is the call graph for this function:

◆ expr()

template<class Type>
Foam::Expression::fvMatrixConstRefWrap< Foam::fvMatrix< Type > > expr ( ) const

Wrap value as expression.

Definition at line 3026 of file fvMatrix.C.

Referenced by fvMatrix(), and operator=().

Here is the caller graph for this function:

◆ operator=() [3/3]

template<class Type>
template<typename E>
void operator= ( const Expression::fvMatrixExpression< E, typename E::DiagExpr, typename E::UpperExpr, typename E::LowerExpr, typename E::FaceFluxExpr, typename E::SourceExpr > & expr)

Assign values from expression.

Definition at line 3034 of file fvMatrix.C.

References expr().

Here is the call graph for this function:

◆ setComponentReference() [2/3]

void setComponentReference ( const label patchi,
const label facei,
const direction ,
const scalar value )

Definition at line 33 of file fvScalarMatrix.C.

◆ solver() [3/4]

Foam::autoPtr< Foam::fvMatrix< Foam::scalar >::fvSolver > solver ( const dictionary & solverControls)

Definition at line 58 of file fvScalarMatrix.C.

◆ solveSegregated() [2/3]

Foam::solverPerformance solveSegregated ( const dictionary & solverControls)

Definition at line 154 of file fvScalarMatrix.C.

◆ residual() [2/3]

Foam::tmp< Foam::scalarField > residual ( ) const

Definition at line 308 of file fvScalarMatrix.C.

◆ H() [2/3]

Definition at line 337 of file fvScalarMatrix.C.

◆ H1() [2/3]

Definition at line 359 of file fvScalarMatrix.C.

◆ setComponentReference() [3/3]

void setComponentReference ( const label patchi,
const label facei,
const direction ,
const scalar value )

◆ solver() [4/4]

autoPtr< fvMatrix< scalar >::fvSolver > solver ( const dictionary & )

◆ solveSegregated() [3/3]

solverPerformance solveSegregated ( const dictionary & )

◆ residual() [3/3]

tmp< scalarField > residual ( ) const

◆ H() [3/3]

tmp< volScalarField > H ( ) const

◆ H1() [3/3]

tmp< volScalarField > H1 ( ) const

◆ fvSolver

template<class Type>
friend class fvSolver
friend

Declare friendship with the fvSolver class.

Definition at line 205 of file fvMatrix.H.

◆ operator& [1/4]

template<class Type>
tmp< GeometricField< Type, fvPatchField, volMesh > > operator& ( const fvMatrix< Type > & ,
const DimensionedField< Type, volMesh > &  )
friend

◆ operator& [2/4]

template<class Type>
tmp< GeometricField< Type, fvPatchField, volMesh > > operator& ( const fvMatrix< Type > & ,
const tmp< GeometricField< Type, fvPatchField, volMesh > > &  )
friend

◆ operator& [3/4]

template<class Type>
tmp< GeometricField< Type, fvPatchField, volMesh > > operator& ( const tmp< fvMatrix< Type > > & ,
const DimensionedField< Type, volMesh > &  )
friend

◆ operator& [4/4]

template<class Type>
tmp< GeometricField< Type, fvPatchField, volMesh > > operator& ( const tmp< fvMatrix< Type > > & ,
const tmp< GeometricField< Type, fvPatchField, volMesh > > &  )
friend

◆ operator<<

template<class Type>
Ostream & operator<< ( Ostream & ,
const fvMatrix< Type > &  )
friend

The documentation for this class was generated from the following files: