50 return tinterpScheme_();
62 return tinterpScheme_().interpolate(vf);
86 DebugPout<<
"fusedGaussConvectionScheme<Type>::fvmDiv on " << vf.
name()
87 <<
" with flux " << faceFlux.
name() <<
endl;
121 auto& intCoeffs =
fvm.internalCoeffs()[patchi];
122 auto& bouCoeffs =
fvm.boundaryCoeffs()[patchi];
132 if (tinterpScheme_().corrected())
149 DebugPout<<
"fusedGaussConvectionScheme<Type>::fvcDiv on " << vf.
name()
150 <<
" with flux " << faceFlux.
name() <<
endl;
162 "convection(" + faceFlux.
name() +
',' + vf.
name() +
')',
180 if (this->tinterpScheme_().corrected())
182 const auto tfaceCorr(this->tinterpScheme_().
correction(vf));
183 auto& faceCorr = tfaceCorr();
185 const auto interpolator = [&]
193 const scalar& faceVal,
204 this->tinterpScheme_().weights(vf),
222 const auto interpolator = [&]
229 const scalar& faceVal
232 return faceVal*(
lambda*(ownVal - neiVal) + neiVal);
237 tinterpScheme_().weights(vf),
249 tConvection.
ref().primitiveFieldRef() /=
mesh.Vsc();
251 tConvection.
ref().correctBoundaryConditions();
const Mesh & mesh() const noexcept
Return const reference to mesh.
const dimensionSet & dimensions() const noexcept
Return dimensions.
Generic GeometricField class.
const Internal::FieldType & primitiveField() const noexcept
Return a const-reference to the internal field values.
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
@ NO_READ
Nothing to be read.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const word & name() const noexcept
Return the object name.
const fileName & instance() const noexcept
Read access to instance path component.
Generic dimensioned Type class.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Mesh data needed to do the Finite Volume discretisation.
static const word & extrapolatedCalculatedType() noexcept
The type name for extrapolatedCalculated patch fields combines zero-gradient and calculated.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the evaluation of the value of this patchField...
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the evaluation of the value of this patchFie...
const fvMesh & mesh() const
Return mesh reference.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const
const surfaceInterpolationScheme< Type > & interpScheme() const
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const
tmp< fvMatrix< Type > > fvmDiv(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDiv(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const
Abstract base class for surface interpolation schemes.
A class for managing temporary objects.
T & ref() const
Return non-const reference to the contents of a non-null managed pointer.
A special matrix type and solver, designed for finite volume solutions of scalar equations.
Surface integrate surfaceField creating a volField. Surface sum a surfaceField creating a volField.
Surface integrate surfaceField creating a volField. Surface sum a surfaceField creating a volField.
#define DebugPout
Report an information message using Foam::Pout.
Namespace for finite-volume.
tmp< GeometricField< Type, fvPatchField, volMesh > > surfaceSum(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
void surfaceIntegrate(Field< Type > &ivf, const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Namespace of functions to calculate implicit derivatives returning a matrix.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Ostream & endl(Ostream &os)
Add newline and flush stream.
void add(DimensionedField< scalar, GeoMesh > &result, const dimensioned< scalar > &dt1, const DimensionedField< scalar, GeoMesh > &f2)
static constexpr const zero Zero
Global zero (0).
void multiplySubtract(Field< typename outerProduct< Type1, Type2 >::type > &result, const UList< Type1 > &f1, const UList< Type2 > &f2)
bool interpolate(const vector &p1, const vector &p2, const vector &o, vector &n, scalar l)
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix by subtracting the matrix multiplied by the current fi...
void multiply(DimensionedField< Type, GeoMesh > &result, const DimensionedField< Type, GeoMesh > &f1, const DimensionedField< scalar, GeoMesh > &f2)
fvsPatchField< scalar > fvsPatchScalarField
const dimensionSet dimVol(dimVolume)
Older spelling for dimVolume.
dimensionedScalar lambda("lambda", dimTime/sqr(dimLength), laminarTransport)
#define forAll(list, i)
Loop across all elements in list.