From 21e9723515ffba4e66e13882ec7bfe19063d2853 Mon Sep 17 00:00:00 2001
From: Kutscher <kutscher@irmb.tu-bs.de>
Date: Thu, 20 Apr 2023 14:05:14 +0200
Subject: [PATCH] fixes after pull upstream

---
 .../MultiphaseSlipBCStrategy.cpp              |  4 +--
 .../MultiphaseVelocityBC.cpp                  |  6 ++--
 .../MultiphaseVelocityBCStrategy.cpp          |  2 +-
 .../RheologyNoSlipBCStrategy.cpp              |  2 +-
 .../RheologyVelocityBCStrategy.cpp            |  2 +-
 .../ThixotropyNoSlipBCStrategy.cpp            |  4 +--
 ...ixotropyNonReflectingOutflowBCStrategy.cpp |  2 +-
 .../ThixotropyVelocityBCStrategy.cpp          |  6 ++--
 ...hixotropyVelocityWithDensityBCStrategy.cpp |  4 +--
 .../CalculateTorqueSimulationObserver.cpp     |  4 +--
 ...ThixotropyQuantitiesSimulationObserver.cpp | 30 +++++++++----------
 .../BoundaryConditions/BCFunction.cpp         |  6 ++--
 .../BoundaryConditions/BoundaryConditions.h   | 14 ++++-----
 .../BoundaryConditions/DensityBC.cpp          | 12 ++++----
 .../HighViscosityNoSlipBCStrategy.cpp         |  2 +-
 .../BoundaryConditions/NoSlipBCStrategy.cpp   |  4 +--
 .../NonReflectingOutflowBCStrategy.cpp        |  2 +-
 .../SimpleSlipBCStrategy.cpp                  |  4 +--
 .../BoundaryConditions/SlipBC.cpp             | 12 ++++----
 .../BoundaryConditions/SlipBCStrategy.cpp     |  6 ++--
 .../ThinWallNoSlipBCStrategy.cpp              |  4 +--
 .../BoundaryConditions/VelocityBC.cpp         |  6 ++--
 .../BoundaryConditions/VelocityBCStrategy.cpp |  6 ++--
 .../VelocityWithDensityBCStrategy.cpp         |  2 +-
 .../VirtualFluidsCore/LBM/BGKLBMKernel.cpp    |  2 +-
 ...ibleCumulant4thOrderViscosityLBMKernel.cpp |  4 +--
 src/cpu/VirtualFluidsCore/LBM/D3Q27System.h   |  4 +--
 ...mpressibleOffsetInterpolationProcessor.cpp | 30 +++++++++----------
 .../LBM/InterpolationHelper.cpp               | 10 +++----
 src/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp   |  2 +-
 .../VirtualFluidsCore/LBM/VoidLBMKernel.cpp   |  2 +-
 .../CalculateTorqueSimulationObserver.cpp     |  4 +--
 32 files changed, 102 insertions(+), 102 deletions(-)

diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseSlipBCStrategy.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseSlipBCStrategy.cpp
index 59c44bcdd..b394d2d5d 100644
--- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseSlipBCStrategy.cpp
+++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseSlipBCStrategy.cpp
@@ -101,7 +101,7 @@ void MultiphaseSlipBCStrategy::applyBC()
          const int invDir = D3Q27System::INVDIR[fdir];
          real q = bcPtr->getQ(invDir);// m+m q=0 stabiler
          //vx3=0;
-         real velocity = vf::lbm::constant::c0o1;
+         real velocity = vf::basics::constant::c0o1;
          switch (invDir)
          {
          case DIR_P00: velocity = (vf::basics::constant::c4o9*(+vx1)); break;      //(2/cs^2)(=6)*rho_0(=1 bei imkompr)*wi*u*ei mit cs=1/sqrt(3)
@@ -132,7 +132,7 @@ void MultiphaseSlipBCStrategy::applyBC()
          case DIR_MPP: velocity = (vf::basics::constant::c1o36*(-vx1+vx2+vx3)); break;
          default: throw UbException(UB_EXARGS, "unknown error");
          }
-         real fReturn = ((vf::lbm::constant::c1o1-q)/(vf::lbm::constant::c1o1+q))*((f[invDir]-feq[invDir])/(vf::lbm::constant::c1o1-collFactor)+feq[invDir])+((q*(f[invDir]+f[fdir])-velocity*rho)/(vf::lbm::constant::c1o1+q));
+         real fReturn = ((vf::basics::constant::c1o1-q)/(vf::basics::constant::c1o1+q))*((f[invDir]-feq[invDir])/(vf::basics::constant::c1o1-collFactor)+feq[invDir])+((q*(f[invDir]+f[fdir])-velocity*rho)/(vf::basics::constant::c1o1+q));
          distributions->setDistributionForDirection(fReturn, x1+D3Q27System::DX1[invDir], x2+D3Q27System::DX2[invDir], x3+D3Q27System::DX3[invDir], fdir);
 
 		 //real hReturn = ((1.0-q)/(1.0+q))*((h[invDir]-heq[invDir])/(1.0-collFactorPh)+heq[invDir])+((q/(1.0+q))*(h[invDir]+h[fdir]));
diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBC.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBC.cpp
index 1adf45607..26bb0eed8 100644
--- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBC.cpp
+++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBC.cpp
@@ -306,9 +306,9 @@ void MultiphaseVelocityBC::setNodeVelocity( const D3Q27Interactor& interactor, S
 /*==========================================================*/
 UbTupleDouble3 MultiphaseVelocityBC::getVelocity(const real& x1, const real& x2, const real& x3, const real& timeStep) const
 {
-	real vx1 = vf::lbm::constant::c0o1;
-	real vx2 = vf::lbm::constant::c0o1;
-	real vx3 = vf::lbm::constant::c0o1;
+	real vx1 = vf::basics::constant::c0o1;
+	real vx2 = vf::basics::constant::c0o1;
+	real vx3 = vf::basics::constant::c0o1;
    this->x1 = x1;
    this->x2 = x2;
    this->x3 = x3;
diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp
index a34fe2138..a9b8391a8 100644
--- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp
+++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp
@@ -89,7 +89,7 @@ void MultiphaseVelocityBCStrategy::applyBC()
    vx1=bcPtr->getBoundaryVelocityX1();
    vx2 = bcPtr->getBoundaryVelocityX2();
    vx3 = bcPtr->getBoundaryVelocityX3();
-   p1 = vf::lbm::constant::c0o1;
+   p1 = vf::basics::constant::c0o1;
    D3Q27System::calcMultiphaseFeqVB(feq, p1, vx1, vx2, vx3);
    D3Q27System::calcMultiphaseHeq(heq, phi, vx1, vx2, vx3);
 
diff --git a/src/cpu/NonNewtonianFluids/BoundaryConditions/RheologyNoSlipBCStrategy.cpp b/src/cpu/NonNewtonianFluids/BoundaryConditions/RheologyNoSlipBCStrategy.cpp
index 3765a5874..4227b3af8 100644
--- a/src/cpu/NonNewtonianFluids/BoundaryConditions/RheologyNoSlipBCStrategy.cpp
+++ b/src/cpu/NonNewtonianFluids/BoundaryConditions/RheologyNoSlipBCStrategy.cpp
@@ -59,7 +59,7 @@ void RheologyNoSlipBCStrategy::applyBC()
          //quadratic bounce back
          const int invDir = D3Q27System::INVDIR[fDir];
          real q = bcPtr->getQ(invDir);
-         real fReturn =(f[invDir] + q * f[fDir] + q * collFactorF * (feq[invDir] - f[invDir] + feq[fDir] - f[fDir])) / (vf::lbm::constant::c1o1 + q);
+         real fReturn =(f[invDir] + q * f[fDir] + q * collFactorF * (feq[invDir] - f[invDir] + feq[fDir] - f[fDir])) / (vf::basics::constant::c1o1 + q);
          distributions->setDistributionInvForDirection(fReturn, x1 + D3Q27System::DX1[invDir], x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], invDir);
       }
    }
diff --git a/src/cpu/NonNewtonianFluids/BoundaryConditions/RheologyVelocityBCStrategy.cpp b/src/cpu/NonNewtonianFluids/BoundaryConditions/RheologyVelocityBCStrategy.cpp
index 817c86eed..706edc7a2 100644
--- a/src/cpu/NonNewtonianFluids/BoundaryConditions/RheologyVelocityBCStrategy.cpp
+++ b/src/cpu/NonNewtonianFluids/BoundaryConditions/RheologyVelocityBCStrategy.cpp
@@ -51,7 +51,7 @@ void RheologyVelocityBCStrategy::addDistributions(SPtr<DistributionArray3D> dist
 //////////////////////////////////////////////////////////////////////////
 void RheologyVelocityBCStrategy::applyBC()
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
     real f[D3Q27System::ENDF+1];
     real feq[D3Q27System::ENDF+1];
diff --git a/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyNoSlipBCStrategy.cpp b/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyNoSlipBCStrategy.cpp
index 4a1b40167..da1f2deaa 100644
--- a/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyNoSlipBCStrategy.cpp
+++ b/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyNoSlipBCStrategy.cpp
@@ -91,8 +91,8 @@ void ThixotropyNoSlipBCStrategy::applyBC()
 			//quadratic bounce back
 			const int invDir = D3Q27System::INVDIR[fdir];
 			real q = bcPtr->getQ(invDir);
-			real fReturnf = ((vf::lbm::constant::c1o1 - q) / (vf::lbm::constant::c1o1 + q))*((f[invDir] - feq[invDir]) / (vf::lbm::constant::c1o1 - collFactor) + feq[invDir]) + ((q / (vf::lbm::constant::c1o1 + q))*(f[invDir] + f[fdir]));
-			real fReturnh = ((vf::lbm::constant::c1o1 - q) / (vf::lbm::constant::c1o1 + q))*((h[invDir] - heq[invDir]) / (vf::lbm::constant::c1o1 - collFactor) + heq[invDir]) + ((q / (vf::lbm::constant::c1o1 + q))*(h[invDir] + h[fdir]));
+			real fReturnf = ((vf::basics::constant::c1o1 - q) / (vf::basics::constant::c1o1 + q))*((f[invDir] - feq[invDir]) / (vf::basics::constant::c1o1 - collFactor) + feq[invDir]) + ((q / (vf::basics::constant::c1o1 + q))*(f[invDir] + f[fdir]));
+			real fReturnh = ((vf::basics::constant::c1o1 - q) / (vf::basics::constant::c1o1 + q))*((h[invDir] - heq[invDir]) / (vf::basics::constant::c1o1 - collFactor) + heq[invDir]) + ((q / (vf::basics::constant::c1o1 + q))*(h[invDir] + h[fdir]));
 
 			distributions->setDistributionForDirection(fReturnf, x1 + D3Q27System::DX1[invDir], x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], fdir);
 			distributionsH->setDistributionForDirection(fReturnh, x1 + D3Q27System::DX1[invDir], x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], fdir);
diff --git a/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyNonReflectingOutflowBCStrategy.cpp b/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyNonReflectingOutflowBCStrategy.cpp
index f93e315c3..3ee059eec 100644
--- a/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyNonReflectingOutflowBCStrategy.cpp
+++ b/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyNonReflectingOutflowBCStrategy.cpp
@@ -71,7 +71,7 @@ void ThixotropyNonReflectingOutflowBCStrategy::applyBC()
 {
    using namespace vf::lbm::dir;
    using namespace D3Q27System;
-   using namespace vf::lbm::constant;
+   using namespace vf::basics::constant;
 
    real f[ENDF + 1];
    real ftemp[ENDF + 1];
diff --git a/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyVelocityBCStrategy.cpp b/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyVelocityBCStrategy.cpp
index 08c23b723..2b2dd1714 100644
--- a/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyVelocityBCStrategy.cpp
+++ b/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyVelocityBCStrategy.cpp
@@ -39,7 +39,7 @@ ThixotropyVelocityBCStrategy::ThixotropyVelocityBCStrategy()
 	BCStrategy::type = BCStrategy::ThixotropyVelocityBCStrategy;
 	BCStrategy::preCollision = false;
 	BCStrategy::thixotropy = true;
-	lambdaBC = vf::lbm::constant::c0o1;
+	lambdaBC = vf::basics::constant::c0o1;
 }
 //////////////////////////////////////////////////////////////////////////
 ThixotropyVelocityBCStrategy::~ThixotropyVelocityBCStrategy()
@@ -84,7 +84,7 @@ void ThixotropyVelocityBCStrategy::applyBC()
 	calcMacrosFct(f, drho, vx1, vx2, vx3);
 	calcFeqFct(feq, drho, vx1, vx2, vx3);
 
-	rho = vf::lbm::constant::c1o1 + drho * compressibleFactor;
+	rho = vf::basics::constant::c1o1 + drho * compressibleFactor;
 
 	//calcDiffusionMacrosFctPost(h, concentration, fl1, fl2, fl3, m100, collFactor);
 	real lambda = D3Q27System::getDensity(h);
@@ -127,7 +127,7 @@ void ThixotropyVelocityBCStrategy::applyBC()
 			const int invDir = D3Q27System::INVDIR[fdir];
 			real q = bcPtr->getQ(invDir);// m+m q=0 stabiler
 			real velocity = bcPtr->getBoundaryVelocity(invDir);
-			real fReturn = ((vf::lbm::constant::c1o1 - q) / (vf::lbm::constant::c1o1 + q)) * ((f[invDir] - feq[invDir]) / (vf::lbm::constant::c1o1 - collFactor) + feq[invDir]) + ((q * (f[invDir] + f[fdir]) - velocity * rho) / (vf::lbm::constant::c1o1 + q));
+			real fReturn = ((vf::basics::constant::c1o1 - q) / (vf::basics::constant::c1o1 + q)) * ((f[invDir] - feq[invDir]) / (vf::basics::constant::c1o1 - collFactor) + feq[invDir]) + ((q * (f[invDir] + f[fdir]) - velocity * rho) / (vf::basics::constant::c1o1 + q));
 			distributions->setDistributionForDirection(fReturn, x1 + D3Q27System::DX1[invDir], x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], fdir);
 
 			real htemp = D3Q27System::getCompFeqForDirection(fdir, lambda, vx1, vx2, vx3);
diff --git a/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyVelocityWithDensityBCStrategy.cpp b/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyVelocityWithDensityBCStrategy.cpp
index ea4fc700d..5d91a1e7a 100644
--- a/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyVelocityWithDensityBCStrategy.cpp
+++ b/src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyVelocityWithDensityBCStrategy.cpp
@@ -76,7 +76,7 @@ void ThixotropyVelocityWithDensityBCStrategy::applyBC()
    real rho, vx1, vx2, vx3, drho;
    calcMacrosFct(f, drho, vx1, vx2, vx3);
    
-   rho = vf::lbm::constant::c1o1+drho*compressibleFactor;
+   rho = vf::basics::constant::c1o1+drho*compressibleFactor;
   
    ///////////////////////////////////////////////////////////////////
    // Rheology
@@ -116,7 +116,7 @@ void ThixotropyVelocityWithDensityBCStrategy::applyBC()
             const int invDir = D3Q27System::INVDIR[fdir];
             real velocity = bcPtr->getBoundaryVelocity(fdir);
 
-            real fReturn = (f[fdir] + f[invDir] - velocity*rho) / vf::lbm::constant::c2o1 - drho*D3Q27System::WEIGTH[invDir];
+            real fReturn = (f[fdir] + f[invDir] - velocity*rho) / vf::basics::constant::c2o1 - drho*D3Q27System::WEIGTH[invDir];
             distributions->setDistributionForDirection(fReturn, nX1, nX2, nX3, invDir);
          }
       }
diff --git a/src/cpu/NonNewtonianFluids/SimulationObservers/CalculateTorqueSimulationObserver.cpp b/src/cpu/NonNewtonianFluids/SimulationObservers/CalculateTorqueSimulationObserver.cpp
index ed13f506a..82adf2f0e 100644
--- a/src/cpu/NonNewtonianFluids/SimulationObservers/CalculateTorqueSimulationObserver.cpp
+++ b/src/cpu/NonNewtonianFluids/SimulationObservers/CalculateTorqueSimulationObserver.cpp
@@ -216,7 +216,7 @@ UbTupleDouble3 CalculateTorqueSimulationObserver::getForces(int x1, int x2, int
 //////////////////////////////////////////////////////////////////////////
 UbTupleDouble3 CalculateTorqueSimulationObserver::getForcesFromMoments(int x1, int x2, int x3, SPtr<ILBMKernel> kernel, SPtr<DistributionArray3D> distributions, SPtr<BoundaryConditions> bc, real nx, real ny, real nz)
 {
-   using namespace vf::lbm::constant;
+   using namespace vf::basics::constant;
    UbTupleDouble3 force(0.0, 0.0, 0.0);
 
 
@@ -251,7 +251,7 @@ UbTupleDouble3 CalculateTorqueSimulationObserver::getForcesFromMoments(int x1, i
 //////////////////////////////////////////////////////////////////////////
 UbTupleDouble3 CalculateTorqueSimulationObserver::getForcesFromStressTensor(int x1, int x2, int x3, SPtr<ILBMKernel> kernel, SPtr<DistributionArray3D> distributions, SPtr<BoundaryConditions> bc, real nx, real ny, real nz)
 {
-   using namespace vf::lbm::constant;
+   using namespace vf::basics::constant;
    UbTupleDouble3 force(0.0, 0.0, 0.0);
 
    if (bc) {
diff --git a/src/cpu/NonNewtonianFluids/SimulationObservers/WriteThixotropyQuantitiesSimulationObserver.cpp b/src/cpu/NonNewtonianFluids/SimulationObservers/WriteThixotropyQuantitiesSimulationObserver.cpp
index 9ff3fe098..4cf31ce32 100644
--- a/src/cpu/NonNewtonianFluids/SimulationObservers/WriteThixotropyQuantitiesSimulationObserver.cpp
+++ b/src/cpu/NonNewtonianFluids/SimulationObservers/WriteThixotropyQuantitiesSimulationObserver.cpp
@@ -30,9 +30,9 @@
 //! \ingroup CoProcessors
 //! \author Konstantin Kutscher
 //=======================================================================================
-#include "WriteThixotropyQuantitiesCoProcessor.h"
+#include "WriteThixotropyQuantitiesSimulationObserver.h"
 #include "LBMKernel.h"
-#include "BCProcessor.h"
+#include "BCSet.h"
 #include "UbScheduler.h"
 #include "DataSet3D.h"
 #include "D3Q27System.h"
@@ -42,17 +42,17 @@
 #include <algorithm> 
 #include <numeric>
 #include "basics/writer/WbWriterVtkXmlASCII.h"
-#include "ThixotropyExpLBMKernel.h"
-#include "Rheology.h"
+#include "LBM/ThixotropyExpLBMKernel.h"
+#include "LBM/Rheology.h"
 
 using namespace std;
 
-WriteThixotropyQuantitiesCoProcessor::WriteThixotropyQuantitiesCoProcessor()
+WriteThixotropyQuantitiesSimulationObserver::WriteThixotropyQuantitiesSimulationObserver()
 {
 
 }
 //////////////////////////////////////////////////////////////////////////
-WriteThixotropyQuantitiesCoProcessor::WriteThixotropyQuantitiesCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s, const std::string& path, WbWriter* const writer, SPtr<LBMUnitConverter> conv, std::shared_ptr<vf::mpi::Communicator> comm) : CoProcessor(grid, s), path(path), writer(writer),	conv(conv),	comm(comm)
+WriteThixotropyQuantitiesSimulationObserver::WriteThixotropyQuantitiesSimulationObserver(SPtr<Grid3D> grid, SPtr<UbScheduler> s, const std::string& path, WbWriter* const writer, SPtr<LBMUnitConverter> conv, std::shared_ptr<vf::mpi::Communicator> comm) : SimulationObserver(grid, s), path(path), writer(writer),	conv(conv),	comm(comm)
 {
 	gridRank = comm->getProcessID();
 	minInitLevel = this->grid->getCoarsestInitializedLevel();
@@ -66,20 +66,20 @@ WriteThixotropyQuantitiesCoProcessor::WriteThixotropyQuantitiesCoProcessor(SPtr<
 	}
 }
 //////////////////////////////////////////////////////////////////////////
-void WriteThixotropyQuantitiesCoProcessor::init()
+void WriteThixotropyQuantitiesSimulationObserver::init()
 {
 
 }
 //////////////////////////////////////////////////////////////////////////
-void WriteThixotropyQuantitiesCoProcessor::process(real step)
+void WriteThixotropyQuantitiesSimulationObserver::update(real step)
 {
 	if (scheduler->isDue(step))
 		collectData(step);
 
-	UBLOG(logDEBUG3, "WriteThixotropyQuantitiesCoProcessor::update:" << step);
+	UBLOG(logDEBUG3, "WriteThixotropyQuantitiesSimulationObserver::update:" << step);
 }
 //////////////////////////////////////////////////////////////////////////
-void WriteThixotropyQuantitiesCoProcessor::collectData(real step)
+void WriteThixotropyQuantitiesSimulationObserver::collectData(real step)
 {
 	int istep = static_cast<int>(step);
 	//ConcentrationSum = 0;
@@ -118,7 +118,7 @@ void WriteThixotropyQuantitiesCoProcessor::collectData(real step)
 
 		vector<string> filenames;
 		filenames.push_back(piece);
-		if (step == CoProcessor::scheduler->getMinBegin())
+		if (step == SimulationObserver::scheduler->getMinBegin())
 		{
 			WbWriterVtkXmlASCII::getInstance()->writeCollection(cfilePath, filenames, istep, false);
 		}
@@ -126,13 +126,13 @@ void WriteThixotropyQuantitiesCoProcessor::collectData(real step)
 		{
 			WbWriterVtkXmlASCII::getInstance()->addFilesToCollection(cfilePath, filenames, istep, false);
 		}
-		UBLOG(logINFO, "WriteThixotropyQuantitiesCoProcessor step: " << istep);
+		UBLOG(logINFO, "WriteThixotropyQuantitiesSimulationObserver step: " << istep);
 	}
 
 	clearData();
 }
 //////////////////////////////////////////////////////////////////////////
-void WriteThixotropyQuantitiesCoProcessor::clearData()
+void WriteThixotropyQuantitiesSimulationObserver::clearData()
 {
 	nodes.clear();
 	cells.clear();
@@ -140,7 +140,7 @@ void WriteThixotropyQuantitiesCoProcessor::clearData()
 	data.clear();
 }
 //////////////////////////////////////////////////////////////////////////
-void WriteThixotropyQuantitiesCoProcessor::addDataMQ(SPtr<Block3D> block)
+void WriteThixotropyQuantitiesSimulationObserver::addDataMQ(SPtr<Block3D> block)
 {
 	UbTupleDouble3 org = grid->getBlockWorldCoordinates(block);;
 	UbTupleDouble3 nodeOffset = grid->getNodeOffset(block);
@@ -170,7 +170,7 @@ void WriteThixotropyQuantitiesCoProcessor::addDataMQ(SPtr<Block3D> block)
 	data.resize(datanames.size());
 
    SPtr<ILBMKernel> kernel = block->getKernel();
-   SPtr<BCArray3D> bcArray = kernel->getBCProcessor()->getBCArray();          
+   SPtr<BCArray3D> bcArray = kernel->getBCSet()->getBCArray();          
    SPtr<DistributionArray3D> distributionsF = kernel->getDataSet()->getFdistributions(); 
 	//SPtr<DistributionArray3D> distributionsH = kernel->getDataSet()->getHdistributions();
 	//LBMReal collFactorF = staticPointerCast<ThixotropyExpLBMKernel>(kernel)->getCollisionFactorF();
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCFunction.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCFunction.cpp
index 639365df0..79ab89f0b 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCFunction.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCFunction.cpp
@@ -32,7 +32,7 @@
 //=======================================================================================
 
 #include "BCFunction.h"
-#include "lbm/constants/NumericConstants.h"
+#include "basics/constants/NumericConstants.h"
 
-const real BCFunction::INFTIMEDEPENDENT = -vf::lbm::constant::c1o1;
-const real BCFunction::INFCONST         = -vf::lbm::constant::c10o1;
+const real BCFunction::INFTIMEDEPENDENT = -vf::basics::constant::c1o1;
+const real BCFunction::INFCONST         = -vf::basics::constant::c10o1;
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h
index 5d838ff65..92cfb6f3c 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h
@@ -42,7 +42,7 @@
 #include "UbTuple.h"
 #include "Vector3D.h"
 #include <PointerDefinitions.h>
-#include "lbm/constants/NumericConstants.h"
+#include "basics/constants/NumericConstants.h"
 
 //! Difenition of baundary conditions in grid generation
 class BoundaryConditions
@@ -327,13 +327,13 @@ protected:
     long long densityBoundaryFlags{ 0 };
     long long wallModelBoundaryFlags{ 0 };
 
-    float bcVelocityX1{ vf::lbm::constant::c0o1 };
-    float bcVelocityX2{ vf::lbm::constant::c0o1 };
-    float bcVelocityX3{ vf::lbm::constant::c0o1 };
-    float bcDensity{ vf::lbm::constant::c0o1 };
-    float bcPhaseField{ vf::lbm::constant::c0o1 };
+    float bcVelocityX1{ vf::basics::constant::c0o1 };
+    float bcVelocityX2{ vf::basics::constant::c0o1 };
+    float bcVelocityX3{ vf::basics::constant::c0o1 };
+    float bcDensity{ vf::basics::constant::c0o1 };
+    float bcPhaseField{ vf::basics::constant::c0o1 };
 
-    float nx1{ vf::lbm::constant::c0o1 }, nx2{ vf::lbm::constant::c0o1 }, nx3{ vf::lbm::constant::c0o1 };
+    float nx1{ vf::basics::constant::c0o1 }, nx2{ vf::basics::constant::c0o1 }, nx3{ vf::basics::constant::c0o1 };
 
     char algorithmType { -1 };
 
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/DensityBC.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/DensityBC.cpp
index 8d4fabcbb..ecfeff73b 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/DensityBC.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/DensityBC.cpp
@@ -33,7 +33,7 @@
 #include "DensityBC.h"
 #include "basics/utilities/UbInfinity.h"
 #include "basics/utilities/UbLogger.h"
-#include "lbm/constants/NumericConstants.h"
+#include "basics/constants/NumericConstants.h"
 
 using namespace std;
 /*==========================================================*/
@@ -63,11 +63,11 @@ DensityBC::DensityBC(const mu::Parser &function, const real &startTime, const re
 /*==========================================================*/
 void DensityBC::init()
 {
-    this->timeStep = vf::lbm::constant::c0o1;
+    this->timeStep = vf::basics::constant::c0o1;
 
-    this->x1 = vf::lbm::constant::c0o1;
-    this->x2 = vf::lbm::constant::c0o1;
-    this->x3 = vf::lbm::constant::c0o1;
+    this->x1 = vf::basics::constant::c0o1;
+    this->x2 = vf::basics::constant::c0o1;
+    this->x3 = vf::basics::constant::c0o1;
 
     this->tmpDensityFunction = NULL;
 
@@ -185,7 +185,7 @@ real DensityBC::getDensity(const real &x1, const real &x2, const real &x3, const
     this->timeStep = timeStep;
 
     if (!tmpDensityFunction)
-        return vf::lbm::constant::c0o1;
+        return vf::basics::constant::c0o1;
 
     return tmpDensityFunction->Eval();
 }
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/HighViscosityNoSlipBCStrategy.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/HighViscosityNoSlipBCStrategy.cpp
index 227b5ca35..cb8deaa00 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/HighViscosityNoSlipBCStrategy.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/HighViscosityNoSlipBCStrategy.cpp
@@ -69,7 +69,7 @@ void HighViscosityNoSlipBCStrategy::applyBC()
             real q        = bcPtr->getQ(invDir);
             real fReturn =
                 (f[invDir] + q * f[fDir] + q * collFactor * (feq[invDir] - f[invDir] + feq[fDir] - f[fDir])) /
-                (vf::lbm::constant::c1o1 + q);
+                (vf::basics::constant::c1o1 + q);
             distributions->setDistributionInvForDirection(fReturn, x1 + D3Q27System::DX1[invDir],
                                                           x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir],
                                                           invDir);
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCStrategy.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCStrategy.cpp
index ea1fd5f38..cabd41b30 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCStrategy.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCStrategy.cpp
@@ -66,8 +66,8 @@ void NoSlipBCStrategy::applyBC()
             // quadratic bounce back
             const int invDir = D3Q27System::INVDIR[fdir];
             real q        = bcPtr->getQ(invDir);
-            real fReturn = ((vf::lbm::constant::c1o1 - q) / (vf::lbm::constant::c1o1 + q)) * ((f[invDir] - feq[invDir]) / (vf::lbm::constant::c1o1 - collFactor) + feq[invDir]) +
-                              ((q / (vf::lbm::constant::c1o1 + q)) * (f[invDir] + f[fdir]));
+            real fReturn = ((vf::basics::constant::c1o1 - q) / (vf::basics::constant::c1o1 + q)) * ((f[invDir] - feq[invDir]) / (vf::basics::constant::c1o1 - collFactor) + feq[invDir]) +
+                              ((q / (vf::basics::constant::c1o1 + q)) * (f[invDir] + f[fdir]));
             distributions->setDistributionForDirection(fReturn, x1 + D3Q27System::DX1[invDir],
                                                        x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir],
                                                        fdir);
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/NonReflectingOutflowBCStrategy.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/NonReflectingOutflowBCStrategy.cpp
index 1a74c1033..b19b27ec1 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/NonReflectingOutflowBCStrategy.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/NonReflectingOutflowBCStrategy.cpp
@@ -61,7 +61,7 @@ void NonReflectingOutflowBCStrategy::applyBC()
 
     using namespace D3Q27System;
  //   using namespace UbMath;
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
     real f[ENDF + 1];
     real ftemp[ENDF + 1];
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/SimpleSlipBCStrategy.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/SimpleSlipBCStrategy.cpp
index 65bdc1c22..7bd977217 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/SimpleSlipBCStrategy.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/SimpleSlipBCStrategy.cpp
@@ -67,7 +67,7 @@ void SimpleSlipBCStrategy::applyBC()
    calcMacrosFct(f, drho, vx1, vx2, vx3);
    calcFeqFct(feq, drho, vx1, vx2, vx3);
 
-   rho = vf::lbm::constant::c1o1 + drho * compressibleFactor;
+   rho = vf::basics::constant::c1o1 + drho * compressibleFactor;
 
    UbTupleFloat3 normale = bcPtr->getNormalVector();
    real amp = vx1*val<1>(normale)+vx2*val<2>(normale)+vx3*val<3>(normale);
@@ -82,7 +82,7 @@ void SimpleSlipBCStrategy::applyBC()
       {
          //quadratic bounce back
          const int invDir = D3Q27System::INVDIR[fdir];
-         real velocity = vf::lbm::constant::c0o1;
+         real velocity = vf::basics::constant::c0o1;
          switch (invDir)
          {
          case DIR_P00: velocity = (vf::basics::constant::c4o9*(+vx1)); break;      //(2/cs^2)(=6)*rho_0(=1 bei imkompr)*wi*u*ei mit cs=1/sqrt(3)
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBC.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBC.cpp
index d47bff6d2..008adefd8 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBC.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBC.cpp
@@ -59,17 +59,17 @@ void SlipBC::adaptBC(const D3Q27Interactor &interactor, SPtr<BoundaryConditions>
         throw UbException(UB_EXARGS, "derzeit nur fuer Cubes valide");
 
     if (bc->hasSlipBoundaryFlag(DIR_P00))
-        bc->setNormalVector(vf::lbm::constant::c1o1, vf::lbm::constant::c0o1, vf::lbm::constant::c0o1);
+        bc->setNormalVector(vf::basics::constant::c1o1, vf::basics::constant::c0o1, vf::basics::constant::c0o1);
     else if (bc->hasSlipBoundaryFlag(DIR_M00))
-        bc->setNormalVector(-vf::lbm::constant::c1o1, vf::lbm::constant::c0o1, vf::lbm::constant::c0o1);
+        bc->setNormalVector(-vf::basics::constant::c1o1, vf::basics::constant::c0o1, vf::basics::constant::c0o1);
     else if (bc->hasSlipBoundaryFlag(DIR_0P0))
-        bc->setNormalVector(vf::lbm::constant::c0o1, vf::lbm::constant::c1o1, vf::lbm::constant::c0o1);
+        bc->setNormalVector(vf::basics::constant::c0o1, vf::basics::constant::c1o1, vf::basics::constant::c0o1);
     else if (bc->hasSlipBoundaryFlag(DIR_0M0))
-        bc->setNormalVector(vf::lbm::constant::c0o1, -vf::lbm::constant::c1o1, vf::lbm::constant::c0o1);
+        bc->setNormalVector(vf::basics::constant::c0o1, -vf::basics::constant::c1o1, vf::basics::constant::c0o1);
     else if (bc->hasSlipBoundaryFlag(DIR_00P))
-        bc->setNormalVector(vf::lbm::constant::c0o1, vf::lbm::constant::c0o1, vf::lbm::constant::c1o1);
+        bc->setNormalVector(vf::basics::constant::c0o1, vf::basics::constant::c0o1, vf::basics::constant::c1o1);
     else if (bc->hasSlipBoundaryFlag(DIR_00M))
-        bc->setNormalVector(vf::lbm::constant::c0o1, vf::lbm::constant::c0o1, -vf::lbm::constant::c1o1);
+        bc->setNormalVector(vf::basics::constant::c0o1, vf::basics::constant::c0o1, -vf::basics::constant::c1o1);
 
     bc->setBCStrategyType(algorithmType);
 }
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBCStrategy.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBCStrategy.cpp
index a4ceaeea2..34093b6a8 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBCStrategy.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBCStrategy.cpp
@@ -36,7 +36,7 @@ void SlipBCStrategy::applyBC()
     vx2 = vx2 - amp * val<2>(normale); // normale zeigt von struktur weg!
     vx3 = vx3 - amp * val<3>(normale); // normale zeigt von struktur weg!
 
-    rho = vf::lbm::constant::c1o1 + drho * compressibleFactor;
+    rho = vf::basics::constant::c1o1 + drho * compressibleFactor;
 
    for (int fdir = D3Q27System::FSTARTDIR; fdir<=D3Q27System::FENDDIR; fdir++)
    {
@@ -46,7 +46,7 @@ void SlipBCStrategy::applyBC()
          const int invDir = D3Q27System::INVDIR[fdir];
          real q = bcPtr->getQ(invDir);// m+m q=0 stabiler
          //vx3=0;
-         real velocity = vf::lbm::constant::c0o1;
+         real velocity = vf::basics::constant::c0o1;
          switch (invDir)
          {
          case DIR_P00: velocity = (vf::basics::constant::c4o9*(+vx1)); break;      //(2/cs^2)(=6)*rho_0(=1 bei imkompr)*wi*u*ei mit cs=1/sqrt(3)
@@ -77,7 +77,7 @@ void SlipBCStrategy::applyBC()
          case DIR_MPP: velocity = (vf::basics::constant::c1o36*(-vx1+vx2+vx3)); break;
          default: throw UbException(UB_EXARGS, "unknown error");
          }
-         real fReturn = ((vf::lbm::constant::c1o1-q)/(vf::lbm::constant::c1o1+q))*((f[invDir]-feq[invDir])/(vf::lbm::constant::c1o1-collFactor)+feq[invDir])+((q*(f[invDir]+f[fdir])-velocity*rho)/(vf::lbm::constant::c1o1+q));
+         real fReturn = ((vf::basics::constant::c1o1-q)/(vf::basics::constant::c1o1+q))*((f[invDir]-feq[invDir])/(vf::basics::constant::c1o1-collFactor)+feq[invDir])+((q*(f[invDir]+f[fdir])-velocity*rho)/(vf::basics::constant::c1o1+q));
          distributions->setDistributionForDirection(fReturn, x1+D3Q27System::DX1[invDir], x2+D3Q27System::DX2[invDir], x3+D3Q27System::DX3[invDir], fdir);
       }
    }
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/ThinWallNoSlipBCStrategy.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/ThinWallNoSlipBCStrategy.cpp
index 18385cd20..2427983a1 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/ThinWallNoSlipBCStrategy.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/ThinWallNoSlipBCStrategy.cpp
@@ -66,9 +66,9 @@ void ThinWallNoSlipBCStrategy::applyBC()
             const int invDir = D3Q27System::INVDIR[fdir];
             if (pass == 1) {
                 real q = bcPtr->getQ(invDir);
-                fReturn   = ((vf::lbm::constant::c1o1 - q) / (vf::lbm::constant::c1o1 + q)) * vf::lbm::constant::c1o2 *
+                fReturn   = ((vf::basics::constant::c1o1 - q) / (vf::basics::constant::c1o1 + q)) * vf::basics::constant::c1o2 *
                           (f[invDir] - f[fdir] +
-                           (f[invDir] + f[fdir] - collFactor * (feq[fdir] + feq[invDir])) / (vf::lbm::constant::c1o1 - collFactor));
+                           (f[invDir] + f[fdir] - collFactor * (feq[fdir] + feq[invDir])) / (vf::basics::constant::c1o1 - collFactor));
                 // distributionsTemp->setDistributionForDirection(fReturn, x1 + D3Q27System::DX1[invDir], x2 +
                 // D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], fdir);
                 fTemp[fdir] = fReturn;
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBC.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBC.cpp
index 583303850..1ffc44700 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBC.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBC.cpp
@@ -337,9 +337,9 @@ void VelocityBC::setNodeVelocity(const D3Q27Interactor & /*interactor*/, SPtr<Bo
 UbTupleDouble3 VelocityBC::getVelocity(const real &x1, const real &x2, const real &x3,
                                               const real &timeStep) const
 {
-    real vx1     = vf::lbm::constant::c0o1;
-    real vx2     = vf::lbm::constant::c0o1;
-    real vx3     = vf::lbm::constant::c0o1;
+    real vx1     = vf::basics::constant::c0o1;
+    real vx2     = vf::basics::constant::c0o1;
+    real vx3     = vf::basics::constant::c0o1;
     this->x1       = x1;
     this->x2       = x2;
     this->x3       = x3;
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCStrategy.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCStrategy.cpp
index 44f7180b6..4f4c1615d 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCStrategy.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCStrategy.cpp
@@ -65,15 +65,15 @@ void VelocityBCStrategy::applyBC()
     //DEBUG
     //int blockID = block->getGlobalID();
 
-    rho = vf::lbm::constant::c1o1 + drho * compressibleFactor;
+    rho = vf::basics::constant::c1o1 + drho * compressibleFactor;
 
     for (int fdir = D3Q27System::FSTARTDIR; fdir <= D3Q27System::FENDDIR; fdir++) {
         if (bcPtr->hasVelocityBoundaryFlag(fdir)) {
             const int invDir = D3Q27System::INVDIR[fdir];
             real q        = bcPtr->getQ(invDir);
             real velocity = bcPtr->getBoundaryVelocity(invDir);
-            real fReturn = ((vf::lbm::constant::c1o1 - q) / (vf::lbm::constant::c1o1 + q)) * ((f[invDir] - feq[invDir]) / (vf::lbm::constant::c1o1 - collFactor) + feq[invDir]) +
-                              ((q * (f[invDir] + f[fdir]) - velocity * rho) / (vf::lbm::constant::c1o1 + q));
+            real fReturn = ((vf::basics::constant::c1o1 - q) / (vf::basics::constant::c1o1 + q)) * ((f[invDir] - feq[invDir]) / (vf::basics::constant::c1o1 - collFactor) + feq[invDir]) +
+                              ((q * (f[invDir] + f[fdir]) - velocity * rho) / (vf::basics::constant::c1o1 + q));
             distributions->setDistributionForDirection(fReturn, x1 + D3Q27System::DX1[invDir],
                                                        x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir],
                                                        fdir);
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityWithDensityBCStrategy.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityWithDensityBCStrategy.cpp
index a7cf16a9f..1b579877a 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityWithDensityBCStrategy.cpp
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityWithDensityBCStrategy.cpp
@@ -92,7 +92,7 @@ void VelocityWithDensityBCStrategy::applyBC()
                 // if q=1
                 // LBMReal fReturn = ((q*(f[fdir] + f[invDir]) - velocity*rho) / (1.0 +
                 // q))-drho*D3Q27System::WEIGTH[invDir];
-                real fReturn = (f[fdir] + f[invDir] - velocity * rho) / vf::lbm::constant::c2o1 - drho * D3Q27System::WEIGTH[invDir];
+                real fReturn = (f[fdir] + f[invDir] - velocity * rho) / vf::basics::constant::c2o1 - drho * D3Q27System::WEIGTH[invDir];
 
                 distributions->setDistributionForDirection(fReturn, nX1, nX2, nX3, invDir);
             }
diff --git a/src/cpu/VirtualFluidsCore/LBM/BGKLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/BGKLBMKernel.cpp
index 02b9f71f0..b50103ff8 100644
--- a/src/cpu/VirtualFluidsCore/LBM/BGKLBMKernel.cpp
+++ b/src/cpu/VirtualFluidsCore/LBM/BGKLBMKernel.cpp
@@ -302,4 +302,4 @@ void BGKLBMKernel::calculate(int step)
     }
 }
 //////////////////////////////////////////////////////////////////////////
-real BGKLBMKernel::getCalculationTime() { return vf::lbm::constant::c0o1; }
+real BGKLBMKernel::getCalculationTime() { return vf::basics::constant::c0o1; }
diff --git a/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp
index ec2fe072a..421f81a1a 100644
--- a/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp
+++ b/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp
@@ -16,8 +16,8 @@ using namespace vf::basics::constant;
 CompressibleCumulant4thOrderViscosityLBMKernel::CompressibleCumulant4thOrderViscosityLBMKernel()
 {
    this->compressible = true;
-   this->bulkViscosity = vf::lbm::constant::c0o1;
-   this->OxxPyyPzz = vf::lbm::constant::c1o1;
+   this->bulkViscosity = vf::basics::constant::c0o1;
+   this->OxxPyyPzz = vf::basics::constant::c1o1;
 }
 //////////////////////////////////////////////////////////////////////////
 CompressibleCumulant4thOrderViscosityLBMKernel::~CompressibleCumulant4thOrderViscosityLBMKernel(void)
diff --git a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h
index 57226cb5e..2f5cbdc30 100644
--- a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h
+++ b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h
@@ -1398,7 +1398,7 @@ static inline real getShearRate(const real *const f, real collFactorF)
 static inline std::array<real,6> getSecondMoments(const real *const f, real collFactorF)
 {
     using namespace vf::lbm::dir;
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
     real mfcbb = f[DIR_P00];
     real mfbcb = f[DIR_0P0];
@@ -1723,7 +1723,7 @@ static inline std::array<real,6> getSecondMoments(const real *const f, real coll
 static inline std::array<real, 6> getStressTensor(const real *const f, real collFactorF)
 {
     using namespace vf::lbm::dir;
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
     real mfcbb = f[DIR_P00];
     real mfbcb = f[DIR_0P0];
diff --git a/src/cpu/VirtualFluidsCore/LBM/IncompressibleOffsetInterpolationProcessor.cpp b/src/cpu/VirtualFluidsCore/LBM/IncompressibleOffsetInterpolationProcessor.cpp
index 93fb699ea..26635dbac 100644
--- a/src/cpu/VirtualFluidsCore/LBM/IncompressibleOffsetInterpolationProcessor.cpp
+++ b/src/cpu/VirtualFluidsCore/LBM/IncompressibleOffsetInterpolationProcessor.cpp
@@ -37,7 +37,7 @@ void IncompressibleOffsetInterpolationProcessor::setOffsets(real xoff, real yoff
 //////////////////////////////////////////////////////////////////////////
 void IncompressibleOffsetInterpolationProcessor::interpolateCoarseToFine(D3Q27ICell& icellC, D3Q27ICell& icellF, real xoff, real yoff, real zoff)
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    setOffsets(xoff, yoff, zoff);
    calcInterpolatedCoefficiets(icellC, omegaC, c1o2);
@@ -54,7 +54,7 @@ void IncompressibleOffsetInterpolationProcessor::interpolateCoarseToFine(D3Q27IC
 void IncompressibleOffsetInterpolationProcessor::interpolateFineToCoarse(D3Q27ICell& icellF, real* icellC, real xoff, real yoff, real zoff)
 {
    setOffsets(xoff, yoff, zoff);
-   calcInterpolatedCoefficiets(icellF, omegaF, vf::lbm::constant::c2o1);
+   calcInterpolatedCoefficiets(icellF, omegaF, vf::basics::constant::c2o1);
    calcInterpolatedNodeFC(icellC, omegaC);
 }
 //////////////////////////////////////////////////////////////////////////
@@ -63,7 +63,7 @@ void IncompressibleOffsetInterpolationProcessor::calcMoments(const real* const f
 {
    using namespace D3Q27System;
    using namespace vf::lbm::dir;
-   using namespace vf::lbm::constant;
+   using namespace vf::basics::constant;
 
    //UBLOG(logINFO,"D3Q27System::DIR_M0M  = " << D3Q27System::DIR_M0M);
    //UBLOG(logINFO,"BW  = " << BW);;
@@ -106,7 +106,7 @@ void IncompressibleOffsetInterpolationProcessor::calcMoments(const real* const f
 //////////////////////////////////////////////////////////////////////////
 void IncompressibleOffsetInterpolationProcessor::calcInterpolatedCoefficiets(const D3Q27ICell& icell, real omega, real eps_new)
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    real        vx1_SWT,vx2_SWT,vx3_SWT;
    real        vx1_NWT,vx2_NWT,vx3_NWT;
@@ -536,7 +536,7 @@ void IncompressibleOffsetInterpolationProcessor::calcInterpolatedNode(real* f, r
 {
    using namespace D3Q27System;
    using namespace vf::lbm::dir;
-   using namespace vf::lbm::constant;
+   using namespace vf::basics::constant;
 
    real rho  = press ;//+ (2.*axx*x+axy*y+axz*z+axyz*y*z+ax + 2.*byy*y+bxy*x+byz*z+bxyz*x*z+by + 2.*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/3.;
    real vx1  = a0 + c1o4*( xs*ax + ys*ay + zs*az) + c1o16*(axx + xs*ys*axy + xs*zs*axz + ayy + ys*zs*ayz + azz) + c1o64*(xs*ys*zs*axyz);
@@ -583,7 +583,7 @@ void IncompressibleOffsetInterpolationProcessor::calcInterpolatedNode(real* f, r
 //Position SWB -0.25, -0.25, -0.25
 real IncompressibleOffsetInterpolationProcessor::calcPressBSW()
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    return   press_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) +
       press_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) +
@@ -598,7 +598,7 @@ real IncompressibleOffsetInterpolationProcessor::calcPressBSW()
 //Position SWT -0.25, -0.25, 0.25
 real IncompressibleOffsetInterpolationProcessor::calcPressTSW()
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    return   press_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) +
       press_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) +
@@ -613,7 +613,7 @@ real IncompressibleOffsetInterpolationProcessor::calcPressTSW()
 //Position SET 0.25, -0.25, 0.25
 real IncompressibleOffsetInterpolationProcessor::calcPressTSE()
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    return   press_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) +
       press_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) +
@@ -628,7 +628,7 @@ real IncompressibleOffsetInterpolationProcessor::calcPressTSE()
 //Position SEB 0.25, -0.25, -0.25
 real IncompressibleOffsetInterpolationProcessor::calcPressBSE()
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    return   press_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) +
       press_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) +
@@ -643,7 +643,7 @@ real IncompressibleOffsetInterpolationProcessor::calcPressBSE()
 //Position NWB -0.25, 0.25, -0.25
 real IncompressibleOffsetInterpolationProcessor::calcPressBNW()
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    return   press_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) +
       press_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) +
@@ -658,7 +658,7 @@ real IncompressibleOffsetInterpolationProcessor::calcPressBNW()
 //Position NWT -0.25, 0.25, 0.25
 real IncompressibleOffsetInterpolationProcessor::calcPressTNW()
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    return   press_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) +
       press_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) +
@@ -673,7 +673,7 @@ real IncompressibleOffsetInterpolationProcessor::calcPressTNW()
 //Position NET 0.25, 0.25, 0.25
 real IncompressibleOffsetInterpolationProcessor::calcPressTNE()
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    return   press_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) +
       press_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) +
@@ -688,7 +688,7 @@ real IncompressibleOffsetInterpolationProcessor::calcPressTNE()
 //Position NEB 0.25, 0.25, -0.25
 real IncompressibleOffsetInterpolationProcessor::calcPressBNE()
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
    return   press_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) +
       press_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) +
@@ -705,7 +705,7 @@ void IncompressibleOffsetInterpolationProcessor::calcInterpolatedNodeFC(real* f,
 {
    using namespace D3Q27System;
    using namespace vf::lbm::dir;
-   using namespace vf::lbm::constant;
+   using namespace vf::basics::constant;
 
    real press  =  press_NET * (c4o32 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) +
       press_NWT * (c4o32 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) +
@@ -801,7 +801,7 @@ void IncompressibleOffsetInterpolationProcessor::calcInterpolatedVelocity(real x
 //////////////////////////////////////////////////////////////////////////
 void IncompressibleOffsetInterpolationProcessor::calcInterpolatedShearStress(real x, real y, real z,real& tauxx, real& tauyy, real& tauzz,real& tauxy, real& tauxz, real& tauyz)
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
 	tauxx=ax+c2o1*axx*x+axy*y+axz*z+axyz*y*z;
 	tauyy=by+c2o1*byy*y+bxy*x+byz*z+bxyz*x*z;
diff --git a/src/cpu/VirtualFluidsCore/LBM/InterpolationHelper.cpp b/src/cpu/VirtualFluidsCore/LBM/InterpolationHelper.cpp
index 01aeb9bd6..f4b54988b 100644
--- a/src/cpu/VirtualFluidsCore/LBM/InterpolationHelper.cpp
+++ b/src/cpu/VirtualFluidsCore/LBM/InterpolationHelper.cpp
@@ -7,15 +7,15 @@ InterpolationHelper::~InterpolationHelper() = default;
 void InterpolationHelper::interpolate8to1(D3Q27ICell &icellF, real *icellC, real /*x1*/, real /*x2*/,
                                           real /*x3*/, real omega)
 {
-    iProcessor->calcInterpolatedCoefficiets(icellF, omega, vf::lbm::constant::c1o1);
+    iProcessor->calcInterpolatedCoefficiets(icellF, omega, vf::basics::constant::c1o1);
     iProcessor->calcInterpolatedNodeFC(icellC, omega);
 }
 //////////////////////////////////////////////////////////////////////////
 void InterpolationHelper::interpolate8to1WithVelocity(D3Q27ICell &icellF, real x1, real x2, real x3,
                                                       real omega, real &vx1, real &vx2, real &vx3)
 {
-    iProcessor->setOffsets(vf::lbm::constant::c0o1, vf::lbm::constant::c0o1, vf::lbm::constant::c0o1);
-    iProcessor->calcInterpolatedCoefficiets(icellF, omega, vf::lbm::constant::c0o1);
+    iProcessor->setOffsets(vf::basics::constant::c0o1, vf::basics::constant::c0o1, vf::basics::constant::c0o1);
+    iProcessor->calcInterpolatedCoefficiets(icellF, omega, vf::basics::constant::c0o1);
     iProcessor->calcInterpolatedVelocity(x1, x2, x3, vx1, vx2, vx3);
 }
 //////////////////////////////////////////////////////////////////////////
@@ -25,8 +25,8 @@ void InterpolationHelper::interpolate8to1WithVelocityWithShearStress(D3Q27ICell
                                                                      real &tauyy, real &tauzz, real &tauxy,
                                                                      real &tauxz, real &tauyz)
 {
-    iProcessor->setOffsets(vf::lbm::constant::c0o1, vf::lbm::constant::c0o1, vf::lbm::constant::c0o1);
-    iProcessor->calcInterpolatedCoefficiets(icellF, omega, vf::lbm::constant::c0o1);
+    iProcessor->setOffsets(vf::basics::constant::c0o1, vf::basics::constant::c0o1, vf::basics::constant::c0o1);
+    iProcessor->calcInterpolatedCoefficiets(icellF, omega, vf::basics::constant::c0o1);
     iProcessor->calcInterpolatedVelocity(x1, x2, x3, vx1, vx2, vx3);
     iProcessor->calcInterpolatedShearStress(x1, x2, x3, tauxx, tauyy, tauzz, tauxy, tauxz, tauyz);
 }
diff --git a/src/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp
index d78bfc9c1..ae96d8d46 100644
--- a/src/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp
+++ b/src/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp
@@ -111,7 +111,7 @@ void LBMKernel::setForcingX3(const std::string &muParserString)
 //////////////////////////////////////////////////////////////////////////
 void LBMKernel::checkFunction(mu::Parser fct)
 {
-    using namespace vf::lbm::constant;
+    using namespace vf::basics::constant;
 
     real x1 = c1o1, x2 = c1o1, x3 = c1o1, dt = c1o1, nue = c1o1, rho = c1o1;
     fct.DefineVar("x1", &x1);
diff --git a/src/cpu/VirtualFluidsCore/LBM/VoidLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/VoidLBMKernel.cpp
index 4e56f9fbd..7ab956494 100644
--- a/src/cpu/VirtualFluidsCore/LBM/VoidLBMKernel.cpp
+++ b/src/cpu/VirtualFluidsCore/LBM/VoidLBMKernel.cpp
@@ -32,4 +32,4 @@ SPtr<LBMKernel> VoidLBMKernel::clone()
 //////////////////////////////////////////////////////////////////////////
 void VoidLBMKernel::calculate(int step) {}
 //////////////////////////////////////////////////////////////////////////
-real VoidLBMKernel::getCalculationTime() { return vf::lbm::constant::c0o1; }
+real VoidLBMKernel::getCalculationTime() { return vf::basics::constant::c0o1; }
diff --git a/src/cpu/VirtualFluidsCore/SimulationObservers/CalculateTorqueSimulationObserver.cpp b/src/cpu/VirtualFluidsCore/SimulationObservers/CalculateTorqueSimulationObserver.cpp
index affba2a27..768fbbb26 100644
--- a/src/cpu/VirtualFluidsCore/SimulationObservers/CalculateTorqueSimulationObserver.cpp
+++ b/src/cpu/VirtualFluidsCore/SimulationObservers/CalculateTorqueSimulationObserver.cpp
@@ -216,7 +216,7 @@ UbTupleDouble3 CalculateTorqueSimulationObserver::getForces(int x1, int x2, int
 //////////////////////////////////////////////////////////////////////////
 UbTupleDouble3 CalculateTorqueSimulationObserver::getForcesFromMoments(int x1, int x2, int x3, SPtr<ILBMKernel> kernel, SPtr<DistributionArray3D> distributions, SPtr<BoundaryConditions> bc, real nx, real ny, real nz)
 {
-   using namespace vf::lbm::constant;
+   using namespace vf::basics::constant;
    UbTupleDouble3 force(0.0, 0.0, 0.0);
 
 
@@ -251,7 +251,7 @@ UbTupleDouble3 CalculateTorqueSimulationObserver::getForcesFromMoments(int x1, i
 //////////////////////////////////////////////////////////////////////////
 UbTupleDouble3 CalculateTorqueSimulationObserver::getForcesFromStressTensor(int x1, int x2, int x3, SPtr<ILBMKernel> kernel, SPtr<DistributionArray3D> distributions, SPtr<BoundaryConditions> bc, real nx, real ny, real nz)
 {
-   using namespace vf::lbm::constant;
+   using namespace vf::basics::constant;
    UbTupleDouble3 force(0.0, 0.0, 0.0);
 
    if (bc) {
-- 
GitLab