From 33fd35a65afc85f344a85f0f4da1ac8079e8c443 Mon Sep 17 00:00:00 2001 From: Hannes Signer Date: Wed, 2 Aug 2023 10:35:36 +0200 Subject: [PATCH 01/12] add csv2matrix function --- examples/csv2eigen.hpp | 28 +++++++++++++++++++++++++++ examples/reference-FTCS_2D_closed.cpp | 10 +++++++++- src/Simulation.cpp | 2 +- 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 examples/csv2eigen.hpp diff --git a/examples/csv2eigen.hpp b/examples/csv2eigen.hpp new file mode 100644 index 0000000..bc0c0a0 --- /dev/null +++ b/examples/csv2eigen.hpp @@ -0,0 +1,28 @@ +#include +#include +#include + +using namespace std; +using namespace Eigen; + +inline MatrixXd CSV2Eigen(string file2Convert){ + + vector matrixEntries; + + ifstream matrixDataFile(file2Convert); + + string matrixRowString; + string matrixEntry; + int matrixRowNumber = 0; + + while(getline(matrixDataFile, matrixRowString)){ + stringstream matrixRowStringStream(matrixRowString); + while(getline(matrixRowStringStream, matrixEntry, ' ')){ + matrixEntries.push_back(stod(matrixEntry)); + } + matrixRowNumber++; + } + + return Map>(matrixEntries.data(), matrixRowNumber, matrixEntries.size() / matrixRowNumber); + +} \ No newline at end of file diff --git a/examples/reference-FTCS_2D_closed.cpp b/examples/reference-FTCS_2D_closed.cpp index 89c3b29..165d00e 100644 --- a/examples/reference-FTCS_2D_closed.cpp +++ b/examples/reference-FTCS_2D_closed.cpp @@ -1,4 +1,6 @@ #include +#include "csv2eigen.hpp" +#include "Eigen/Core" int main(int argc, char *argv[]) { int row = 11; @@ -42,8 +44,14 @@ int main(int argc, char *argv[]) { Simulation sim = Simulation(grid, bc, FTCS_APPROACH); //sim.setTimestep(0.001); sim.setIterations(2); - sim.setOutputCSV(CSV_OUTPUT_VERBOSE); + sim.setOutputCSV(CSV_OUTPUT_ON); + MatrixXd mymatrix = CSV2Eigen("/Users/hannessigner/Documents/tug/build/examples/FTCS_11_11_2-1.csv"); + + cout << "Matrix start:" << endl; + cout << mymatrix << endl; + + //bool r = grid.isApprox(mymatrix); // RUN sim.run(); diff --git a/src/Simulation.cpp b/src/Simulation.cpp index 07ec676..3a1b0a2 100644 --- a/src/Simulation.cpp +++ b/src/Simulation.cpp @@ -152,7 +152,7 @@ void Simulation::run() { } if (this->csv_output > CSV_OUTPUT_OFF) { filename = createCSVfile(); - printConcentrationsCSV(filename); + // printConcentrationsCSV(filename); } if (approach == FTCS_APPROACH) { From e19171feaa4da1b5ba628930c2037fa1ce5bdf4f Mon Sep 17 00:00:00 2001 From: Hannes Signer Date: Wed, 2 Aug 2023 10:50:14 +0200 Subject: [PATCH 02/12] switch from hpp to cpp --- examples/{csv2eigen.hpp => csv2eigen.cpp} | 2 +- examples/reference-FTCS_2D_closed.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename examples/{csv2eigen.hpp => csv2eigen.cpp} (93%) diff --git a/examples/csv2eigen.hpp b/examples/csv2eigen.cpp similarity index 93% rename from examples/csv2eigen.hpp rename to examples/csv2eigen.cpp index bc0c0a0..7e91272 100644 --- a/examples/csv2eigen.hpp +++ b/examples/csv2eigen.cpp @@ -5,7 +5,7 @@ using namespace std; using namespace Eigen; -inline MatrixXd CSV2Eigen(string file2Convert){ +MatrixXd CSV2Eigen(string file2Convert){ vector matrixEntries; diff --git a/examples/reference-FTCS_2D_closed.cpp b/examples/reference-FTCS_2D_closed.cpp index 165d00e..33f50e7 100644 --- a/examples/reference-FTCS_2D_closed.cpp +++ b/examples/reference-FTCS_2D_closed.cpp @@ -1,5 +1,5 @@ #include -#include "csv2eigen.hpp" +#include "csv2eigen.cpp" #include "Eigen/Core" int main(int argc, char *argv[]) { From 78cf41f57e0120ebfbc1cbebee79723b354b1a3f Mon Sep 17 00:00:00 2001 From: philippun Date: Wed, 2 Aug 2023 12:36:06 +0200 Subject: [PATCH 03/12] implemented some util methods and started with a first test case --- examples/reference-FTCS_2D_closed.cpp | 13 ++-- src/Simulation.cpp | 7 ++- test/CMakeLists.txt | 2 +- test/FTCS_11_11_7000.csv | 13 ++++ examples/csv2eigen.cpp => test/TestUtils.cpp | 23 ++++++- test/testSimulation.cpp | 66 ++++++++++++++++++++ 6 files changed, 109 insertions(+), 15 deletions(-) create mode 100644 test/FTCS_11_11_7000.csv rename examples/csv2eigen.cpp => test/TestUtils.cpp (53%) create mode 100644 test/testSimulation.cpp diff --git a/examples/reference-FTCS_2D_closed.cpp b/examples/reference-FTCS_2D_closed.cpp index 33f50e7..1deb307 100644 --- a/examples/reference-FTCS_2D_closed.cpp +++ b/examples/reference-FTCS_2D_closed.cpp @@ -1,5 +1,4 @@ #include -#include "csv2eigen.cpp" #include "Eigen/Core" int main(int argc, char *argv[]) { @@ -42,17 +41,13 @@ int main(int argc, char *argv[]) { // Simulation Simulation sim = Simulation(grid, bc, FTCS_APPROACH); - //sim.setTimestep(0.001); - sim.setIterations(2); + sim.setTimestep(0.001); + sim.setIterations(7000); sim.setOutputCSV(CSV_OUTPUT_ON); + sim.setOutputConsole(CONSOLE_OUTPUT_ON); - MatrixXd mymatrix = CSV2Eigen("/Users/hannessigner/Documents/tug/build/examples/FTCS_11_11_2-1.csv"); - - cout << "Matrix start:" << endl; - cout << mymatrix << endl; - - //bool r = grid.isApprox(mymatrix); // RUN sim.run(); + } \ No newline at end of file diff --git a/src/Simulation.cpp b/src/Simulation.cpp index 3a1b0a2..07e27a4 100644 --- a/src/Simulation.cpp +++ b/src/Simulation.cpp @@ -25,12 +25,13 @@ Simulation::Simulation(Grid grid, Boundary bc, APPROACH approach) : grid(grid), double maxAlphaY = grid.getAlphaY().maxCoeff(); double maxAlpha = (maxAlphaX > maxAlphaY) ? maxAlphaX : maxAlphaY; - //double maxStableTimestep = minDelta / (2*maxAlpha); // Formula from Marco --> seems to be unstable + double maxStableTimestepMdl = minDelta / (2*maxAlpha); // Formula from Marco --> seems to be unstable double maxStableTimestep = 1 / (4 * maxAlpha * ((1/deltaRowSquare) + (1/deltaColSquare))); // Formula from Wikipedia - cout << maxStableTimestep << endl; + // cout << "Max stable time step MDL: " << maxStableTimestepMdl << endl; + // cout << "Max stable time step: " << maxStableTimestep << endl; - this->timestep = maxStableTimestep; + this->timestep = maxStableTimestep; this->iterations = 1000; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index ed46443..709197b 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -11,7 +11,7 @@ if(NOT DOCTEST_LIB) FetchContent_MakeAvailable(DocTest) endif() -add_executable(testTug setup.cpp testBoundaryCondition.cpp testDiffusion.cpp) +add_executable(testTug setup.cpp testBoundaryCondition.cpp testDiffusion.cpp testSimulation.cpp) target_link_libraries(testTug doctest tug) add_custom_target( diff --git a/test/FTCS_11_11_7000.csv b/test/FTCS_11_11_7000.csv new file mode 100644 index 0000000..7afe9bb --- /dev/null +++ b/test/FTCS_11_11_7000.csv @@ -0,0 +1,13 @@ +0 0 0 0 0 0 0 0 0 0 0 +1.88664e-08 3.39962e-08 7.57021e-08 1.76412e-07 4.15752e-07 9.00973e-07 3.65403e-09 9.6579e-12 3.59442e-13 3.42591e-14 3.27595e-15 +1.19102e-06 1.95195e-06 3.92165e-06 8.30575e-06 1.78976e-05 3.60742e-05 2.02843e-07 2.24659e-09 2.35085e-10 2.64988e-11 2.90933e-12 +5.85009e-05 8.57948e-05 0.000151499 0.000284105 0.00054607 0.00100251 1.18494e-05 8.26706e-07 1.26394e-07 1.70309e-08 2.20525e-09 +0.00202345 0.00258511 0.00381783 0.00599829 0.00972689 0.0154873 0.0011152 0.000247309 5.10506e-05 8.64727e-06 1.37747e-06 +0.0205848 0.0217651 0.0238282 0.0262762 0.0285812 0.0303808 0.0374255 0.0204234 0.00674813 0.00160264 0.000338852 +0.0199112 0.0210265 0.0229587 0.0252019 0.0272007 0.0285225 0.0310896 0.0156681 0.00495399 0.00114176 0.000235573 +0.0184589 0.0194561 0.0211596 0.0230704 0.0246215 0.0253266 0.0228374 0.010038 0.00292986 0.000638799 0.000125942 +0.0166888 0.0175517 0.0190015 0.0205611 0.0216793 0.0218694 0.0160278 0.00593307 0.00155164 0.000312583 5.76964e-05 +0.0151262 0.0158758 0.0171155 0.0183949 0.019193 0.0190523 0.0115557 0.00356455 0.000817461 0.000148892 2.51893e-05 +0.0142177 0.0149034 0.0160255 0.0171522 0.0177843 0.0174891 0.0093846 0.0025221 0.000515469 8.51039e-05 1.31328e-05 + + diff --git a/examples/csv2eigen.cpp b/test/TestUtils.cpp similarity index 53% rename from examples/csv2eigen.cpp rename to test/TestUtils.cpp index 7e91272..616b402 100644 --- a/examples/csv2eigen.cpp +++ b/test/TestUtils.cpp @@ -1,15 +1,22 @@ +#include #include #include +#include #include +#include +#include using namespace std; using namespace Eigen; -MatrixXd CSV2Eigen(string file2Convert){ +MatrixXd CSV2Eigen(string file2Convert) { vector matrixEntries; ifstream matrixDataFile(file2Convert); + if (matrixDataFile.fail()) { + throw invalid_argument("File probably non-existent!"); + } string matrixRowString; string matrixEntry; @@ -20,9 +27,21 @@ MatrixXd CSV2Eigen(string file2Convert){ while(getline(matrixRowStringStream, matrixEntry, ' ')){ matrixEntries.push_back(stod(matrixEntry)); } - matrixRowNumber++; + if (matrixRowString.length() > 1) { + matrixRowNumber++; + } } return Map>(matrixEntries.data(), matrixRowNumber, matrixEntries.size() / matrixRowNumber); +} +bool checkSimilarity(MatrixXd a, MatrixXd b, double precision=1e-5) { + return a.isApprox(b, precision); +} + +bool checkSimilarityV2(MatrixXd a, MatrixXd b, double maxDiff) { + + MatrixXd diff = a - b; + double maxCoeff = diff.maxCoeff(); + return maxCoeff < maxDiff; } \ No newline at end of file diff --git a/test/testSimulation.cpp b/test/testSimulation.cpp new file mode 100644 index 0000000..c0810ee --- /dev/null +++ b/test/testSimulation.cpp @@ -0,0 +1,66 @@ +#include +#include + +#include "TestUtils.cpp" + +static Grid setupSimulation() { + int row = 11; + int col = 11; + int domain_row = 10; + int domain_col = 10; + + + // Grid + Grid grid = Grid(row, col); + grid.setDomain(domain_row, domain_col); + + MatrixXd concentrations = MatrixXd::Constant(row, col, 0); + concentrations(5,5) = 1; + grid.setConcentrations(concentrations); + + MatrixXd alpha = MatrixXd::Constant(row, col, 1); + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 6; j++) { + alpha(i, j) = 0.01; + } + } + for (int i = 0; i < 5; i++) { + for (int j = 6; j < 11; j++) { + alpha(i, j) = 0.001; + } + } + for (int i = 5; i < 11; i++) { + for (int j = 6; j < 11; j++) { + alpha(i, j) = 0.1; + } + } + grid.setAlpha(alpha, alpha); + + + // Boundary + Boundary bc = Boundary(grid); + + + // Simulation + Simulation sim = Simulation(grid, bc, FTCS_APPROACH); + sim.setTimestep(0.001); + sim.setIterations(7000); + // sim.setOutputCSV(CSV_OUTPUT_ON); + // sim.setOutputConsole(CONSOLE_OUTPUT_ON); + + + // RUN + sim.run(); + + return grid; +} + +TEST_CASE("equality to reference matrix") { + MatrixXd reference = CSV2Eigen("/Users/philipp/forschungsprojekt/tug/test/FTCS_11_11_7000.csv"); + + Grid grid = setupSimulation(); + + cout << reference << endl << endl; + cout << grid.getConcentrations() << endl; + CHECK(checkSimilarity(reference, grid.getConcentrations(), 0.1) == true); +} \ No newline at end of file From 85c5e556013f5a780821759772adfc148e4111bb Mon Sep 17 00:00:00 2001 From: philippun Date: Wed, 2 Aug 2023 13:19:33 +0200 Subject: [PATCH 04/12] fixed a bug that returned the wrong grid to the test method --- include/tug/Simulation.hpp | 6 +++--- src/Simulation.cpp | 4 +++- test/testSimulation.cpp | 4 +--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/tug/Simulation.hpp b/include/tug/Simulation.hpp index f7cbfd3..bf6cbdc 100644 --- a/include/tug/Simulation.hpp +++ b/include/tug/Simulation.hpp @@ -103,11 +103,11 @@ class Simulation { void printConcentrationsCSV(string filename); /** - * @brief Start the simulation with all of the previously set parameters. + * @brief * - * @return auto + * @return Grid */ - void run(); + Grid run(); private: diff --git a/src/Simulation.cpp b/src/Simulation.cpp index 07e27a4..d984bb0 100644 --- a/src/Simulation.cpp +++ b/src/Simulation.cpp @@ -146,7 +146,7 @@ void Simulation::printConcentrationsCSV(string filename) { file.close(); } -void Simulation::run() { +Grid Simulation::run() { string filename; if (this->console_output > CONSOLE_OUTPUT_OFF) { printConcentrationsConsole(); @@ -191,4 +191,6 @@ void Simulation::run() { if (this->csv_output > CSV_OUTPUT_OFF) { printConcentrationsCSV(filename); } + + return grid; } diff --git a/test/testSimulation.cpp b/test/testSimulation.cpp index c0810ee..59ae8f6 100644 --- a/test/testSimulation.cpp +++ b/test/testSimulation.cpp @@ -50,9 +50,7 @@ static Grid setupSimulation() { // RUN - sim.run(); - - return grid; + return sim.run(); } TEST_CASE("equality to reference matrix") { From b9393a45244d823a5662729247871027618e95d6 Mon Sep 17 00:00:00 2001 From: Hannes Signer Date: Wed, 2 Aug 2023 14:17:40 +0200 Subject: [PATCH 05/12] change: update path to csv test file --- test/testSimulation.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/test/testSimulation.cpp b/test/testSimulation.cpp index 59ae8f6..e153e3d 100644 --- a/test/testSimulation.cpp +++ b/test/testSimulation.cpp @@ -1,7 +1,11 @@ +#include <_stdio.h> #include #include - +#include #include "TestUtils.cpp" +#include + +namespace fs = std::filesystem; static Grid setupSimulation() { int row = 11; @@ -54,7 +58,9 @@ static Grid setupSimulation() { } TEST_CASE("equality to reference matrix") { - MatrixXd reference = CSV2Eigen("/Users/philipp/forschungsprojekt/tug/test/FTCS_11_11_7000.csv"); + fs::path p = fs::current_path().parent_path().parent_path(); + string test_path = p.generic_string() + "/test/FTCS_11_11_7000.csv"; + MatrixXd reference = CSV2Eigen(test_path); Grid grid = setupSimulation(); From 7839a412e6c64e1043269ee76b725e85d5188995 Mon Sep 17 00:00:00 2001 From: Hannes Signer Date: Wed, 2 Aug 2023 14:19:09 +0200 Subject: [PATCH 06/12] change: delete test output --- test/testSimulation.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/test/testSimulation.cpp b/test/testSimulation.cpp index e153e3d..c8df46b 100644 --- a/test/testSimulation.cpp +++ b/test/testSimulation.cpp @@ -1,4 +1,4 @@ -#include <_stdio.h> +#include #include #include #include @@ -63,8 +63,5 @@ TEST_CASE("equality to reference matrix") { MatrixXd reference = CSV2Eigen(test_path); Grid grid = setupSimulation(); - - cout << reference << endl << endl; - cout << grid.getConcentrations() << endl; CHECK(checkSimilarity(reference, grid.getConcentrations(), 0.1) == true); } \ No newline at end of file From d22f8cf71bce87677124dca7c1624a87ecbbee72 Mon Sep 17 00:00:00 2001 From: Hannes Signer Date: Wed, 2 Aug 2023 14:23:00 +0200 Subject: [PATCH 07/12] pipeline test path --- test/testSimulation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/testSimulation.cpp b/test/testSimulation.cpp index c8df46b..1020a7e 100644 --- a/test/testSimulation.cpp +++ b/test/testSimulation.cpp @@ -61,7 +61,7 @@ TEST_CASE("equality to reference matrix") { fs::path p = fs::current_path().parent_path().parent_path(); string test_path = p.generic_string() + "/test/FTCS_11_11_7000.csv"; MatrixXd reference = CSV2Eigen(test_path); - + cout << test_path << endl; Grid grid = setupSimulation(); CHECK(checkSimilarity(reference, grid.getConcentrations(), 0.1) == true); } \ No newline at end of file From 37b6a52d7f68756ef431e18391964530cd27a775 Mon Sep 17 00:00:00 2001 From: Hannes Martin Signer Date: Thu, 3 Aug 2023 10:23:08 +0200 Subject: [PATCH 08/12] experiment pipeline --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d9f4baf..e6af65d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,6 +15,7 @@ build_release: - mkdir build && cd build - cmake -DCMAKE_BUILD_TYPE=Release -DTUG_ENABLE_TESTING=ON .. - make -j$(nproc) + - cp ../test/FTCS_11_11_7000.csv test/ test: stage: test From 05275a9e565a2a5e93e0e67e005e9e368b8a27b6 Mon Sep 17 00:00:00 2001 From: Hannes Martin Signer Date: Thu, 3 Aug 2023 10:27:38 +0200 Subject: [PATCH 09/12] experiment 2 --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e6af65d..f1d0af7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,6 +20,7 @@ build_release: test: stage: test script: + - cp ../test/FTCS_11_11_7000.csv test/ - ./build/test/testTug lint: From 95a9e694b09b59e634fcaae60d0df537250a62da Mon Sep 17 00:00:00 2001 From: Hannes Martin Signer Date: Thu, 3 Aug 2023 10:30:12 +0200 Subject: [PATCH 10/12] change test path --- test/testSimulation.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/testSimulation.cpp b/test/testSimulation.cpp index 1020a7e..72beacc 100644 --- a/test/testSimulation.cpp +++ b/test/testSimulation.cpp @@ -58,8 +58,8 @@ static Grid setupSimulation() { } TEST_CASE("equality to reference matrix") { - fs::path p = fs::current_path().parent_path().parent_path(); - string test_path = p.generic_string() + "/test/FTCS_11_11_7000.csv"; + fs::path p = fs::current_path(); // .parent_path().parent_path(); + string test_path = p.generic_string() + "/FTCS_11_11_7000.csv"; MatrixXd reference = CSV2Eigen(test_path); cout << test_path << endl; Grid grid = setupSimulation(); From fba3c93e7d571c1861fb8a00c3c40f32e4afea52 Mon Sep 17 00:00:00 2001 From: Hannes Martin Signer Date: Thu, 3 Aug 2023 10:31:36 +0200 Subject: [PATCH 11/12] change path --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f1d0af7..e6af65d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,7 +20,6 @@ build_release: test: stage: test script: - - cp ../test/FTCS_11_11_7000.csv test/ - ./build/test/testTug lint: From 63b4e49f99fd348b42e1b528d1268ae6b4b1d532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20L=C3=BCbke?= Date: Thu, 3 Aug 2023 11:12:02 +0200 Subject: [PATCH 12/12] Fix handling of CSV file --- test/CMakeLists.txt | 7 +++++++ test/testSimulation.cpp | 10 +++++----- test/testSimulation.hpp.in | 7 +++++++ 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 test/testSimulation.hpp.in diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 709197b..9431fc2 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -14,6 +14,13 @@ endif() add_executable(testTug setup.cpp testBoundaryCondition.cpp testDiffusion.cpp testSimulation.cpp) target_link_libraries(testTug doctest tug) +# get relative path of the CSV file +get_filename_component(testSimulationCSV "FTCS_11_11_7000.csv" REALPATH CACHE) +# set relative path in header file +configure_file(testSimulation.hpp.in testSimulation.hpp) +# include test directory with generated header file from above +target_include_directories(testTug PUBLIC "${CMAKE_CURRENT_BINARY_DIR}") + add_custom_target( check COMMAND $ diff --git a/test/testSimulation.cpp b/test/testSimulation.cpp index 72beacc..8336cb7 100644 --- a/test/testSimulation.cpp +++ b/test/testSimulation.cpp @@ -1,11 +1,11 @@ #include #include #include -#include #include "TestUtils.cpp" #include -namespace fs = std::filesystem; +// include the configured header file +#include static Grid setupSimulation() { int row = 11; @@ -58,10 +58,10 @@ static Grid setupSimulation() { } TEST_CASE("equality to reference matrix") { - fs::path p = fs::current_path(); // .parent_path().parent_path(); - string test_path = p.generic_string() + "/FTCS_11_11_7000.csv"; + // set string from the header file + string test_path = testSimulationCSVDir; MatrixXd reference = CSV2Eigen(test_path); cout << test_path << endl; Grid grid = setupSimulation(); CHECK(checkSimilarity(reference, grid.getConcentrations(), 0.1) == true); -} \ No newline at end of file +} diff --git a/test/testSimulation.hpp.in b/test/testSimulation.hpp.in new file mode 100644 index 0000000..2e1e19a --- /dev/null +++ b/test/testSimulation.hpp.in @@ -0,0 +1,7 @@ +#ifndef TESTSIMULATION_H_ +#define TESTSIMULATION_H_ + +// CSV file needed for validation +const char *testSimulationCSVDir = "@testSimulationCSV@"; + +#endif // TESTSIMULATION_H_