From 97f8a7bf22e7578bd9f34f47a3f36a1099b8f2de Mon Sep 17 00:00:00 2001
From: Kutscher <kutscher@irmb.tu-bs.de>
Date: Mon, 4 Dec 2023 15:37:30 +0000
Subject: [PATCH] fixes float mode

---
 src/cpu/VirtualFluids.h                                   | 1 -
 src/cpu/core/LBM/LBMKernel.cpp                            | 2 +-
 src/cpu/core/Simulation/Grid3D.cpp                        | 6 +++---
 .../SimulationObservers/AverageValuesSimulationObserver.h | 2 +-
 .../CalculateForcesSimulationObserver.cpp                 | 8 ++++----
 .../PressureCoefficientSimulationObserver.h               | 2 +-
 .../SimulationObservers/QCriterionSimulationObserver.h    | 2 +-
 .../SimulationObservers/ShearStressSimulationObserver.h   | 2 +-
 .../TimeAveragedValuesSimulationObserver.h                | 2 +-
 .../TurbulenceIntensitySimulationObserver.h               | 2 +-
 .../SimulationObservers/WriteBlocksSimulationObserver.cpp | 2 +-
 .../WriteBoundaryConditionsSimulationObserver.h           | 2 +-
 .../WriteMQFromSelectionSimulationObserver.h              | 2 +-
 .../WriteMacroscopicQuantitiesSimulationObserver.h        | 2 +-
 src/cpu/core/Visitors/InitDistributionsBlockVisitor.cpp   | 2 +-
 15 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/src/cpu/VirtualFluids.h b/src/cpu/VirtualFluids.h
index c377b264a..13026378c 100644
--- a/src/cpu/VirtualFluids.h
+++ b/src/cpu/VirtualFluids.h
@@ -247,7 +247,6 @@
 #include <cpu/core/Visitors/Grid3DVisitor.h>
 #include <cpu/core/Visitors/InitDistributionsBlockVisitor.h>
 #include <cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.h>
-#include <cpu/core/Visitors/InitThixotropyBlockVisitor.h>
 #include <cpu/core/Visitors/MetisPartitioningGridVisitor.h>
 #include <cpu/core/Visitors/OverlapBlockVisitor.h>
 #include <cpu/core/Visitors/RatioBlockVisitor.h>
diff --git a/src/cpu/core/LBM/LBMKernel.cpp b/src/cpu/core/LBM/LBMKernel.cpp
index 369bcd8c9..2b6e9f126 100644
--- a/src/cpu/core/LBM/LBMKernel.cpp
+++ b/src/cpu/core/LBM/LBMKernel.cpp
@@ -113,7 +113,7 @@ void LBMKernel::checkFunction(mu::Parser fct)
 {
     using namespace vf::basics::constant;
 
-    real x1 = c1o1, x2 = c1o1, x3 = c1o1, dt = c1o1, nue = c1o1, rho = c1o1;
+    double x1 = c1o1, x2 = c1o1, x3 = c1o1, dt = c1o1, nue = c1o1, rho = c1o1;
     fct.DefineVar("x1", &x1);
     fct.DefineVar("x2", &x2);
     fct.DefineVar("x3", &x3);
diff --git a/src/cpu/core/Simulation/Grid3D.cpp b/src/cpu/core/Simulation/Grid3D.cpp
index 4eafc3222..b9fff7b77 100644
--- a/src/cpu/core/Simulation/Grid3D.cpp
+++ b/src/cpu/core/Simulation/Grid3D.cpp
@@ -484,7 +484,7 @@ UbTupleDouble3 Grid3D::getBlockLengths(const SPtr<Block3D> block) const
 }
 //////////////////////////////////////////////////////////////////////////
 using namespace vf::basics::constant;
-UbTupleDouble6 Grid3D::getBlockOversize() const { return makeUbTuple(c0o1, c0o1, c0o1, c0o1, c0o1, c0o1); }
+UbTupleDouble6 Grid3D::getBlockOversize() const { return makeUbTuple(0., 0., 0., 0., 0., 0.); }
 //////////////////////////////////////////////////////////////////////////
 void Grid3D::setCoordinateTransformator(SPtr<CoordinateTransformation3D> trafo) { this->trafo = trafo; }
 //////////////////////////////////////////////////////////////////////////
@@ -504,8 +504,8 @@ real Grid3D::getDeltaX(SPtr<Block3D> block) const { return getDeltaX(block->getL
 //////////////////////////////////////////////////////////////////////////
 UbTupleDouble3 Grid3D::getNodeOffset(SPtr<Block3D> block) const
 {
-    real delta = this->getDeltaX(block);
-    return makeUbTuple(offset * delta, offset * delta, offset * delta);
+    double delta = (double)this->getDeltaX(block);
+    return makeUbTuple((double)offset * delta, (double)offset * delta, (double)offset * delta);
 }
 ////////////////////////////////////////////////////////////////////////////
 Vector3D Grid3D::getNodeCoordinates(SPtr<Block3D> block, int ix1, int ix2, int ix3) const
diff --git a/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.h b/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.h
index a6e5d0b1b..62fd57b5f 100644
--- a/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.h
+++ b/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.h
@@ -85,7 +85,7 @@ private:
     std::vector<UbTupleFloat3> nodes;
     std::vector<UbTupleUInt8> cells;
     std::vector<std::string> datanames;
-    std::vector<std::vector<real>> data;
+    std::vector<std::vector<double>> data;
     std::vector<std::vector<SPtr<Block3D>>> blockVector;
     int minInitLevel; // min init level
     int maxInitLevel;
diff --git a/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.cpp b/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.cpp
index d8a76b96e..793b3da8e 100644
--- a/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.cpp
+++ b/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.cpp
@@ -227,10 +227,10 @@ UbTupleDouble3 CalculateForcesSimulationObserver::getForces(int x1, int x2, int
 
     if (bc) {
         // references to tuple "force"
-        real &forceX1 = val<1>(force);
-        real &forceX2 = val<2>(force);
-        real &forceX3 = val<3>(force);
-        real f, fnbr;
+        double &forceX1 = val<1>(force);
+        double &forceX2 = val<2>(force);
+        double &forceX3 = val<3>(force);
+        double f, fnbr;
 
         dynamicPointerCast<EsoTwist3D>(distributions)->swap();
 
diff --git a/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.h b/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.h
index 12cc43ca1..3f713f9a4 100644
--- a/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.h
+++ b/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.h
@@ -74,7 +74,7 @@ private:
 
     std::vector<UbTupleFloat3> nodes;
     std::vector<std::string> datanames;
-    std::vector<std::vector<real>> data;
+    std::vector<std::vector<double>> data;
 
     std::vector<real> outValues;
 
diff --git a/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.h b/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.h
index ebca5bd88..803c025de 100644
--- a/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.h
+++ b/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.h
@@ -80,7 +80,7 @@ private:
     std::vector<UbTupleFloat3> nodes;
     std::vector<UbTupleUInt8> cells;
     std::vector<std::string> datanames; // only one entry for QKrit-SimulationObserver: Q
-    std::vector<std::vector<real>> data;
+    std::vector<std::vector<double>> data;
     std::vector<std::vector<SPtr<Block3D>>> blockVector;
     int minInitLevel; // go through all levels for block vector of current process from minInitLevel to maxInitLevel
     int maxInitLevel;
diff --git a/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.h b/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.h
index 7e7ffdfa3..ea5a7af32 100644
--- a/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.h
+++ b/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.h
@@ -86,7 +86,7 @@ protected:
 private:
     std::vector<UbTupleFloat3> nodes;
     std::vector<std::string> datanames;
-    std::vector<std::vector<real>> data;
+    std::vector<std::vector<double>> data;
     std::string path;
     std::vector<SPtr<D3Q27Interactor>> interactors;
     std::vector<real> normals;
diff --git a/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.h b/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.h
index 53b7ca4a6..771d0dd92 100644
--- a/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.h
+++ b/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.h
@@ -106,7 +106,7 @@ private:
     std::vector<UbTupleFloat3> nodes;
     std::vector<UbTupleUInt8> cells;
     std::vector<std::string> datanames;
-    std::vector<std::vector<real>> data;
+    std::vector<std::vector<double>> data;
     std::vector<std::vector<SPtr<Block3D>>> blockVector;
     bool root;
     int minInitLevel; // min init level
diff --git a/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.h b/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.h
index 0022b3ab8..20fca1fe7 100644
--- a/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.h
+++ b/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.h
@@ -64,7 +64,7 @@ private:
     std::vector<UbTupleFloat3> nodes;
     std::vector<UbTupleUInt8> cells;
     std::vector<std::string> datanames;
-    std::vector<std::vector<real>> data;
+    std::vector<std::vector<double>> data;
     std::vector<std::vector<SPtr<Block3D>>> blockVector;
     int minInitLevel;
     int maxInitLevel;
diff --git a/src/cpu/core/SimulationObservers/WriteBlocksSimulationObserver.cpp b/src/cpu/core/SimulationObservers/WriteBlocksSimulationObserver.cpp
index 45ea8b571..8a215e5c4 100644
--- a/src/cpu/core/SimulationObservers/WriteBlocksSimulationObserver.cpp
+++ b/src/cpu/core/SimulationObservers/WriteBlocksSimulationObserver.cpp
@@ -76,7 +76,7 @@ void WriteBlocksSimulationObserver::collectData(real step)
         celldatanames.push_back("bundle");
 #endif
 
-        std::vector<std::vector<real>> celldata(celldatanames.size());
+        std::vector<std::vector<double>> celldata(celldatanames.size());
 
         int nr           = 0;
         int minInitLevel = this->grid->getCoarsestInitializedLevel();
diff --git a/src/cpu/core/SimulationObservers/WriteBoundaryConditionsSimulationObserver.h b/src/cpu/core/SimulationObservers/WriteBoundaryConditionsSimulationObserver.h
index aff789343..9071cd60f 100644
--- a/src/cpu/core/SimulationObservers/WriteBoundaryConditionsSimulationObserver.h
+++ b/src/cpu/core/SimulationObservers/WriteBoundaryConditionsSimulationObserver.h
@@ -77,7 +77,7 @@ private:
     std::vector<UbTupleFloat3> nodes;
     std::vector<UbTupleUInt8> cells;
     std::vector<std::string> datanames;
-    std::vector<std::vector<real>> data;
+    std::vector<std::vector<double>> data;
     std::string path;
     WbWriter *writer;
     std::vector<std::vector<SPtr<Block3D>>> blockVector;
diff --git a/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.h b/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.h
index 94442fedc..d01268adf 100644
--- a/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.h
+++ b/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.h
@@ -70,7 +70,7 @@ private:
     void init();
     std::vector<UbTupleFloat3> nodes;
     std::vector<std::string> datanames;
-    std::vector<std::vector<real>> data;
+    std::vector<std::vector<double>> data;
     std::string path;
     WbWriter *writer;
     SPtr<LBMUnitConverter> conv;
diff --git a/src/cpu/core/SimulationObservers/WriteMacroscopicQuantitiesSimulationObserver.h b/src/cpu/core/SimulationObservers/WriteMacroscopicQuantitiesSimulationObserver.h
index 279f9dfba..039c9ce10 100644
--- a/src/cpu/core/SimulationObservers/WriteMacroscopicQuantitiesSimulationObserver.h
+++ b/src/cpu/core/SimulationObservers/WriteMacroscopicQuantitiesSimulationObserver.h
@@ -82,7 +82,7 @@ private:
     std::vector<UbTupleFloat3> nodes;
     std::vector<UbTupleUInt8> cells;
     std::vector<std::string> datanames;
-    std::vector<std::vector<real>> data;
+    std::vector<std::vector<double>> data;
     std::string path;
     WbWriter *writer;
     SPtr<LBMUnitConverter> conv;
diff --git a/src/cpu/core/Visitors/InitDistributionsBlockVisitor.cpp b/src/cpu/core/Visitors/InitDistributionsBlockVisitor.cpp
index 6a306e26c..2c65409c6 100644
--- a/src/cpu/core/Visitors/InitDistributionsBlockVisitor.cpp
+++ b/src/cpu/core/Visitors/InitDistributionsBlockVisitor.cpp
@@ -303,7 +303,7 @@ void InitDistributionsBlockVisitor::checkFunction(mu::Parser fct)
 {
     using namespace vf::basics::constant;
     
-    real x1 = c1o1, x2 = c1o1, x3 = c1o1;
+    double x1 = c1o1, x2 = c1o1, x3 = c1o1;
     fct.DefineVar("x1", &x1);
     fct.DefineVar("x2", &x2);
     fct.DefineVar("x3", &x3);
-- 
GitLab