From 9830aa11310de778c02a8a47e72db1e945eccf07 Mon Sep 17 00:00:00 2001
From: Anna Wellmann <a.wellmann@tu-bs.de>
Date: Mon, 17 Apr 2023 11:48:59 +0000
Subject: [PATCH] Do not  expect that the default config file is stored in
 parallel to the main

---
 .../DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp   |  2 +-
 apps/gpu/LBM/MusselOyster/MusselOyster.cpp          |  2 +-
 apps/gpu/LBM/SphereGPU/Sphere.cpp                   |  2 +-
 apps/gpu/LBM/SphereScaling/SphereScaling.cpp        |  2 +-
 src/basics/config/ConfigurationFile.h               | 13 +++++--------
 5 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp b/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp
index 60ba72a8a..5a1ad9800 100755
--- a/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp
+++ b/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp
@@ -516,7 +516,7 @@ int main(int argc, char *argv[])
     if (argv != NULL) {
 
         try {
-            vf::basics::ConfigurationFile config = vf::basics::ConfigurationFile::loadConfig(argc, argv, __FILE__, "configDrivenCavityMultiGPU.txt");
+            vf::basics::ConfigurationFile config = vf::basics::ConfigurationFile::loadConfig(argc, argv, "./apps/gpu/LBM/DrivenCavityMultiGPU/configDrivenCavityMultiGPU.txt");
             multipleLevel(config);
 
             //////////////////////////////////////////////////////////////////////////
diff --git a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
index 30acac7cc..5b6456c49 100644
--- a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
+++ b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
@@ -583,7 +583,7 @@ int main(int argc, char *argv[])
     if (argv != NULL) {
 
         try {
-            vf::basics::ConfigurationFile config = vf::basics::ConfigurationFile::loadConfig(argc, argv, __FILE__, "configMusselOyster.txt");
+            vf::basics::ConfigurationFile config = vf::basics::ConfigurationFile::loadConfig(argc, argv, "./apps/gpu/LBM/MusselOyster/configMusselOyster.txt");
             multipleLevel(config);
 
             //////////////////////////////////////////////////////////////////////////
diff --git a/apps/gpu/LBM/SphereGPU/Sphere.cpp b/apps/gpu/LBM/SphereGPU/Sphere.cpp
index 2dbeb8190..3c4a7fb92 100644
--- a/apps/gpu/LBM/SphereGPU/Sphere.cpp
+++ b/apps/gpu/LBM/SphereGPU/Sphere.cpp
@@ -102,7 +102,7 @@ int main(int argc, char *argv[])
         GridScalingFactory scalingFactory = GridScalingFactory();
         vf::basics::ConfigurationFile config;
         if (useConfigFile) {
-            vf::basics::ConfigurationFile config = vf::basics::ConfigurationFile::loadConfig(argc, argv, __FILE__, "config.txt");
+            vf::basics::ConfigurationFile config = vf::basics::ConfigurationFile::loadConfig(argc, argv, "./apps/gpu/LBM/SphereGPU/config.txt");
             para = std::make_shared<Parameter>(&config);
         } else {
             para = std::make_shared<Parameter>();
diff --git a/apps/gpu/LBM/SphereScaling/SphereScaling.cpp b/apps/gpu/LBM/SphereScaling/SphereScaling.cpp
index 20ec8e963..d7b6ddbe8 100755
--- a/apps/gpu/LBM/SphereScaling/SphereScaling.cpp
+++ b/apps/gpu/LBM/SphereScaling/SphereScaling.cpp
@@ -657,7 +657,7 @@ int main(int argc, char *argv[])
     if (argv != NULL) {
 
         try {
-            vf::basics::ConfigurationFile config = vf::basics::ConfigurationFile::loadConfig(argc, argv, __FILE__, "config.txt");
+            vf::basics::ConfigurationFile config = vf::basics::ConfigurationFile::loadConfig(argc, argv, "./apps/gpu/LBM/SphereScaling/config.txt");
             multipleLevel(config);
 
             //////////////////////////////////////////////////////////////////////////
diff --git a/src/basics/config/ConfigurationFile.h b/src/basics/config/ConfigurationFile.h
index c0cd06ca8..aed29f31e 100644
--- a/src/basics/config/ConfigurationFile.h
+++ b/src/basics/config/ConfigurationFile.h
@@ -70,21 +70,18 @@ public:
    template<class T>
    T getValue(const std::string& key, T defaultValue) const;
 
-   static ConfigurationFile loadConfig(int argc, char *argv[], std::filesystem::path configPath, std::string defaultConfigName = "config.txt")
+   static ConfigurationFile loadConfig(int argc, char *argv[], std::filesystem::path configPath = "./config.txt")
    {
-      // the config file's default name can be replaced by passing a command line argument
-
-      std::string configName = defaultConfigName;
+      // the config file's default path can be replaced by passing a command line argument
 
       if (argc > 1) 
       {
-         configName = argv[1];
-         VF_LOG_INFO("Using configFile command line argument: {}", configName);
+         configPath = argv[1];
+         VF_LOG_INFO("Using command line argument for config path: {}", configPath.string());
       } else {
-         VF_LOG_INFO("Using default config name: {}", configName);
+         VF_LOG_INFO("Using default config path: {}", configPath.string());
       }
 
-      configPath.replace_filename(configName);
       vf::basics::ConfigurationFile config;
       config.load(configPath.string());
       return config;
-- 
GitLab