diff --git a/targets/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.cpp b/targets/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.cpp index 7adbca0f942e68dae5e9609c6b13fb0a6b90a242..a24b51d2c16986f46b5198f35ee25996eda6845c 100644 --- a/targets/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.cpp +++ b/targets/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.cpp @@ -1,22 +1,25 @@ #include "InitialConditionShearWave.h" +#include "Simulations\ShearWave\ShearWaveParameterStruct.h" +#include "Utilities\Structs\GridInformationStruct.h" + #define _USE_MATH_DEFINES #include <math.h> -InitialConditionShearWave::InitialConditionShearWave(real lx, real lz, real l0, real u0, real v0, real rho0) +InitialConditionShearWave::InitialConditionShearWave(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct) { - this->l0 = l0; + this->l0 = simParaStruct->l0; this->lx = lx; this->lz = lz; - this->rho = rho0; - this->u0 = u0; - this->v0 = v0; + this->rho = simParaStruct->rho0; + this->u0 = simParaStruct->ux; + this->v0 = simParaStruct->uz; } -std::shared_ptr<InitialConditionShearWave> InitialConditionShearWave::getNewInstance(real lx, real lz, real l0, real u0, real v0, real rho0) +std::shared_ptr<InitialConditionShearWave> InitialConditionShearWave::getNewInstance(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct) { - return std::shared_ptr<InitialConditionShearWave>(new InitialConditionShearWave(lx, lz, l0, u0, v0, rho0)); + return std::shared_ptr<InitialConditionShearWave>(new InitialConditionShearWave(simParaStruct, gridInfoStruct)); } real InitialConditionShearWave::getInitVX(int i, int level) diff --git a/targets/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.h b/targets/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.h index 5ab93471170015b029003216d03e1d0e0642edb2..f8c98f4271bb15bef1ba5ed9fc419bebb871ad70 100644 --- a/targets/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.h +++ b/targets/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.h @@ -5,10 +5,13 @@ #include <memory> +struct ShearWaveParameterStruct; +struct GridInformationStruct; + class InitialConditionShearWave :public InitialConditionImp { public: - static std::shared_ptr< InitialConditionShearWave> getNewInstance(real lx, real lz, real l0, real u0, real v0, real rho0); + static std::shared_ptr< InitialConditionShearWave> getNewInstance(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct); real getInitVX(int i, int level); real getInitVY(int i, int level); @@ -17,7 +20,7 @@ public: real getInitPRESS(int i, int level); private: - InitialConditionShearWave(real lx, real lz, real l0, real u0, real v0, real rho0); + InitialConditionShearWave(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct); InitialConditionShearWave() {}; real rho; diff --git a/targets/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.cpp b/targets/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.cpp index bbc1c8298a1d82e44743b6970c07cbcabc28dec4..6f2e872b71b682eb7de8baa8ded425c9115273ce 100644 --- a/targets/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.cpp +++ b/targets/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.cpp @@ -32,6 +32,4 @@ ShearWaveSimulationParameter::ShearWaveSimulationParameter(std::string kernelNam oss << parameterStruct->vtkFilePath << "\\ShearWave\\viscosity" << viscosity << "\\ux_" << ux << "_uz_" << uz << "\\" << kernelName << "\\grid" << lx; generateFileDirectionInMyStystem(oss.str()); this->filePath = oss.str(); - - initialCondition = InitialConditionShearWave::getNewInstance(lx, lz, l0, ux, uz, rho0); } \ No newline at end of file diff --git a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.cpp b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.cpp index f6c5f3cd87eaad28f4306f33058cd856571f88e9..6b2165c59dfb546249062e5b0116bde7f302a74f 100644 --- a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.cpp +++ b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.cpp @@ -1,21 +1,24 @@ #include "InitialConditionTaylorGreenVortexUx.h" +#include "Simulations\TaylorGreenVortexUx\TaylorGreenVortexUxParameterStruct.h" +#include "Utilities\Structs\GridInformationStruct.h" + #define _USE_MATH_DEFINES #include <math.h> -InitialConditionTaylorGreenUx::InitialConditionTaylorGreenUx(real lx, real lz, real l0, real ux, real amplitude, real rho0) +InitialConditionTaylorGreenUx::InitialConditionTaylorGreenUx(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct) { - this->Amp = amplitude; - this->L0 = l0; - this->Lx = lx; - this->Lz = lz; - this->rho = rho0; - this->ux = ux; + this->Amp = simParaStruct->amplitude; + this->L0 = simParaStruct->l0; + this->Lx = gridInfoStruct->lx; + this->Lz = gridInfoStruct->lz; + this->rho = simParaStruct->rho0; + this->ux = simParaStruct->ux; } -std::shared_ptr<InitialConditionTaylorGreenUx> InitialConditionTaylorGreenUx::getNewInstance(real lx, real lz, real l0, real ux, real amplitude, real rho0) +std::shared_ptr<InitialConditionTaylorGreenUx> InitialConditionTaylorGreenUx::getNewInstance(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct) { - return std::shared_ptr<InitialConditionTaylorGreenUx>(new InitialConditionTaylorGreenUx(lx, lz, l0, ux, amplitude, rho0)); + return std::shared_ptr<InitialConditionTaylorGreenUx>(new InitialConditionTaylorGreenUx(simParaStruct, gridInfoStruct)); } real InitialConditionTaylorGreenUx::getInitVX(int i, int level) diff --git a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.h b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.h index 7d20de12e83fb72377dfcee6f776501253d15150..7df830d91cb58887fcba81cdc7c52f3af0a259ba 100644 --- a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.h +++ b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.h @@ -5,10 +5,13 @@ #include <memory> -class InitialConditionTaylorGreenUx :public InitialConditionImp +struct TaylorGreenVortexUxParameterStruct; +struct GridInformationStruct; + +class InitialConditionTaylorGreenUx : public InitialConditionImp { public: - static std::shared_ptr< InitialConditionTaylorGreenUx> getNewInstance(real lx, real lz, real l0, real ux, real amplitude, real rho0); + static std::shared_ptr<InitialConditionTaylorGreenUx> getNewInstance(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct); real getInitVX(int i, int level); real getInitVY(int i, int level); @@ -17,7 +20,7 @@ public: real getInitPRESS(int i, int level); private: - InitialConditionTaylorGreenUx(real lx, real lz, real l0, real ux, real amplitude, real rho0); + InitialConditionTaylorGreenUx(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct); InitialConditionTaylorGreenUx() {}; real Amp; diff --git a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.cpp b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.cpp index 939883dde47a0cc576b57ff04732c94d601a3296..ca5fcc46878e698941c4d6a3e2b42312fda22fc9 100644 --- a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.cpp +++ b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.cpp @@ -1,8 +1,6 @@ #include "SimulationParameterTaylorGreenVortexUx.h" -#include "Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.h" #include "Simulations\TaylorGreenVortexUx\TaylorGreenVortexUxParameterStruct.h" - #include "Utilities\Structs\GridInformationStruct.h" #include <sstream> @@ -30,6 +28,4 @@ SimulationParameterTaylorGreenUx::SimulationParameterTaylorGreenUx(std::string k oss << tgvParameterStruct->vtkFilePath << "\\TaylorGreenVortex Ux\\" << viscosity << "\\ux_" << ux << "_amplitude_" << amplitude << "\\" << kernelName << "\\grid" << lx; generateFileDirectionInMyStystem(oss.str()); this->filePath = oss.str(); - - initialCondition = InitialConditionTaylorGreenUx::getNewInstance(lx, lz, l0, ux, amplitude, rho0); } diff --git a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.cpp b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.cpp index 1ea369338ed566d1d64305b8a1719b3c1ce51371..f5d24298a81e7b9ccb7079c237b85922c428927d 100644 --- a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.cpp +++ b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.cpp @@ -1,21 +1,24 @@ #include "InitialConditionTaylorGreenVortexUz.h" +#include "Simulations\TaylorGreenVortexUz\TaylorGreenVortexUzParameterStruct.h" +#include "Utilities\Structs\GridInformationStruct.h" + #define _USE_MATH_DEFINES #include <math.h> -InitialConditionTaylorGreenUz::InitialConditionTaylorGreenUz(real lx, real lz, real l0, real uz, real amplitude, real rho0) +InitialConditionTaylorGreenUz::InitialConditionTaylorGreenUz(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct) { - this->Amp = amplitude; - this->L0 = l0; - this->Lx = lx; - this->Lz = lz; - this->rho = rho0; - this->uz = uz; + this->Amp = simParaStruct->amplitude; + this->L0 = simParaStruct->l0; + this->Lx = gridInfoStruct->lx; + this->Lz = gridInfoStruct->lz; + this->rho = simParaStruct->rho0; + this->uz = simParaStruct->uz; } -std::shared_ptr<InitialConditionTaylorGreenUz> InitialConditionTaylorGreenUz::getNewInstance(real lx, real lz, real l0, real uz, real amplitude, real rho0) +std::shared_ptr<InitialConditionTaylorGreenUz> InitialConditionTaylorGreenUz::getNewInstance(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct) { - return std::shared_ptr<InitialConditionTaylorGreenUz>(new InitialConditionTaylorGreenUz(lx, lz, l0, uz, amplitude, rho0)); + return std::shared_ptr<InitialConditionTaylorGreenUz>(new InitialConditionTaylorGreenUz(simParaStruct, gridInfoStruct)); } real InitialConditionTaylorGreenUz::getInitVX(int i, int level) diff --git a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.h b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.h index 60d69e359cbc572c57b9d4c1d5835919544f3d19..2c901c907c30e72a2ec4b87b044916237f564616 100644 --- a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.h +++ b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.h @@ -5,10 +5,13 @@ #include <memory> +struct TaylorGreenVortexUzParameterStruct; +struct GridInformationStruct; + class InitialConditionTaylorGreenUz :public InitialConditionImp { public: - static std::shared_ptr< InitialConditionTaylorGreenUz> getNewInstance(real lx, real lz, real l0, real uz, real amplitude, real rho0); + static std::shared_ptr< InitialConditionTaylorGreenUz> getNewInstance(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct); real getInitVX(int i, int level); real getInitVY(int i, int level); @@ -17,7 +20,7 @@ public: real getInitPRESS(int i, int level); private: - InitialConditionTaylorGreenUz(real lx, real lz, real l0, real u0, real amplitude, real rho0); + InitialConditionTaylorGreenUz(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct); InitialConditionTaylorGreenUz() {}; real Amp; diff --git a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.cpp b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.cpp index f3c99bb94a60aaeb0b920be12bf11b13419223a4..fa9c06b93b0c5df7db958c4acf7b9906cf8f4ae4 100644 --- a/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.cpp +++ b/targets/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.cpp @@ -28,6 +28,4 @@ SimulationParameterTaylorGreenUz::SimulationParameterTaylorGreenUz(std::string k oss << tgvParameterStruct->vtkFilePath << "\\TaylorGreenVortex Uz\\viscosity_" << viscosity << "\\uz_" << uz << "_amplitude_" << amplitude << "\\" << kernelName << "\\grid" << lx; generateFileDirectionInMyStystem(oss.str()); this->filePath = oss.str(); - - initialCondition = InitialConditionTaylorGreenUz::getNewInstance(lx, lz, l0, uz, amplitude, rho0); -} +} \ No newline at end of file diff --git a/targets/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp b/targets/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp index 35c4b8111cba9a200083363bd90ebf244bc9faa5..f5fbd64e3e3b601f72b0689ede80b55a71a3315d 100644 --- a/targets/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp +++ b/targets/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp @@ -6,20 +6,23 @@ #include "Utilities\Structs\SimulationDataStruct.h" #include "Utilities\Structs\TestSimulationDataStruct.h" -#include "Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.h" +#include "Simulations\TaylorGreenVortexUx\AnalyticalResults\AnalyticalResultsTaylorGreenVortexUx.h" +#include "Simulations\TaylorGreenVortexUx\InitialConditions\InitialConditionTaylorGreenVortexUx.h" #include "Simulations/TaylorGreenVortexUx/LogFileInformation/LogFileInformationTaylorGreenVortexUx.h" #include "Simulations\TaylorGreenVortexUx\SimulationInfo\SimulationInfoTaylorGreenVortexUx.h" -#include "Simulations\TaylorGreenVortexUx\AnalyticalResults\AnalyticalResultsTaylorGreenVortexUx.h" +#include "Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.h" #include "Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.h" #include "Simulations/TaylorGreenVortexUz/LogFileInformation/LogFileInformationTaylorGreenvortexUz.h" #include "Simulations\TaylorGreenVortexUz\SimulationInfo\SimulationInfoTaylorGreenVortexUz.h" #include "Simulations\TaylorGreenVortexUz\AnalyticalResults\AnalyticalResultsTaylorGreenVortexUz.h" +#include "Simulations\TaylorGreenVortexUz\InitialConditions\InitialConditionTaylorGreenVortexUz.h" #include "Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.h" #include "Simulations/ShearWave/LogFileInformation/ShearWaveLogFileInformation.h" #include "Simulations\ShearWave\SimulationInfo\ShearWaveSimulationInfo.h" #include "Simulations\ShearWave\AnalyticalResults\ShearWaveAnalyticalResults.h" +#include "Simulations\ShearWave\InitialConditions\InitialConditionShearWave.h" #include "Tests/PhiAndNuTest/PhiAndNuTest.h" #include "Tests\PhiAndNuTest\LogFileInformation\PhiAndNuLogFileInformation.h" @@ -167,6 +170,7 @@ std::shared_ptr<SimulationDataStruct> NumericalTestFactoryImp::makeTaylorGreenUx for (int i = 0; i < gridInfoStruct.size(); i++) { std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct> (new TestSimulationDataStruct); aTestSimData->simParameter = SimulationParameterTaylorGreenUx::getNewInstance(kernelName, viscosity, simParaStruct, gridInfoStruct.at(i)); + aTestSimData->initialCondition = InitialConditionTaylorGreenUx::getNewInstance(simParaStruct, gridInfoStruct.at(i)); aTestSimData->simInformation = SimulationInfoTaylorGreenUx::getNewInstance(simID, kernelName, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations); simID++; aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUx::getNewInstance(viscosity, simParaStruct); @@ -184,6 +188,7 @@ std::shared_ptr<SimulationDataStruct> NumericalTestFactoryImp::makeTaylorGreenUz for (int i = 0; i < gridInfoStruct.size(); i++) { std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct); aTestSimData->simParameter = SimulationParameterTaylorGreenUz::getNewInstance(kernelName, viscosity, simParaStruct, gridInfoStruct.at(i)); + aTestSimData->initialCondition = InitialConditionTaylorGreenUz::getNewInstance(simParaStruct, gridInfoStruct.at(i)); aTestSimData->simInformation = SimulationInfoTaylorGreenUz::getNewInstance(simID, kernelName, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations); simID++; aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUz::getNewInstance(viscosity, simParaStruct); @@ -201,6 +206,7 @@ std::shared_ptr<SimulationDataStruct> NumericalTestFactoryImp::makeShearWaveSimu for (int i = 0; i < gridInfoStruct.size(); i++) { std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct); aTestSimData->simParameter = ShearWaveSimulationParameter::getNewInstance(kernelName, viscosity, simParaStruct, gridInfoStruct.at(i)); + aTestSimData->initialCondition = InitialConditionShearWave::getNewInstance(simParaStruct, gridInfoStruct.at(i)); aTestSimData->simInformation = ShearWaveSimulationInfo::getNewInstance(simID, kernelName, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations); simID++; aTestSimData->analyticalResult = ShearWaveAnalyticalResults::getNewInstance(viscosity, simParaStruct); diff --git a/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h b/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h index 3946792c813c193ae67f7902159c96fd3b23ee68..dccbe04eea4393ddc65396b1ea570f0dc91c310e 100644 --- a/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h +++ b/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h @@ -21,11 +21,8 @@ public: virtual std::vector< int> getDevices() = 0; virtual double getMaxVelocity() = 0; - - virtual unsigned int getLx() = 0; virtual unsigned int getLz() = 0; - virtual std::shared_ptr< InitialCondition> getInitialCondition() = 0; }; #endif diff --git a/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.cpp b/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.cpp index 0f1ab8edbdac99fde7b1db7d88ebf8142d4e5ac3..f060eeafc0e9df43e159231597e7aefba086bd87 100644 --- a/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.cpp +++ b/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.cpp @@ -74,11 +74,6 @@ std::vector<int> SimulationParameterImp::getDevices() return devices; } -std::shared_ptr<InitialCondition> SimulationParameterImp::getInitialCondition() -{ - return initialCondition; -} - std::shared_ptr<KernelConfiguration> SimulationParameterImp::getKernelConfiguration() { return kernelConfig; diff --git a/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.h b/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.h index 21fbb78bd5f043aa8a28684e20ed92c639a08355..c50e694f4a3cb7f34d4b8fc63f2b25751e190cea 100644 --- a/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.h +++ b/targets/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.h @@ -19,9 +19,9 @@ public: unsigned int getTimeStepLength(); unsigned int getLx(); unsigned int getLz(); - std::vector< int> getDevices(); - std::shared_ptr< InitialCondition> getInitialCondition(); - std::shared_ptr< KernelConfiguration> getKernelConfiguration(); + std::vector<int> getDevices(); + + std::shared_ptr<KernelConfiguration> getKernelConfiguration(); protected: SimulationParameterImp() {}; @@ -39,8 +39,7 @@ protected: unsigned int maxLevel, numberOfGridLevels; unsigned int timeStepLength; - std::shared_ptr< InitialCondition> initialCondition; - std::shared_ptr< KernelConfiguration> kernelConfig; + std::shared_ptr<KernelConfiguration> kernelConfig; }; #endif diff --git a/targets/tests/NumericalTests/Utilities/Structs/TestSimulationDataStruct.h b/targets/tests/NumericalTests/Utilities/Structs/TestSimulationDataStruct.h index 1744a0a7eee093c015409a6775161273aa30d14b..d09bfcf85e23380c0f48623a5caf8ee2ebfca9d6 100644 --- a/targets/tests/NumericalTests/Utilities/Structs/TestSimulationDataStruct.h +++ b/targets/tests/NumericalTests/Utilities/Structs/TestSimulationDataStruct.h @@ -3,14 +3,16 @@ #include <memory> -class SimulationParameter; -class SimulationInfo; class AnalyticalResults; +class InitialCondition; +class SimulationInfo; +class SimulationParameter; struct TestSimulationDataStruct { - std::shared_ptr< SimulationParameter> simParameter; - std::shared_ptr< SimulationInfo> simInformation; - std::shared_ptr< AnalyticalResults> analyticalResult; + std::shared_ptr<AnalyticalResults> analyticalResult; + std::shared_ptr<InitialCondition> initialCondition; + std::shared_ptr<SimulationInfo> simInformation; + std::shared_ptr<SimulationParameter> simParameter; }; #endif \ No newline at end of file diff --git a/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h b/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h index 7901442f8d1b05d66343cd0fd44eca3b975c3107..09b3711c95bf67a2489b669a4a1461790a4d842d 100644 --- a/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h +++ b/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h @@ -6,12 +6,12 @@ #include <memory> class AnalyticalResults; +class InitialCondition; +class DataWriter; class SimulationParameter; class SimulationResults; class SimulationObserver; -class DataWriter; class Parameter; -class SimulationInfo; class TestSimulation { @@ -21,6 +21,7 @@ public: virtual std::shared_ptr<SimulationParameter> getSimulationParameter() = 0; virtual std::shared_ptr<DataWriter> getDataWriter() = 0; + virtual std::shared_ptr<InitialCondition> getInitialCondition() = 0; virtual bool getSimulationRun() = 0; virtual std::shared_ptr<SimulationResults> getSimulationResults() = 0; diff --git a/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.cpp b/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.cpp index ae381841ca0b45a96d3fdb194e56537f0a9ff7f3..2bf6a54af13fbc32872d995852ba65d94da1aa70 100644 --- a/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.cpp +++ b/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.cpp @@ -25,6 +25,7 @@ TestSimulationImp::TestSimulationImp(std::shared_ptr<TestSimulationDataStruct> t this->simPara = testSimData->simParameter; this->simInfo = testSimData->simInformation; this->analyticalResult = testSimData->analyticalResult; + this->initialCondition = testSimData->initialCondition; this->simResults = simResults; this->anaResultWriter = anaResultWriter; this->toVectorWriter = toVectorWriter; @@ -54,6 +55,11 @@ std::shared_ptr<DataWriter> TestSimulationImp::getDataWriter() return toVectorWriter; } +std::shared_ptr<InitialCondition> TestSimulationImp::getInitialCondition() +{ + return initialCondition; +} + std::shared_ptr<SimulationInfo> TestSimulationImp::getSimulationInfo() { return simInfo; diff --git a/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.h b/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.h index 451bb9b798ddd390ed967c07a096def16e8c7c78..882b9ab857d5e74c3969de5ab44f9d5959ee092c 100644 --- a/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.h +++ b/targets/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.h @@ -21,6 +21,7 @@ public: std::shared_ptr< SimulationParameter> getSimulationParameter(); std::shared_ptr< DataWriter> getDataWriter(); + std::shared_ptr<InitialCondition> getInitialCondition(); std::shared_ptr<SimulationInfo> getSimulationInfo(); void registerSimulationObserver(std::shared_ptr< SimulationObserver> simObserver); @@ -46,6 +47,7 @@ private: double calcAnalyticalResultWriteTime(); void writeAnalyticalResultsToVTK(); + std::shared_ptr<InitialCondition> initialCondition; std::shared_ptr<SimulationParameter> simPara; std::shared_ptr<SimulationInfo> simInfo; std::shared_ptr<SimulationResults> simResults; diff --git a/targets/tests/NumericalTests/Utilities/VirtualFluidSimulationFactory/VirtualFluidSimulationFactoryImp.cpp b/targets/tests/NumericalTests/Utilities/VirtualFluidSimulationFactory/VirtualFluidSimulationFactoryImp.cpp index 801d2bd826cf58c3e2a2cc998aab4f08705e7a66..c5b67efd3cf23172620e87eeebf4e35ae9e2d7f8 100644 --- a/targets/tests/NumericalTests/Utilities/VirtualFluidSimulationFactory/VirtualFluidSimulationFactoryImp.cpp +++ b/targets/tests/NumericalTests/Utilities/VirtualFluidSimulationFactory/VirtualFluidSimulationFactoryImp.cpp @@ -131,8 +131,8 @@ std::vector<std::shared_ptr<VirtualFluidSimulation>> VirtualFluidSimulationFacto vfSim->setParameter(para); testSim.at(i)->setParameter(para); - initInitialConditions(testSim.at(i)->getSimulationParameter()->getInitialCondition(), para); - std::shared_ptr<GridReaderforTesting> grid = makeGridReaderForTesting(testSim.at(i)->getSimulationParameter()->getInitialCondition(), para); + initInitialConditions(testSim.at(i)->getInitialCondition(), para); + std::shared_ptr<GridReaderforTesting> grid = makeGridReaderForTesting(testSim.at(i)->getInitialCondition(), para); vfSim->setGridProvider(grid); vfSim->setDataWriter(testSim.at(i)->getDataWriter());