Go to the documentation of this file.
51 "snGradCorr("+vf.name()+
')',
58 vf.dimensions()*
mesh.nonOrthDeltaCoeffs().dimensions()
60 auto& ssf = tssf.ref();
80 mesh.deltaCoeffs().internalField();
113 kPI -= Sf*(Sf&kPI)/
sqr(magSf);
116 kNI -= Sf*(Sf&kNI)/
sqr(magSf);
118 forAll(kP.boundaryField(), patchI)
120 if (kP.boundaryField()[patchI].coupled())
122 kP.boundaryFieldRef()[patchI] =
123 mesh.boundary()[patchI].Cf()
124 -
mesh.boundary()[patchI].Cn();
126 kP.boundaryFieldRef()[patchI] -=
127 mesh.boundary()[patchI].Sf()
129 mesh.boundary()[patchI].Sf()
130 & kP.boundaryField()[patchI]
132 /
sqr(
mesh.boundary()[patchI].magSf());
134 kN.boundaryFieldRef()[patchI] =
135 mesh.Cf().boundaryField()[patchI]
137 mesh.boundary()[patchI].Cn()
138 +
mesh.boundary()[patchI].delta()
141 kN.boundaryFieldRef()[patchI] -=
142 mesh.boundary()[patchI].Sf()
144 mesh.boundary()[patchI].Sf()
145 & kN.boundaryField()[patchI]
147 /
sqr(
mesh.boundary()[patchI].magSf());
151 for (
direction cmpt = 0; cmpt < pTraits<Type>::nComponents; ++cmpt)
158 mesh.gradScheme(
"grad(" + vf.name() +
')')
167 ssf.
ref().field().replace
178 forAll(ssf.boundaryField(), patchI)
180 if (ssf.boundaryField()[patchI].coupled())
182 ssf.boundaryFieldRef()[patchI].replace
187 kN.boundaryField()[patchI]
189 .patchNeighbourField()
192 kP.boundaryField()[patchI]
194 .patchInternalField()
197 *
mesh.deltaCoeffs().boundaryField()[patchI]
234 "snGradCorr("+vf.name()+
')',
241 vf.dimensions()*
mesh.nonOrthDeltaCoeffs().dimensions()
243 auto& ssf = tssf.ref();
246 for (
direction cmpt = 0; cmpt < pTraits<Type>::nComponents; ++cmpt)
Defines the attributes of an object for which implicit objectRegistry management is supported,...
tmp< GeometricField< cmptType, PatchField, GeoMesh > > component(const direction) const
Return a component of the field.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Surface gradient scheme with skewness and full explicit non-orthogonal corrections.
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &) const
#define forAll(list, i)
Loop across all elements in list.
Field< vector > vectorField
Specialisation of Field<T> for vector.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > fullGradCorrection(const GeometricField< Type, fvPatchField, volMesh > &) const
Generic dimensioned Type class.
Abstract base class for gradient schemes.
Mesh data needed to do the Finite Volume discretisation.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
A traits class, which is primarily used for primitives.
Calculate the gradient of the given field.
Graphite solid properties.
const Boundary & boundaryField() const
Return const-reference to the boundary field.