From b17a568569522ee8bbd973656a667ec03c09da0b Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Fri, 9 Dec 2016 16:29:27 +0000 Subject: [PATCH] MRFZone: Do not correct boundary conditions when inactive Patch contributed by Mattijs Janssens Resolves bug-report http://bugs.openfoam.org/view.php?id=2380 --- .../cfdTools/general/MRF/MRFZone.C | 15 ++++++++++++++ .../cfdTools/general/MRF/MRFZoneTemplates.C | 20 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C index bcda0985249..b1f64847c58 100644 --- a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C +++ b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C @@ -405,6 +405,11 @@ void Foam::MRFZone::addCoriolis void Foam::MRFZone::makeRelative(volVectorField& U) const { + if (cellZoneID_ == -1) + { + return; + } + const volVectorField& C = mesh_.C(); const vector Omega = this->Omega(); @@ -474,6 +479,11 @@ void Foam::MRFZone::makeRelative void Foam::MRFZone::makeAbsolute(volVectorField& U) const { + if (cellZoneID_ == -1) + { + return; + } + const volVectorField& C = mesh_.C(); const vector Omega = this->Omega(); @@ -530,6 +540,11 @@ void Foam::MRFZone::makeAbsolute void Foam::MRFZone::correctBoundaryVelocity(volVectorField& U) const { + if (!active_) + { + return; + } + const vector Omega = this->Omega(); // Included patches diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZoneTemplates.C b/src/finiteVolume/cfdTools/general/MRF/MRFZoneTemplates.C index a5feb783dee..0a591035d6d 100644 --- a/src/finiteVolume/cfdTools/general/MRF/MRFZoneTemplates.C +++ b/src/finiteVolume/cfdTools/general/MRF/MRFZoneTemplates.C @@ -38,6 +38,11 @@ void Foam::MRFZone::makeRelativeRhoFlux surfaceScalarField& phi ) const { + if (!active_) + { + return; + } + const surfaceVectorField& Cf = mesh_.Cf(); const surfaceVectorField& Sf = mesh_.Sf(); @@ -65,6 +70,11 @@ void Foam::MRFZone::makeRelativeRhoFlux FieldField<fvsPatchField, scalar>& phi ) const { + if (!active_) + { + return; + } + const surfaceVectorField& Cf = mesh_.Cf(); const surfaceVectorField& Sf = mesh_.Sf(); @@ -105,6 +115,11 @@ void Foam::MRFZone::makeRelativeRhoFlux const label patchi ) const { + if (!active_) + { + return; + } + const surfaceVectorField& Cf = mesh_.Cf(); const surfaceVectorField& Sf = mesh_.Sf(); @@ -138,6 +153,11 @@ void Foam::MRFZone::makeAbsoluteRhoFlux surfaceScalarField& phi ) const { + if (!active_) + { + return; + } + const surfaceVectorField& Cf = mesh_.Cf(); const surfaceVectorField& Sf = mesh_.Sf(); -- GitLab