Bugfix: volPointInterpolation across coupled boundaries. Vuko Vukcevic
This commit is contained in:
parent
bab8ef6814
commit
0c113bfaf5
1 changed files with 23 additions and 1 deletions
|
@ -64,7 +64,7 @@ void pointPatchInterpolation::interpolate
|
|||
|
||||
forAll(bm, patchi)
|
||||
{
|
||||
if (!isA<emptyFvPatch>(bm[patchi]) && bm[patchi].coupled())
|
||||
if (!isA<emptyFvPatch>(bm[patchi]) && !bm[patchi].coupled())
|
||||
{
|
||||
pointPatchField<Type>& ppf = pf.boundaryField()[patchi];
|
||||
|
||||
|
@ -110,6 +110,28 @@ void pointPatchInterpolation::interpolate
|
|||
}
|
||||
}
|
||||
|
||||
// Add missing contributions across the coupled boundaries. The weights are
|
||||
// constructed and normalised by correctly taking into account their
|
||||
// contributions from the other side, so we need to add the field
|
||||
// contributions from the other side. VV, 21/June/2016.
|
||||
forAll(pf.boundaryField(), patchi)
|
||||
{
|
||||
if (pf.boundaryField()[patchi].coupled())
|
||||
{
|
||||
pf.boundaryField()[patchi].initAddField();
|
||||
}
|
||||
}
|
||||
|
||||
forAll(pf.boundaryField(), patchi)
|
||||
{
|
||||
if (pf.boundaryField()[patchi].coupled())
|
||||
{
|
||||
pf.boundaryField()[patchi].addField
|
||||
(
|
||||
pf.internalField()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Correct patch-patch boundary points by interpolation "around" corners
|
||||
const labelListList& PointFaces = fvMesh_.pointFaces();
|
||||
|
|
Reference in a new issue