42 const VolField<Type>& vsf,
53 const fvMesh&
mesh = vsf.mesh();
57 tmp<VolField<GradType>> tsecondfGrad
58 = leastSquaresGrad<Type>(
mesh).grad
61 "leastSquaresGrad(" + vsf.name() +
")"
63 const VolField<GradType>& secondfGrad =
66 tmp<VolField<GradType>> tfGrad
74 VolField<GradType>& fGrad = tfGrad.ref();
94 Type dDotGradDelta = 0.5*
96 (
C[nei[facei]] -
C[own[facei]])
97 & (secondfGrad[nei[facei]] - secondfGrad[own[facei]])
100 fGrad[own[facei]] -=
lambda[facei]*ownLs[facei]*dDotGradDelta;
101 fGrad[nei[facei]] -= (1.0 -
lambda[facei])*neiLs[facei]*dDotGradDelta;
107 if (secondfGrad.boundaryField()[
patchi].coupled())
110 ownLs.boundaryField()[
patchi];
114 const fvPatch&
p = vsf.boundaryField()[
patchi].patch();
121 const Field<GradType> neighbourSecondfGrad
123 secondfGrad.boundaryField()[
patchi].patchNeighbourField()
126 forAll(faceCells, patchFacei)
128 fGrad[faceCells[patchFacei]] -=
129 0.5*lambdap[patchFacei]*patchOwnLs[patchFacei]
133 neighbourSecondfGrad[patchFacei]
134 - secondfGrad[faceCells[patchFacei]]
141 fGrad.correctBoundaryConditions();
#define forAll(list, i)
Loop across all elements in list.
Generic GeometricField class.
const volVectorField & C() const
Return cell centres.
const labelUList & owner() const
Internal face owner.
const labelUList & neighbour() const
Internal face neighbour.
virtual tmp< VolField< typename outerProduct< vector, Type >::type > > calcGrad(const VolField< Type > &vsf, const word &name) const
Return the gradient of the given field to the gradScheme::grad.
const surfaceScalarField & weights() const
Return reference to linear difference weighting factors.
A class for managing temporary objects.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
volScalarField scalarField(fieldObject, mesh)
volVectorField vectorField(fieldObject, mesh)
U correctBoundaryConditions()
dimensionedScalar lambda(viscosity->lookup("lambda"))
static const coefficient C("C", dimTemperature, 234.5)
SurfaceField< scalar > surfaceScalarField
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
SurfaceField< vector > surfaceVectorField
UList< label > labelUList
fvsPatchField< vector > fvsPatchVectorField
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.