Bug fix for rotor motion in parallel

This commit is contained in:
Hrvoje Jasak 2011-08-03 09:22:45 +01:00
parent 011b3bad41
commit 97baced83c

View file

@ -28,7 +28,6 @@ License
#include "regionSplit.H" #include "regionSplit.H"
#include "polyTopoChanger.H" #include "polyTopoChanger.H"
#include "slidingInterface.H" #include "slidingInterface.H"
#include "ggiPolyPatch.H"
#include "Time.H" #include "Time.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
@ -222,17 +221,8 @@ void Foam::mixerRotor::calcMovingMask() const
const cellList& c = mesh_.cells(); const cellList& c = mesh_.cells();
const faceList& f = mesh_.allFaces(); const faceList& f = mesh_.allFaces();
label movingCellZoneID = const labelList& cellAddr = mesh_.cellZones()
mesh_.cellZones().findZoneID("movingCellsZone" + name_); [mesh_.cellZones().findZoneID("movingCellsZone" + name_)];
if (movingCellZoneID < 0)
{
FatalErrorIn("void mixerRotor::calcMovingMask() const")
<< "Cannot find moving cell zone ID"
<< abort(FatalError);
}
const labelList& cellAddr = mesh_.cellZones()[movingCellZoneID];
forAll (cellAddr, cellI) forAll (cellAddr, cellI)
{ {
@ -251,35 +241,8 @@ void Foam::mixerRotor::calcMovingMask() const
} }
// Attempt to enforce motion on sliders if zones exist // Attempt to enforce motion on sliders if zones exist
const label msI =
// Master side mesh_.faceZones().findZoneID(movingSliderName_ + "Zone" + name_);
label msI = -1;
if (useTopoSliding_)
{
// For topological changes, find the zone
msI = mesh_.faceZones().findZoneID(movingSliderName_ + "Zone" + name_);
}
else
{
// For GGI, take face zone from ggi interpolator
label movingSliderIndex =
mesh_.boundaryMesh().findPatchID(movingSliderName_);
if (movingSliderIndex > -1)
{
if (isA<ggiPolyPatch>(mesh_.boundaryMesh()[movingSliderIndex]))
{
const ggiPolyPatch& movingSliderGgi =
refCast<const ggiPolyPatch>
(
mesh_.boundaryMesh()[movingSliderIndex]
);
msI = mesh_.faceZones().findZoneID(movingSliderGgi.zoneName());
}
}
}
if (msI > -1) if (msI > -1)
{ {
@ -296,35 +259,8 @@ void Foam::mixerRotor::calcMovingMask() const
} }
} }
// Slave side const label ssI =
label ssI = -1; mesh_.faceZones().findZoneID(staticSliderName_ + "Zone" + name_);
if (useTopoSliding_)
{
// For topological changes, find the zone
ssI = mesh_.faceZones().findZoneID(staticSliderName_ + "Zone" + name_);
}
else
{
// For GGI, take face zone from ggi interpolator
label staticSliderIndex =
mesh_.boundaryMesh().findPatchID(staticSliderName_);
if (staticSliderIndex > -1)
{
if (isA<ggiPolyPatch>(mesh_.boundaryMesh()[staticSliderIndex]))
{
const ggiPolyPatch& staticSliderGgi =
refCast<const ggiPolyPatch>
(
mesh_.boundaryMesh()[staticSliderIndex]
);
ssI = mesh_.faceZones().findZoneID(staticSliderGgi.zoneName());
}
}
}
if (ssI > -1) if (ssI > -1)
{ {