Go to the documentation of this file.
50 "snGradCorr("+vf.name()+
')',
57 vf.dimensions()*
mesh.nonOrthDeltaCoeffs().dimensions()
59 auto& ssf = tssf.ref();
81 mesh.deltaCoeffs().internalField();
114 kPI -= Sf*(Sf&kPI)/
sqr(magSf);
117 kNI -= Sf*(Sf&kNI)/
sqr(magSf);
119 forAll(kP.boundaryField(), patchI)
121 if (kP.boundaryField()[patchI].coupled())
123 kP.boundaryFieldRef()[patchI] =
124 mesh.boundary()[patchI].Cf()
125 -
mesh.boundary()[patchI].Cn();
127 kP.boundaryFieldRef()[patchI] -=
128 mesh.boundary()[patchI].Sf()
130 mesh.boundary()[patchI].Sf()
131 & kP.boundaryField()[patchI]
133 /
sqr(
mesh.boundary()[patchI].magSf());
135 kN.boundaryFieldRef()[patchI] =
136 mesh.Cf().boundaryField()[patchI]
138 mesh.boundary()[patchI].Cn()
139 +
mesh.boundary()[patchI].delta()
142 kN.boundaryFieldRef()[patchI] -=
143 mesh.boundary()[patchI].Sf()
145 mesh.boundary()[patchI].Sf()
146 & kN.boundaryField()[patchI]
148 /
sqr(
mesh.boundary()[patchI].magSf());
152 for (
direction cmpt = 0; cmpt < pTraits<Type>::nComponents; ++cmpt)
159 mesh.gradScheme(
"grad(" + vf.name() +
')')
168 ssf.
ref().field().replace
179 forAll(ssf.boundaryField(), patchI)
181 if (ssf.boundaryField()[patchI].coupled())
183 ssf.boundaryFieldRef()[patchI].replace
188 kN.boundaryField()[patchI]
190 .patchNeighbourField()
193 kP.boundaryField()[patchI]
195 .patchInternalField()
198 *
mesh.deltaCoeffs().boundaryField()[patchI]
235 "snGradCorr("+vf.name()+
')',
242 vf.dimensions()*
mesh.nonOrthDeltaCoeffs().dimensions()
244 auto& ssf = tssf.ref();
247 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)
Simple central-difference snGrad scheme with non-orthogonal correction.
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)
Traits class for primitives.
Calculate the gradient of the given field.
Graphite solid properties.
const Boundary & boundaryField() const
Return const-reference to the boundary field.