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...
Classes | |
class | fvSolver |
Solver class returned by the solver function. More... | |
Public Types | |
typedef GeometricField< Type, fvsPatchField, surfaceMesh > * | surfaceTypeFieldPtr |
Declare return type of the faceFluxCorrectionPtr() function. More... | |
Public Member Functions | |
ClassName ("fvMatrix") | |
fvMatrix (const GeometricField< Type, fvPatchField, volMesh > &, const dimensionSet &) | |
Construct given a field to solve for. More... | |
fvMatrix (const fvMatrix< Type > &) | |
Construct as copy. More... | |
fvMatrix (const tmp< fvMatrix< Type >> &) | |
Construct as copy of tmp<fvMatrix<Type>> deleting argument. More... | |
fvMatrix (const GeometricField< Type, fvPatchField, volMesh > &, Istream &) | |
Construct from Istream given field to solve for. More... | |
tmp< fvMatrix< Type > > | clone () const |
Clone. More... | |
virtual | ~fvMatrix () |
Destructor. More... | |
const GeometricField< Type, fvPatchField, volMesh > & | psi () const |
const dimensionSet & | dimensions () const |
Field< Type > & | source () |
const Field< Type > & | source () const |
const FieldField< Field, Type > & | internalCoeffs () const |
fvBoundary scalar field containing pseudo-matrix coeffs More... | |
FieldField< Field, Type > & | internalCoeffs () |
fvBoundary scalar field containing pseudo-matrix coeffs More... | |
const FieldField< Field, Type > & | boundaryCoeffs () const |
fvBoundary scalar field containing pseudo-matrix coeffs More... | |
FieldField< Field, Type > & | boundaryCoeffs () |
fvBoundary scalar field containing pseudo-matrix coeffs More... | |
surfaceTypeFieldPtr & | faceFluxCorrectionPtr () |
Return pointer to face-flux non-orthogonal correction field. More... | |
void | setValues (const labelUList &cells, const UList< Type > &values) |
Set solution in given cells to the specified values. More... | |
void | setValues (const labelUList &cells, const UIndirectList< Type > &values) |
Set solution in given cells to the specified values. More... | |
void | setReference (const label celli, const Type &value, const bool forceReference=false) |
Set reference level for solution. More... | |
void | setReferences (const labelUList &cells, const Type &value, const bool forceReference=false) |
Set references level for solution. More... | |
void | setReferences (const labelUList &cells, const UList< Type > &values, const bool forceReference=false) |
Set references 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. More... | |
void | relax (const scalar alpha) |
Relax matrix (for steady-state solution). More... | |
void | relax () |
Relax matrix (for steady-state solution). More... | |
void | boundaryManipulate (typename GeometricField< Type, fvPatchField, volMesh >::Boundary &values) |
Manipulate based on a boundary field. More... | |
autoPtr< fvSolver > | solver (const dictionary &) |
Construct and return the solver. More... | |
autoPtr< fvSolver > | solver () |
Construct and return the solver. More... | |
SolverPerformance< Type > | solveSegregatedOrCoupled (const dictionary &) |
Solve segregated or coupled returning the solution statistics. More... | |
SolverPerformance< Type > | solveSegregated (const dictionary &) |
Solve segregated returning the solution statistics. More... | |
SolverPerformance< Type > | solveCoupled (const dictionary &) |
Solve coupled returning the solution statistics. More... | |
SolverPerformance< Type > | solve (const dictionary &) |
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 scalar diagonal. More... | |
tmp< Field< Type > > | DD () const |
Return the matrix Type diagonal. More... | |
tmp< volScalarField > | A () const |
Return the central coefficient. More... | |
tmp< GeometricField< Type, fvPatchField, volMesh > > | H () const |
Return the H operation source. More... | |
tmp< volScalarField > | H1 () const |
Return H(1) More... | |
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | flux () const |
Return the face-flux field from the matrix. More... | |
const dictionary & | solverDict () const |
Return the solver dictionary taking into account finalIteration. More... | |
void | operator= (const fvMatrix< Type > &) |
void | operator= (const tmp< fvMatrix< Type >> &) |
void | 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+= (const zero &) |
void | operator-= (const zero &) |
void | operator*= (const volScalarField::Internal &) |
void | operator*= (const tmp< volScalarField::Internal > &) |
void | operator*= (const tmp< volScalarField > &) |
void | operator*= (const dimensioned< scalar > &) |
template<> | |
void | setComponentReference (const label patchi, const label facei, const direction, const scalar value) |
template<> | |
Foam::autoPtr< Foam::fvMatrix< Foam::scalar >::fvSolver > | solver (const dictionary &solverControls) |
template<> | |
Foam::solverPerformance | solveSegregated (const dictionary &solverControls) |
template<> | |
Foam::tmp< Foam::scalarField > | residual () const |
template<> | |
Foam::tmp< Foam::volScalarField > | H () const |
template<> | |
Foam::tmp< Foam::volScalarField > | H1 () const |
template<> | |
void | setComponentReference (const label patchi, const label facei, const direction, const scalar value) |
template<> | |
autoPtr< fvMatrix< scalar >::fvSolver > | solver (const dictionary &) |
template<> | |
solverPerformance | solveSegregated (const dictionary &) |
template<> | |
tmp< scalarField > | residual () const |
template<> | |
tmp< volScalarField > | H () const |
template<> | |
tmp< volScalarField > | H1 () 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 &cells, const ListType< Type > &values) |
Set solution in given cells to the specified values. More... | |
Friends | |
class | fvSolver |
Declare friendship with the fvSolver class. More... | |
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 >> &) |
Ostream & | operator (Ostream &, const 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.
Definition at line 76 of file fvPatchField.H.
typedef GeometricField<Type, fvsPatchField, surfaceMesh>* surfaceTypeFieldPtr |
Declare return type of the faceFluxCorrectionPtr() function.
Definition at line 336 of file fvMatrix.H.
fvMatrix | ( | const GeometricField< Type, fvPatchField, volMesh > & | psi, |
const dimensionSet & | ds | ||
) |
Construct given a field to solve for.
Definition at line 272 of file fvMatrix.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), DebugInFunction, Foam::endl(), forAll, psi, and Foam::Zero.
Construct as copy.
Definition at line 323 of file fvMatrix.C.
References DebugInFunction, and Foam::endl().
Construct as copy of tmp<fvMatrix<Type>> deleting argument.
Definition at line 349 of file fvMatrix.C.
References DebugInFunction, and Foam::endl().
fvMatrix | ( | const GeometricField< Type, fvPatchField, volMesh > & | psi, |
Istream & | is | ||
) |
Construct from Istream given field to solve for.
Definition at line 401 of file fvMatrix.C.
References DebugInFunction, Foam::endl(), forAll, psi, and Foam::Zero.
|
virtual |
Destructor.
Definition at line 457 of file fvMatrix.C.
References DebugInFunction, and Foam::endl().
|
protected |
Add patch contribution to internal field.
Definition at line 42 of file fvMatrix.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and UList< T >::size().
|
protected |
Definition at line 65 of file fvMatrix.C.
|
protected |
Subtract patch contribution from internal field.
Definition at line 79 of file fvMatrix.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and UList< T >::size().
|
protected |
Definition at line 102 of file fvMatrix.C.
|
protected |
Definition at line 115 of file fvMatrix.C.
References Foam::component(), Foam::diag(), and forAll.
Referenced by fvMatrix< Type >::residual().
|
protected |
Definition at line 133 of file fvMatrix.C.
References Foam::cmptAv(), Foam::diag(), and forAll.
Definition at line 149 of file fvMatrix.C.
References Foam::cmptMultiply(), fvPatchField< Type >::coupled(), forAll, and fvPatchField< Type >::patchNeighbourField().
Referenced by fvMatrix< Type >::residual().
|
protected |
Set solution in given cells to the specified values.
Definition at line 182 of file fvMatrix.C.
References Foam::constant::universal::c, cells, Foam::diag(), forAll, Foam::stringOps::lower(), mesh, primitiveFieldRef(), psi, Foam::stringOps::upper(), Foam::HashTableOps::values(), and Foam::Zero.
ClassName | ( | "fvMatrix< Type >" | ) |
Foam::tmp< Foam::fvMatrix< Type > > clone | ( | ) | const |
Clone.
Definition at line 445 of file fvMatrix.C.
|
inline |
Definition at line 285 of file fvMatrix.H.
Referenced by MRFZone::addCoriolis(), velocityDampingConstraint::addDamping(), dynamicOversetFvMesh::addInterpolation(), solver::addOptimisationTypeSource(), radiation::addSup(), PhaseLimitStabilization< Type >::addSup(), multiphaseMangrovesSource::addSup(), explicitPorositySource::addSup(), multiphaseMangrovesTurbulenceModel::addSup(), acousticDampingSource::addSup(), interRegionExplicitPorositySource::addSup(), multiphaseStabilizedTurbulence::addSup(), atmPlantCanopyUSource::addSup(), interRegionHeatTransferModel::addSup(), radialActuationDiskSource::addSup(), SemiImplicitSource< Type >::addSup(), atmCoriolisUSource::addSup(), jouleHeatingSource::addSup(), rotorDiskSource::addSup(), solidificationMeltingSource::addSup(), Foam::checkMethod(), optionAdjointList::constrain(), optionList::constrain(), MomentumTransferPhaseSystem< BasePhaseSystem >::momentumTransfer(), dynamicOversetFvMesh::normalisation(), dynamicOversetFvMesh::solve(), and dynamicOversetFvMesh::write().
|
inline |
Definition at line 290 of file fvMatrix.H.
Referenced by explicitPorositySource::addSup(), meanVelocityForce::addSup(), interRegionExplicitPorositySource::addSup(), SemiImplicitSource< Type >::addSup(), directionalPressureGradientExplicitSource::addSup(), rotorDiskSource::addSup(), Foam::checkMethod(), and fvMatrix< Type >::operator*=().
|
inline |
Definition at line 295 of file fvMatrix.H.
Referenced by MRFZone::addCoriolis(), dynamicOversetFvMesh::addInterpolation(), interRegionExplicitPorositySource::addSup(), radialActuationDiskSource::addSup(), solidificationMeltingSource::addSup(), effectivenessHeatExchangerSource::addSup(), EulerD2dt2Scheme< Type >::fvmD2dt2(), EulerDdtScheme< Type >::fvmDdt(), CoEulerDdtScheme< Type >::fvmDdt(), SLTSDdtScheme< Type >::fvmDdt(), backwardDdtScheme< Type >::fvmDdt(), localEulerDdtScheme< Type >::fvmDdt(), CrankNicolsonDdtScheme< Type >::fvmDdt(), gaussLaplacianScheme< Type, GType >::fvmLaplacian(), adjointOutletVelocityFluxFvPatchVectorField::manipulateMatrix(), adjointWallVelocityFvPatchVectorField::manipulateMatrix(), ThermoCloud< Foam::DSMCCloud >::Sh(), ReactingCloud< Foam::DSMCCloud >::Srho(), KinematicCloud< Cloud< basicKinematicCollidingParcel > >::SU(), ReactingCloud< Foam::DSMCCloud >::SYi(), and dynamicOversetFvMesh::write().
|
inline |
Definition at line 300 of file fvMatrix.H.
|
inline |
fvBoundary scalar field containing pseudo-matrix coeffs
for internal cells
Definition at line 307 of file fvMatrix.H.
Referenced by dynamicOversetFvMesh::addInterpolation(), gaussConvectionScheme< Type >::fvmDiv(), gaussLaplacianScheme< Type, GType >::fvmLaplacianUncorrected(), dynamicOversetFvMesh::normalisation(), dynamicOversetFvMesh::solve(), and dynamicOversetFvMesh::write().
|
inline |
fvBoundary scalar field containing pseudo-matrix coeffs
for internal cells
Definition at line 314 of file fvMatrix.H.
|
inline |
fvBoundary scalar field containing pseudo-matrix coeffs
for boundary cells
Definition at line 321 of file fvMatrix.H.
Referenced by dynamicOversetFvMesh::addInterpolation(), gaussConvectionScheme< Type >::fvmDiv(), gaussLaplacianScheme< Type, GType >::fvmLaplacianUncorrected(), dynamicOversetFvMesh::solve(), and dynamicOversetFvMesh::write().
|
inline |
fvBoundary scalar field containing pseudo-matrix coeffs
for boundary cells
Definition at line 328 of file fvMatrix.H.
|
inline |
Return pointer to face-flux non-orthogonal correction field.
Definition at line 339 of file fvMatrix.H.
Referenced by gaussLaplacianScheme< Type, GType >::fvmLaplacian().
void setValues | ( | const labelUList & | cells, |
const UList< Type > & | values | ||
) |
Set solution in given cells to the specified values.
and eliminate the corresponding equations from the matrix.
Definition at line 473 of file fvMatrix.C.
References Foam::HashTableOps::values().
Referenced by FixedValueConstraint< Type >::constrain(), fixedTemperatureConstraint::constrain(), fixedInternalValueFvPatchField< Type >::manipulateMatrix(), epsilonWallFunctionFvPatchScalarField::manipulateMatrix(), and omegaWallFunctionFvPatchScalarField::manipulateMatrix().
void setValues | ( | const labelUList & | cells, |
const UIndirectList< Type > & | values | ||
) |
Set solution in given cells to the specified values.
and eliminate the corresponding equations from the matrix.
Definition at line 484 of file fvMatrix.C.
References Foam::HashTableOps::values().
void setReference | ( | const label | celli, |
const Type & | value, | ||
const bool | forceReference = false |
||
) |
Set reference level for solution.
Definition at line 495 of file fvMatrix.C.
References Foam::diag().
Referenced by Foam::CorrectPhi(), simple::solveIter(), and adjointSimple::solveIter().
void setReferences | ( | const labelUList & | cells, |
const Type & | value, | ||
const bool | forceReference = false |
||
) |
Set references level for solution.
Definition at line 511 of file fvMatrix.C.
References cellId, Foam::diag(), and forAll.
void setReferences | ( | const labelUList & | cells, |
const UList< Type > & | values, | ||
const bool | forceReference = false |
||
) |
Set references level for solution.
Definition at line 536 of file fvMatrix.C.
References cellId, Foam::diag(), 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 38 of file fvMatrixSolve.C.
References Foam::diag().
void relax | ( | const scalar | alpha | ) |
Relax matrix (for steady-state solution).
alpha = 1 : diagonally equal alpha < 1 : diagonally dominant alpha = 0 : do nothing Note: Requires positive diagonal.
Definition at line 560 of file fvMatrix.C.
References Foam::constant::atomic::alpha, Foam::cmptMag(), Foam::cmptMax(), Foam::cmptMin(), Foam::component(), fvPatchField< Type >::coupled(), D, Foam::expressions::patchExpr::debug, DebugInFunction, Foam::diag(), Foam::endl(), forAll, InfoInFunction, Foam::mag(), Foam::max(), UPstream::msgType(), Foam::nl, Foam::reduce(), Foam::returnReduce(), and Foam::Zero.
Referenced by jouleHeatingSource::addSup(), hydrostaticPressure::calculateAndWrite(), IATE::correct(), dynamicLagrangian< BasicTurbulenceModel >::correct(), thixotropicViscosity::correct(), kineticTheoryModel::correct(), kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correct(), incompressiblePrimalSolver::correctBoundaryConditions(), waxSolventEvaporation::correctModel(), scalarTransport::execute(), energyTransport::execute(), twoPhaseSystem::solve(), adjointEikonalSolver::solve(), populationBalanceModel::solve(), thermalBaffle::solveEnergy(), and simple::solveIter().
void relax | ( | ) |
Relax matrix (for steady-state solution).
alpha is read from controlDict
Definition at line 708 of file fvMatrix.C.
References Foam::name(), and relax().
void boundaryManipulate | ( | typename GeometricField< Type, fvPatchField, volMesh >::Boundary & | values | ) |
Manipulate based on a boundary field.
Definition at line 725 of file fvMatrix.C.
References forAll.
Referenced by kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correct(), adjointMeshMovementSolver::solve(), and adjointSimple::solveIter().
autoPtr<fvSolver> solver | ( | const dictionary & | ) |
Construct and return the solver.
Use the given solver controls
Foam::autoPtr< typename Foam::fvMatrix< Type >::fvSolver > solver | ( | ) |
Construct and return the solver.
Solver controls read from fvSolution
Definition at line 311 of file fvMatrixSolve.C.
Foam::SolverPerformance< Type > solveSegregatedOrCoupled | ( | const dictionary & | solverControls | ) |
Solve segregated or coupled returning the solution statistics.
Use the given solver controls
Definition at line 62 of file fvMatrixSolve.C.
References addProfiling, Foam::expressions::patchExpr::debug, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::getOrDefault(), Foam::Info, messageStream::masterStream(), mesh, dictionary::readIfPresent(), regionName, and solve().
Referenced by velocityComponentLaplacianFvMotionSolver::solve(), velocityLaplacianFvMotionSolver::solve(), displacementComponentLaplacianFvMotionSolver::solve(), displacementSBRStressFvMotionSolver::solve(), solidBodyDisplacementLaplacianFvMotionSolver::solve(), displacementLaplacianFvMotionSolver::solve(), and fvMesh::solve().
Foam::SolverPerformance< Type > solveSegregated | ( | const dictionary & | solverControls | ) |
Solve segregated returning the solution statistics.
Use the given solver controls
Definition at line 115 of file fvMatrixSolve.C.
References Field< Type >::component(), Foam::expressions::patchExpr::debug, Foam::diag(), Foam::endl(), Foam::Info, messageStream::masterStream(), mesh, Foam::New(), SolverPerformance< Type >::print(), psi, PrecisionAdaptor< Type, InputType, Container >::ref(), solve(), and SolverPerformance< Type >::solverName().
Foam::SolverPerformance< Type > solveCoupled | ( | const dictionary & | solverControls | ) |
Solve coupled returning the solution statistics.
Use the given solver controls
Definition at line 241 of file fvMatrixSolve.C.
References Foam::expressions::patchExpr::debug, Foam::diag(), LduMatrix< Type, DType, LUType >::diag(), Foam::endl(), Foam::Info, Foam::stringOps::lower(), messageStream::masterStream(), mesh, SolverPerformance< Type >::print(), psi, and Foam::stringOps::upper().
Foam::SolverPerformance< Type > solve | ( | const dictionary & | solverControls | ) |
Solve returning the solution statistics.
Use the given solver controls
Definition at line 301 of file fvMatrixSolve.C.
Referenced by jouleHeatingSource::addSup(), Implicit< CloudType >::cacheFields(), hydrostaticPressure::calculateAndWrite(), dynamicLagrangian< BasicTurbulenceModel >::correct(), kineticTheoryModel::correct(), Foam::CorrectPhi(), scalarTransport::execute(), energyTransport::execute(), adjointMeshMovementSolver::solve(), laplacianMotionSolver::solve(), twoPhaseSystem::solve(), elasticityMotionSolver::solve(), adjointEikonalSolver::solve(), reactingOneDim::solveContinuity(), thermalBaffle::solveEnergy(), simple::solveIter(), adjointSimple::solveIter(), sensitivityBezierFI::solveMeshMovementEqn(), kinematicSingleLayer::solveThickness(), and Foam::fvc::spreadSource().
Foam::SolverPerformance< Type > solve | ( | ) |
Solve returning the solution statistics.
Solver controls read from fvSolution
Definition at line 325 of file fvMatrixSolve.C.
References fvMatrix< Type >::solverDict().
Foam::tmp< Foam::Field< Type > > residual | ( | ) | const |
Return the matrix residual.
Definition at line 332 of file fvMatrixSolve.C.
References fvMatrix< Type >::addBoundaryDiag(), fvMatrix< Type >::addBoundarySource(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), Field< Type >::component(), GeometricField< Type, PatchField, GeoMesh >::primitiveField(), tmp< T >::ref(), Field< Type >::replace(), lduMatrix::residual(), and Foam::Zero.
Foam::tmp< Foam::scalarField > D | ( | ) | const |
Return the matrix scalar diagonal.
Definition at line 738 of file fvMatrix.C.
References Foam::diag(), and tmp< T >::ref().
Foam::tmp< Foam::Field< Type > > DD | ( | ) | const |
Return the matrix Type diagonal.
Definition at line 747 of file fvMatrix.C.
References fvPatchField< Type >::coupled(), Foam::diag(), forAll, and tmp< T >::ref().
Foam::tmp< Foam::volScalarField > A | ( | ) | const |
Return the central coefficient.
Definition at line 771 of file fvMatrix.C.
References GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), D, Foam::dimVol, IOobject::NO_READ, IOobject::NO_WRITE, GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), and tmp< T >::ref().
Referenced by meanVelocityForce::constrain(), directionalPressureGradientExplicitSource::constrain(), incompressiblePrimalSolver::correctBoundaryConditions(), and simple::solveIter().
Foam::tmp< Foam::GeometricField< Type, Foam::fvPatchField, Foam::volMesh > > H | ( | ) | const |
Return the H operation source.
Definition at line 800 of file fvMatrix.C.
References GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), Foam::dimVol, lduMatrix::H(), IOobject::NO_READ, IOobject::NO_WRITE, GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), tmp< T >::ref(), Field< Type >::replace(), GeometricField< Type, PatchField, GeoMesh >::replace(), and Foam::Zero.
Referenced by incompressiblePrimalSolver::correctBoundaryConditions(), and simple::solveIter().
Foam::tmp< Foam::volScalarField > H1 | ( | ) | const |
Return H(1)
Definition at line 862 of file fvMatrix.C.
References Foam::component(), fvPatchField< Type >::coupled(), Foam::dimVol, forAll, lduMatrix::H1(), IOobject::NO_READ, IOobject::NO_WRITE, and GeometricField< Type, PatchField, GeoMesh >::ref().
Referenced by simple::solveIter().
Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > flux | ( | ) | const |
Return the face-flux field from the matrix.
Definition at line 910 of file fvMatrix.C.
References Foam::abort(), GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), Foam::cmptMultiply(), lduMatrix::faceH(), Foam::FatalError, FatalErrorInFunction, forAll, IOobject::NO_READ, IOobject::NO_WRITE, GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), and tmp< T >::ref().
Referenced by Implicit< CloudType >::cacheFields(), incompressiblePrimalSolver::correctBoundaryConditions(), Foam::CorrectPhi(), scalarTransport::execute(), twoPhaseSystem::solve(), simple::solveIter(), adjointSimple::solveIter(), and kinematicSingleLayer::solveThickness().
const Foam::dictionary & solverDict | ( | ) | const |
Return the solver dictionary taking into account finalIteration.
Definition at line 997 of file fvMatrix.C.
Referenced by velocityComponentLaplacianFvMotionSolver::solve(), velocityLaplacianFvMotionSolver::solve(), displacementComponentLaplacianFvMotionSolver::solve(), displacementSBRStressFvMotionSolver::solve(), solidBodyDisplacementLaplacianFvMotionSolver::solve(), displacementLaplacianFvMotionSolver::solve(), and fvMatrix< Type >::solve().
Definition at line 1013 of file fvMatrix.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and lduMatrix::operator=().
Definition at line 1047 of file fvMatrix.C.
void negate | ( | ) |
Definition at line 1055 of file fvMatrix.C.
References lduMatrix::negate().
Definition at line 1070 of file fvMatrix.C.
References Foam::checkMethod(), and lduMatrix::operator+=().
Definition at line 1096 of file fvMatrix.C.
Definition at line 1104 of file fvMatrix.C.
References Foam::checkMethod(), and lduMatrix::operator-=().
Definition at line 1128 of file fvMatrix.C.
void operator+= | ( | const DimensionedField< Type, volMesh > & | su | ) |
Definition at line 1137 of file fvMatrix.C.
References Foam::checkMethod().
void operator+= | ( | const tmp< DimensionedField< Type, volMesh >> & | tsu | ) |
Definition at line 1148 of file fvMatrix.C.
void operator+= | ( | const tmp< GeometricField< Type, fvPatchField, volMesh >> & | tsu | ) |
Definition at line 1159 of file fvMatrix.C.
void operator-= | ( | const DimensionedField< Type, volMesh > & | su | ) |
Definition at line 1170 of file fvMatrix.C.
References Foam::checkMethod().
void operator-= | ( | const tmp< DimensionedField< Type, volMesh >> & | tsu | ) |
Definition at line 1181 of file fvMatrix.C.
void operator-= | ( | const tmp< GeometricField< Type, fvPatchField, volMesh >> & | tsu | ) |
Definition at line 1192 of file fvMatrix.C.
void operator+= | ( | const dimensioned< Type > & | su | ) |
Definition at line 1203 of file fvMatrix.C.
References psi.
void operator-= | ( | const dimensioned< Type > & | su | ) |
Definition at line 1213 of file fvMatrix.C.
References psi.
Definition at line 1223 of file fvMatrix.C.
Definition at line 1231 of file fvMatrix.C.
void operator*= | ( | const volScalarField::Internal & | dsf | ) |
Definition at line 1239 of file fvMatrix.C.
References Foam::abort(), fvMatrix< Type >::dimensions(), Foam::FatalError, FatalErrorInFunction, forAll, and lduMatrix::operator*=().
void operator*= | ( | const tmp< volScalarField::Internal > & | tdsf | ) |
Definition at line 1269 of file fvMatrix.C.
void operator*= | ( | const tmp< volScalarField > & | tvsf | ) |
Definition at line 1280 of file fvMatrix.C.
void operator*= | ( | const dimensioned< scalar > & | ds | ) |
Definition at line 1291 of file fvMatrix.C.
References lduMatrix::operator*=().
void setComponentReference | ( | const label | patchi, |
const label | facei, | ||
const | direction, | ||
const scalar | value | ||
) |
Definition at line 38 of file fvScalarMatrix.C.
References Foam::diag().
Foam::autoPtr< Foam::fvMatrix< Foam::scalar >::fvSolver > solver | ( | const dictionary & | solverControls | ) |
Definition at line 63 of file fvScalarMatrix.C.
References addProfiling, Foam::expressions::patchExpr::debug, Foam::diag(), Foam::endl(), Foam::Info, messageStream::masterStream(), mesh, Foam::New(), regionName, and solve().
Foam::solverPerformance solveSegregated | ( | const dictionary & | solverControls | ) |
Definition at line 150 of file fvScalarMatrix.C.
References Foam::expressions::patchExpr::debug, Foam::diag(), Foam::endl(), Foam::Info, messageStream::masterStream(), mesh, Foam::New(), SolverPerformance< Type >::print(), psi, and solve().
Foam::tmp< Foam::scalarField > residual | ( | ) | const |
Definition at line 199 of file fvScalarMatrix.C.
References psi, tmpNrc< Container< Type > >::ref(), and Foam::Zero.
Foam::tmp< Foam::volScalarField > H | ( | ) | const |
Definition at line 228 of file fvScalarMatrix.C.
References GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), Foam::dimVol, H(), GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), and tmp< T >::ref().
Foam::tmp< Foam::volScalarField > H1 | ( | ) | const |
Definition at line 260 of file fvScalarMatrix.C.
References Foam::dimVol, and GeometricField< Type, PatchField, GeoMesh >::ref().
void setComponentReference | ( | const label | patchi, |
const label | facei, | ||
const | direction, | ||
const scalar | value | ||
) |
autoPtr< fvMatrix< scalar >::fvSolver > solver | ( | const dictionary & | ) |
solverPerformance solveSegregated | ( | const dictionary & | ) |
tmp< scalarField > residual | ( | ) | const |
tmp< volScalarField > H | ( | ) | const |
tmp< volScalarField > H1 | ( | ) | const |
|
friend |
Declare friendship with the fvSolver class.
Definition at line 151 of file fvMatrix.H.
|
friend |
|
friend |
|
friend |
|
friend |