New MRFZone algorithm ignores all non-wall patches

This commit is contained in:
Dominik Christ 2014-09-18 11:27:14 +01:00
parent cd59938f3a
commit e4f05428e7

View file

@ -75,6 +75,7 @@ void Foam::MRFZone::setMRFFaces()
{ {
if (zoneCell[own[faceI]] || zoneCell[nei[faceI]]) if (zoneCell[own[faceI]] || zoneCell[nei[faceI]])
{ {
// By default, set type "other" for faces in MRF zone
faceType[faceI] = 1; faceType[faceI] = 1;
nZoneFaces++; nZoneFaces++;
} }
@ -87,20 +88,7 @@ void Foam::MRFZone::setMRFFaces()
{ {
const polyPatch& pp = patches[patchI]; const polyPatch& pp = patches[patchI];
if (pp.coupled() || excludedPatches.found(patchI)) if (pp.isWall() && !excludedPatches.found(patchI))
{
forAll(pp, i)
{
label faceI = pp.start()+i;
if (zoneCell[own[faceI]])
{
faceType[faceI] = 2;
nZoneFaces++;
}
}
}
else if (!isA<emptyPolyPatch>(pp))
{ {
forAll(pp, i) forAll(pp, i)
{ {
@ -113,11 +101,24 @@ void Foam::MRFZone::setMRFFaces()
} }
} }
} }
else if (!isA<emptyPolyPatch>(pp))
{
forAll(pp, i)
{
label faceI = pp.start()+i;
if (zoneCell[own[faceI]])
{
faceType[faceI] = 2;
nZoneFaces++;
}
}
}
} }
// Now we have for faceType: // Now we have for faceType:
// 0 : face not in cellZone // 0 : face not in cellZone
// 1 : internal face or normal patch face // 1 : internal face or wall patch or empty patch
// 2 : coupled patch face or excluded patch face // 2 : coupled patch face or excluded patch face
// Sort into lists per patch. // Sort into lists per patch.