From 0bd5d60c942bbc96b647ab4cf01d8a6f2fab3d35 Mon Sep 17 00:00:00 2001 From: Kutscher <kutscher@irmb.tu-bs.de> Date: Wed, 1 Nov 2023 16:57:55 +0100 Subject: [PATCH] BCStrategy refactoring --- .../MultiphaseNoSlipBCStrategy.cpp | 1 - ...ltiphaseNonReflectingOutflowBCStrategy.cpp | 1 - .../MultiphasePressureBCStrategy.cpp | 1 - .../MultiphaseSlipBCStrategy.cpp | 1 - .../MultiphaseVelocityBCStrategy.cpp | 1 - .../BoundaryConditions/BCStrategyRegistry.cpp | 5 ++ .../BoundaryConditions/BCStrategyRegistry.h | 5 +- .../MultiphaseBCStrategyType.h | 73 ------------------- 8 files changed, 9 insertions(+), 79 deletions(-) delete mode 100644 src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseBCStrategyType.h diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNoSlipBCStrategy.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNoSlipBCStrategy.cpp index b9e02f9b5..6632c1d8e 100644 --- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNoSlipBCStrategy.cpp +++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNoSlipBCStrategy.cpp @@ -34,7 +34,6 @@ #include "MultiphaseNoSlipBCStrategy.h" #include "BoundaryConditions.h" #include "DistributionArray3D.h" -#include "MultiphaseBCStrategyType.h" MultiphaseNoSlipBCStrategy::MultiphaseNoSlipBCStrategy() { diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNonReflectingOutflowBCStrategy.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNonReflectingOutflowBCStrategy.cpp index 1dc704630..b026d60ee 100644 --- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNonReflectingOutflowBCStrategy.cpp +++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNonReflectingOutflowBCStrategy.cpp @@ -35,7 +35,6 @@ #include "BoundaryConditions.h" #include "D3Q27System.h" #include "DistributionArray3D.h" -#include "MultiphaseBCStrategyType.h" MultiphaseNonReflectingOutflowBCStrategy::MultiphaseNonReflectingOutflowBCStrategy() { diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphasePressureBCStrategy.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphasePressureBCStrategy.cpp index aa5150677..d8f772388 100644 --- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphasePressureBCStrategy.cpp +++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphasePressureBCStrategy.cpp @@ -34,7 +34,6 @@ #include "MultiphasePressureBCStrategy.h" #include "DistributionArray3D.h" #include "BoundaryConditions.h" -#include "MultiphaseBCStrategyType.h" MultiphasePressureBCStrategy::MultiphasePressureBCStrategy() diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseSlipBCStrategy.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseSlipBCStrategy.cpp index 73edf8f99..55594ae56 100644 --- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseSlipBCStrategy.cpp +++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseSlipBCStrategy.cpp @@ -34,7 +34,6 @@ #include "MultiphaseSlipBCStrategy.h" #include "DistributionArray3D.h" #include "BoundaryConditions.h" -#include "MultiphaseBCStrategyType.h" MultiphaseSlipBCStrategy::MultiphaseSlipBCStrategy() { diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp index c4755f178..99d0e085e 100644 --- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp +++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp @@ -34,7 +34,6 @@ #include "MultiphaseVelocityBCStrategy.h" #include "DistributionArray3D.h" #include "BoundaryConditions.h" -#include "MultiphaseBCStrategyType.h" MultiphaseVelocityBCStrategy::MultiphaseVelocityBCStrategy() { diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCStrategyRegistry.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCStrategyRegistry.cpp index d64e4ddff..4742753d0 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCStrategyRegistry.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCStrategyRegistry.cpp @@ -22,4 +22,9 @@ void BCStrategyRegistry::setBCStrategy(char strategyKey, std::shared_ptr<BCStrat std::shared_ptr<BCStrategy> BCStrategyRegistry::getBCStrategy(char strategyKey) { return bcMap[strategyKey]; +} + +void BCStrategyRegistry::clear() +{ + bcMap.clear(); } \ No newline at end of file diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCStrategyRegistry.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCStrategyRegistry.h index 0e2ba5600..b91a6c433 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCStrategyRegistry.h +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCStrategyRegistry.h @@ -51,10 +51,13 @@ public: virtual ~BCStrategyRegistry() = default; void setBCStrategy(char bcStrategyKey, std::shared_ptr<BCStrategy> bcStrategy); - std::shared_ptr<BCStrategy> getBCStrategy(char type); + std::shared_ptr<BCStrategy> getBCStrategy(char strategyKey); + + void clear(); private: BCStrategyRegistry() = default; + static std::mutex instantiation_mutex; static std::shared_ptr<BCStrategyRegistry> instance; diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseBCStrategyType.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseBCStrategyType.h deleted file mode 100644 index ae5d830b2..000000000 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseBCStrategyType.h +++ /dev/null @@ -1,73 +0,0 @@ -//======================================================================================= -// ____ ____ __ ______ __________ __ __ __ __ -// \ \ | | | | | _ \ |___ ___| | | | | / \ | | -// \ \ | | | | | |_) | | | | | | | / \ | | -// \ \ | | | | | _ / | | | | | | / /\ \ | | -// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ -// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| -// \ \ | | ________________________________________________________________ -// \ \ | | | ______________________________________________________________| -// \ \| | | | __ __ __ __ ______ _______ -// \ | | |_____ | | | | | | | | | _ \ / _____) -// \ | | _____| | | | | | | | | | | \ \ \_______ -// \ | | | | |_____ | \_/ | | | | |_/ / _____ | -// \ _____| |__| |________| \_______/ |__| |______/ (_______/ -// -// This file is part of VirtualFluids. VirtualFluids is free software: you can -// redistribute it and/or modify it under the terms of the GNU General Public -// License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -// for more details. -// -// You should have received a copy of the GNU General Public License along -// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. -// -//! \file BCStrategy.h -//! \ingroup BoundarConditions -//! \author Konstantin Kutscher -//======================================================================================= - -#ifndef MultiphaseBCStrategyType_H -#define MultiphaseBCStrategyType_H - -struct MultiphaseBCStrategyType -{ - //static const char VelocityBCStrategy = 0; - //static const char EqDensityBCStrategy = 1; - //static const char NonEqDensityBCStrategy = 2; - //static const char NoSlipBCStrategy = 3; - //static const char SlipBCStrategy = 4; - //static const char HighViscosityNoSlipBCStrategy = 5; - //static const char ThinWallNoSlipBCStrategy = 6; - //static const char VelocityWithDensityBCStrategy = 7; - //static const char NonReflectingOutflowBCStrategy = 8; - //static const char ThixotropyVelocityBCStrategy = 9; - //static const char ThixotropyDensityBCStrategy = 10; - //static const char ThixotropyNoSlipBCStrategy = 11; - //static const char ThixotropyNonReflectingOutflowBCStrategy = 12; - //static const char ThixotropyVelocityWithDensityBCStrategy = 13; - //static const char RheologyBinghamModelNoSlipBCStrategy = 14; - //static const char RheologyHerschelBulkleyModelNoSlipBCStrategy = 15; - //static const char SimpleVelocityBCStrategy = 16; - //static const char SimpleSlipBCStrategy = 17; - //static const char RheologyPowellEyringModelNoSlipBCStrategy = 18; - //static const char RheologyBinghamModelVelocityBCStrategy = 19; - //static const char MultiphaseNoSlipBCStrategy = 20; - //static const char MultiphaseVelocityBCStrategy = 21; - //static const char NonReflectingInflowBCStrategy = 22; - //static const char NonReflectingOutflowWithRelaxationBCStrategy = 23; - //static const char MultiphasePressureBCStrategy = 24; - - - static const char MultiphaseNoSlipBCStrategy = 0; - static const char MultiphaseVelocityBCStrategy = 1; - static const char MultiphasePressureBCStrategy = 2; - static const char MultiphaseNonReflectingOutflowBCStrategy = 3; - static const char MultiphaseSlipBCStrategy = 4; -}; - -#endif \ No newline at end of file -- GitLab