Go to the documentation of this file.
56 template<
class Type,
class NVDweight>
99 if (edgeFlux_[
edge] > 0)
103 d /=
mag(d)/
mesh.edgeInterpolation::lPN().internalField()[
edge];
108 d -=
n[neighbour[
edge]]*(
n[neighbour[
edge]]&d);
109 d /=
mag(d)/
mesh.edgeInterpolation::lPN().internalField()[
edge];
120 gradc[neighbour[
edge]],
131 if (bWeights[patchI].coupled())
135 const scalarField& pEdgeFlux = edgeFlux_.boundaryField()[patchI];
153 mesh.areaCentres().boundaryField()[patchI].patchInternalField()
158 mesh.areaCentres().boundaryField()[patchI]
159 .patchNeighbourField()
164 mesh.faceAreaNormals().boundaryField()[patchI]
165 .patchInternalField()
170 mesh.faceAreaNormals().boundaryField()[patchI]
171 .patchNeighbourField()
176 mesh.edgeInterpolation::lPN().boundaryField()[patchI]
183 if (pEdgeFlux[edgeI] > 0)
185 d = CN[edgeI] - CP[edgeI];
186 d -= nP[edgeI]*(nP[edgeI]&d);
187 d /=
mag(d)/pLPN[edgeI];
191 d = CN[edgeI] - CP[edgeI];
192 d -= nN[edgeI]*(nN[edgeI]&d);
193 d /=
mag(d)/pLPN[edgeI];
211 return tWeightingFactors;
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
#define forAll(list, i)
Loop across all elements in list.
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
virtual tmp< edgeScalarField > weights(const GeometricField< Type, faPatchField, areaMesh > &) const
Return the interpolation weighting factors.
GeometricField< scalar, faePatchField, edgeMesh > edgeScalarField
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
Return a reference to the internal field.
tmp< areaScalarField > limiter(const areaVectorField &phi)
Calculate the gradient of the given field.
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
const dimensionedScalar c
Speed of light in a vacuum.
Finite area mesh. Used for 2-D non-Euclidian finite area method.
Generic GeometricField class.
tmp< areaScalarField > limiter(const areaScalarField &phi)
const Boundary & boundaryField() const
Return const-reference to the boundary field.
GeometricField< tensor, faPatchField, areaMesh > areaTensorField