44 Foam::basicFvGeometryScheme::basicFvGeometryScheme
60 Pout<<
"basicFvGeometryScheme::movePoints() : "
61 <<
"recalculating primitiveMesh centres" <<
endl;
72 Pout<<
"basicFvGeometryScheme::weights() : "
73 <<
"Constructing weighting factors for face interpolation"
84 mesh_.pointsInstance(),
95 weights.setOriented();
102 const labelUList& neighbour = mesh_.neighbour();
118 scalar SfdOwn =
mag(Sf[facei] & (Cf[facei] -
C[owner[facei]]));
119 scalar SfdNei =
mag(Sf[facei] & (
C[neighbour[facei]] - Cf[facei]));
120 w[facei] = SfdNei/(SfdOwn + SfdNei);
123 surfaceScalarField::Boundary& wBf = weights.boundaryFieldRef();
125 forAll(mesh_.boundary(), patchi)
127 mesh_.boundary()[patchi].makeWeights(wBf[patchi]);
132 Pout<<
"basicFvGeometryScheme::weights : "
133 <<
"Finished constructing weighting factors for face interpolation"
145 Pout<<
"basicFvGeometryScheme::deltaCoeffs() : "
146 <<
"Constructing differencing factors array for face gradient"
152 (void)mesh_.weights();
161 mesh_.pointsInstance(),
172 deltaCoeffs.setOriented();
178 const labelUList& neighbour = mesh_.neighbour();
182 deltaCoeffs[facei] = 1.0/
mag(
C[neighbour[facei]] -
C[owner[facei]]);
185 surfaceScalarField::Boundary& deltaCoeffsBf =
186 deltaCoeffs.boundaryFieldRef();
188 forAll(deltaCoeffsBf, patchi)
190 const fvPatch&
p = mesh_.boundary()[patchi];
191 deltaCoeffsBf[patchi] = 1.0/
mag(
p.delta());
194 p.makeDeltaCoeffs(deltaCoeffsBf[patchi]);
206 Pout<<
"basicFvGeometryScheme::nonOrthDeltaCoeffs() : "
207 <<
"Constructing differencing factors array for face gradient"
221 "nonOrthDeltaCoeffs",
222 mesh_.pointsInstance(),
233 nonOrthDeltaCoeffs.setOriented();
239 const labelUList& neighbour = mesh_.neighbour();
246 vector unitArea = Sf[facei]/magSf[facei];
261 surfaceScalarField::Boundary& nonOrthDeltaCoeffsBf =
262 nonOrthDeltaCoeffs.boundaryFieldRef();
264 forAll(nonOrthDeltaCoeffsBf, patchi)
270 const vectorField patchDeltas(mesh_.boundary()[patchi].delta());
280 patchDeltaCoeffs[patchFacei] =
285 p.makeNonOrthoDeltaCoeffs(patchDeltaCoeffs);
287 return tnonOrthDeltaCoeffs;
296 Pout<<
"surfaceInterpolation::makeNonOrthCorrectionVectors() : "
297 <<
"Constructing non-orthogonal correction vectors"
307 "nonOrthCorrectionVectors",
308 mesh_.pointsInstance(),
319 corrVecs.setOriented();
324 const labelUList& neighbour = mesh_.neighbour();
332 vector unitArea = Sf[facei]/magSf[facei];
335 corrVecs[facei] = unitArea -
delta*NonOrthDeltaCoeffs[facei];
342 surfaceVectorField::Boundary& corrVecsBf = corrVecs.boundaryFieldRef();
344 forAll(corrVecsBf, patchi)
352 patchCorrVecs =
Zero;
359 const vectorField patchDeltas(mesh_.boundary()[patchi].delta());
369 patchCorrVecs[patchFacei] =
370 unitArea -
delta*patchNonOrthDeltaCoeffs[patchFacei];
375 p.makeNonOrthoCorrVectors(patchCorrVecs);
380 Pout<<
"surfaceInterpolation::makeNonOrthCorrectionVectors() : "
381 <<
"Finished constructing non-orthogonal correction vectors"
384 return tnonOrthCorrectionVectors;