50 "linearUpwind::correction(" + vf.
name() +
')',
51 mesh.time().timeName(),
66 const auto& owner =
mesh.owner();
67 const auto& neighbour =
mesh.neighbour();
80 > tgradVf = gradScheme_().grad(vf, gradSchemeName_);
87 >& gradVf = tgradVf();
88 gradVf /=
mag(gradVf) + 1.e-12;
92 label celli = (faceFlux[facei] > 0) ? owner[facei] : neighbour[facei];
93 sfCorr[facei] = (Cf[facei] -
C[celli]) & gradVf[celli];
107 mesh.boundary()[patchi].faceCells();
115 gradVf.boundaryField()[patchi].patchNeighbourField()
123 label own = pOwner[facei];
125 if (pFaceFlux[facei] > 0)
127 pSfCorr[facei] = (pCf[facei] -
C[own]) & gradVf[own];
132 (pCf[facei] - pd[facei] -
C[own]) & pGradVfNei[facei];
Graphite solid properties.
const dimensionSet & dimensions() const noexcept
Return dimensions.
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
Generic GeometricField class.
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
@ NO_REGISTER
Do not request registration (bool: false).
@ 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.
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual bool coupled() const
True if the patch field is coupled.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
const surfaceScalarField & faceFlux_
linearUpwindNormal interpolation scheme class derived from upwind and returns upwind weighting factor...
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the explicit correction to the face-interpolate.
typeOfRank< typenamepTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank)>::type type
const fvMesh & mesh() const
Return mesh reference.
A class for managing temporary objects.
Mesh data needed to do the Finite Volume discretisation.
#define makelimitedSurfaceInterpolationTypeScheme(SS, Type)
GeometricField< vector, fvsPatchField, surfaceMesh > surfaceVectorField
GeometricField< vector, fvPatchField, volMesh > volVectorField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
Field< vector > vectorField
Specialisation of Field<T> for vector.
static constexpr const zero Zero
Global zero (0).
UList< label > labelUList
A UList of labels.
#define forAll(list, i)
Loop across all elements in list.