57 template<
class Type,
class NVDweight>
100 if (edgeFlux_[
edge] > 0)
102 d.removeCollinear(
n[owner[
edge]]);
106 d.removeCollinear(
n[neighbour[
edge]]);
109 d *=
mesh.edgeInterpolation::lPN().internalField()[
edge];
112 if (d.magSqr() < ROOTSMALL)
114 d = vector::uniform(SMALL);
126 gradc[neighbour[
edge]],
136 if (bWeights[patchI].
coupled())
140 const scalarField& pEdgeFlux = edgeFlux_.boundaryField()[patchI];
158 mesh.areaCentres().boundaryField()[patchI].patchInternalField()
163 mesh.areaCentres().boundaryField()[patchI]
164 .patchNeighbourField()
169 mesh.faceAreaNormals().boundaryField()[patchI]
170 .patchInternalField()
175 mesh.faceAreaNormals().boundaryField()[patchI]
176 .patchNeighbourField()
181 mesh.edgeInterpolation::lPN().boundaryField()[patchI]
186 vector d(CN[edgeI] - CP[edgeI]);
188 if (pEdgeFlux[edgeI] > 0)
190 d.removeCollinear(nP[edgeI]);
194 d.removeCollinear(nN[edgeI]);
200 if (d.magSqr() < ROOTSMALL)
202 d = vector::uniform(SMALL);
221 return tWeightingFactors;
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
T & ref() const
Return non-const reference to the contents of a non-null managed pointer.
tmp< areaScalarField > limiter(const areaScalarField &phi)
#define forAll(list, i)
Loop across all elements in list.
Calculate the gradient of the given field.
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
GeometricField< scalar, faePatchField, edgeMesh > edgeScalarField
virtual tmp< edgeScalarField > weights(const GeometricField< Type, faPatchField, areaMesh > &) const
Return the interpolation weighting factors.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
Return a reference to the internal field values.
const dimensionedScalar c
Speed of light in a vacuum.
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
Field< vector > vectorField
Specialisation of Field<T> for vector.
A class for managing temporary objects.
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)