From 58c2d0ffa0da0094c832af836a5682cad0254087 Mon Sep 17 00:00:00 2001
From: Hussein Alihussein <h.alihussein@tu-braunschweig.de>
Date: Fri, 31 Mar 2023 12:16:55 +0200
Subject: [PATCH] Change the name of geometry file from GbImplicitSurface to
 GbGyroidThirdOrder

---
 apps/cpu/Applications.cmake                   | 14 +--
 apps/cpu/TPMSRow/TPMSRow.cpp                  | 10 +--
 ...icitSurface.cpp => GbGyroidThirdOrder.cpp} | 88 ++++++++++---------
 ...ImplicitSurface.h => GbGyroidThirdOrder.h} |  0
 src/cpu/VirtualFluids.h                       |  2 +-
 5 files changed, 59 insertions(+), 55 deletions(-)
 rename src/basics/geometry3d/{GbImplicitSurface.cpp => GbGyroidThirdOrder.cpp} (84%)
 rename src/basics/geometry3d/{GbImplicitSurface.h => GbGyroidThirdOrder.h} (100%)

diff --git a/apps/cpu/Applications.cmake b/apps/cpu/Applications.cmake
index 3c71d5134..1638ad560 100644
--- a/apps/cpu/Applications.cmake
+++ b/apps/cpu/Applications.cmake
@@ -1,14 +1,14 @@
 add_subdirectory(${APPS_ROOT_CPU}/PoiseuilleFlow)
-add_subdirectory(${APPS_ROOT_CPU}/HerschelBulkleySphere)
-add_subdirectory(${APPS_ROOT_CPU}/HerschelBulkleyModel)
-add_subdirectory(${APPS_ROOT_CPU}/rheometer)
+#add_subdirectory(${APPS_ROOT_CPU}/HerschelBulkleySphere)
+#add_subdirectory(${APPS_ROOT_CPU}/HerschelBulkleyModel)
+#add_subdirectory(${APPS_ROOT_CPU}/rheometer)
 add_subdirectory(${APPS_ROOT_CPU}/CouetteFlow)
 add_subdirectory(${APPS_ROOT_CPU}/Multiphase)
 add_subdirectory(${APPS_ROOT_CPU}/ViskomatXL)
-add_subdirectory(${APPS_ROOT_CPU}/sphere)
-add_subdirectory(${APPS_ROOT_CPU}/FlowAroundCylinder)
-add_subdirectory(${APPS_ROOT_CPU}/LaminarTubeFlow)
-add_subdirectory(${APPS_ROOT_CPU}/MultiphaseDropletTest)
+#add_subdirectory(${APPS_ROOT_CPU}/sphere)
+#add_subdirectory(${APPS_ROOT_CPU}/FlowAroundCylinder)
+#add_subdirectory(${APPS_ROOT_CPU}/LaminarTubeFlow)
+#add_subdirectory(${APPS_ROOT_CPU}/MultiphaseDropletTest)
 add_subdirectory(${APPS_ROOT_CPU}/RisingBubble2D)
 add_subdirectory(${APPS_ROOT_CPU}/JetBreakup)
 
diff --git a/apps/cpu/TPMSRow/TPMSRow.cpp b/apps/cpu/TPMSRow/TPMSRow.cpp
index 636934027..a2943fff6 100644
--- a/apps/cpu/TPMSRow/TPMSRow.cpp
+++ b/apps/cpu/TPMSRow/TPMSRow.cpp
@@ -177,10 +177,10 @@ void run(string configname)
         //////////////////////////////////////////////////////////////////////////
 
         if (newStart) {
-            GbImplicitSurfacePtr tpms;
-            // tpms = GbImplicitSurfacePtr(new GbImplicitSurface(0, 0, 0, TPMSL[0], TPMSL[1], TPMSL[2], UnitEdgeLength,
+            GbGyroidThirdOrderPtr tpms;
+            // tpms = GbGyroidThirdOrderPtr(new GbGyroidThirdOrder(0, 0, 0, TPMSL[0], TPMSL[1], TPMSL[2], UnitEdgeLength,
             // dx));
-            tpms = GbImplicitSurfacePtr(new GbImplicitSurface(TPMSOrigin[0], TPMSOrigin[1], TPMSOrigin[2],
+            tpms = GbGyroidThirdOrderPtr(new GbGyroidThirdOrder(TPMSOrigin[0], TPMSOrigin[1], TPMSOrigin[2],
                                                               TPMSOrigin[0] + TPMSL[0],
                                                               TPMSOrigin[1] + TPMSL[1],
                                                               TPMSOrigin[2] + TPMSL[2],
@@ -345,7 +345,7 @@ void run(string configname)
             //intHelper.addInteractor(zMaxFunnelInt);
             //intHelper.addInteractor(funnelInt);
 
-            intHelper.addInteractor(tpmsInt);
+            //intHelper.addInteractor(tpmsInt);
             intHelper.addInteractor(zMinInt);
             intHelper.addInteractor(zMaxInt);
 
@@ -473,7 +473,7 @@ void run(string configname)
         fnu.DefineConst("u", vx);
         SPtr<CoProcessor> nupr(new DecreaseViscosityCoProcessor(grid, nuSch, &fnu, comm));
 
-        SPtr<UbScheduler> nupsSch(new UbScheduler(100, 100, 100000000));
+        SPtr<UbScheduler> nupsSch(new UbScheduler(10, 10, 100000000));
         SPtr<CoProcessor> npr(new NUPSCounterCoProcessor(grid, nupsSch, numOfThreads, comm));
 
         //omp_set_num_threads(numOfThreads);
diff --git a/src/basics/geometry3d/GbImplicitSurface.cpp b/src/basics/geometry3d/GbGyroidThirdOrder.cpp
similarity index 84%
rename from src/basics/geometry3d/GbImplicitSurface.cpp
rename to src/basics/geometry3d/GbGyroidThirdOrder.cpp
index 6dec57173..c4a95c2e8 100644
--- a/src/basics/geometry3d/GbImplicitSurface.cpp
+++ b/src/basics/geometry3d/GbGyroidThirdOrder.cpp
@@ -26,12 +26,12 @@
 //  You should have received a copy of the GNU General Public License along
 //  with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
 //
-//! \file GbImplicitSurface.cpp
+//! \file GbGyroidThirdOrder.cpp
 //! \ingroup geometry3d
 //! \author Hussein Alihussein
 //=======================================================================================
 
-#include <GbImplicitSurface.h>
+#include <GbGyroidThirdOrder.h>
 
 #ifdef BUILD_USE_BOOST
 
@@ -47,20 +47,20 @@ using namespace std;
 using boost::math::tools::bisect;
 
 /*=======================================================*/
-// ObObjectCreator* GbImplicitSurface::getCreator()
+// ObObjectCreator* GbGyroidThirdOrder::getCreator()
 // {
 // 	 GbObject3DCreator instance;
 // 	return &instance;
 // }
 /*=======================================================*/
 // Konstruktor
-GbImplicitSurface::GbImplicitSurface() //: GbObject3D()
+GbGyroidThirdOrder::GbGyroidThirdOrder() //: GbObject3D()
 {
 
 }
 /*=======================================================*/
 // Konstruktor
-GbImplicitSurface::GbImplicitSurface(const double& x1a, const double& x2a, const double& x3a, const double& x1b, const double& x2b, const double& x3b, const double& edgeLength, const double& dx, const double& thickness) :GbObject3D()
+GbGyroidThirdOrder::GbGyroidThirdOrder(const double& x1a, const double& x2a, const double& x3a, const double& x1b, const double& x2b, const double& x3b, const double& edgeLength, const double& dx, const double& thickness) :GbObject3D()
 {
 	this->p1 = new GbPoint3D(x1a, x2a, x3a);
 	this->p2 = new GbPoint3D(x1b, x2b, x3b);
@@ -78,7 +78,7 @@ GbImplicitSurface::GbImplicitSurface(const double& x1a, const double& x2a, const
 }
 /*=======================================================*/
 // Konstruktor
-//GbImplicitSurface::GbImplicitSurface(
+//GbGyroidThirdOrder::GbGyroidThirdOrder(
 //	const double& x1a, const double& x2a, const double& x3a,
 //	const double& x1b, const double& x2b, const double& x3b,
 //
@@ -96,12 +96,12 @@ GbImplicitSurface::GbImplicitSurface(const double& x1a, const double& x2a, const
 //	this->edgeLength = edgeLength;
 //	this->dx = dx;
 //}
-GbImplicitSurface::GbImplicitSurface(GbImplicitSurface * imp)
+GbGyroidThirdOrder::GbGyroidThirdOrder(GbGyroidThirdOrder * imp)
 {
 }
 /*=======================================================*/
 // Destruktor
-GbImplicitSurface::~GbImplicitSurface()
+GbGyroidThirdOrder::~GbGyroidThirdOrder()
 {
     if (this->p1)
         this->p1->removeObserver(this);
@@ -154,23 +154,27 @@ struct FunctionGyroidThirdOrder {
 	 t20 = cos((2. * M_PI*(y+q*dir2)) / L)*cos((2. * M_PI*(z+q*dir3)) / L);
 
 	//Gyroid third order derivatives
-	 f300 = (8. * pow(M_PI, 3.)*(-t17 + t3)) / pow(L, 3.);
-	 f210 = (8. * pow(M_PI, 3.)*t2) / pow(L, 3.);
-	 f201 = (-8. * pow(M_PI, 3.)*t18) / pow(L, 3.);
-	 f120 = (-8. * pow(M_PI, 3.)*t17) / pow(L, 3.);
-	 f102 = (8. * pow(M_PI, 3.)*t3) / pow(L, 3.);
-	 f030 = (8. * pow(M_PI, 3.)*(t2 - t20)) / pow(L, 3.);
-	 f021 = (8. * pow(M_PI, 3.)*t8) / pow(L, 3.);
-	 f012 = (-8. * pow(M_PI, 3.)*t20) / pow(L, 3.);
-	 f003 = (8. * pow(M_PI, 3.)*(-t18 + t8)) / pow(L, 3.);
+	double L_cubed = pow(L, 3.);
+	double PI_cubed =  pow(M_PI, 3.);
+	 f300 = (8. * PI_cubed*(-t17 + t3)) / L_cubed;
+	 f210 = (8. * PI_cubed*t2) / L_cubed;
+	 f201 = (-8. * PI_cubed*t18) / L_cubed;
+	 f120 = (-8. * PI_cubed*t17) / L_cubed;
+	 f102 = (8. * PI_cubed*t3) / L_cubed;
+	 f030 = (8. * PI_cubed*(t2 - t20)) / L_cubed;
+	 f021 = (8. * PI_cubed*t8) / L_cubed;
+	 f012 = (-8. * PI_cubed*t20) / L_cubed;
+	 f003 = (8. * PI_cubed*(-t18 + t8)) / L_cubed;
 
-	//Gyroid second order derivatives
-	 f200 = (-4. * pow(M_PI, 2.)*(t13 + t5)) / pow(L, 2.);
-	 f110 = (-4. * pow(M_PI, 2.)*t9) / pow(L, 2.);
-	 f101 = (-4. * pow(M_PI, 2.)*t6) / pow(L, 2.);
-	 f020 = (-4. * pow(M_PI, 2.)*(t11 + t5)) / pow(L, 2.);
-	 f011 = (-4. * pow(M_PI, 2.)*t14) / pow(L, 2.);
-	 f002 = (-4. * pow(M_PI, 2.)*(t11 + t13)) / pow(L, 2.);
+	//Gyroid second order derivatives		
+	double L_squared = pow(L, 2.);
+	double PI_squared =  pow(M_PI, 2.);
+	 f200 = (-4. * PI_squared*(t13 + t5)) / L_squared;
+	 f110 = (-4. * PI_squared*t9) / L_squared;
+	 f101 = (-4. * PI_squared*t6) / L_squared;
+	 f020 = (-4. * PI_squared*(t11 + t5)) / L_squared;
+	 f011 = (-4. * PI_squared*t14) / L_squared;
+	 f002 = (-4. * PI_squared*(t11 + t13)) / L_squared;
 
 	//Gyroid first order derivatives
 	 f100 = (2. * M_PI*(t17 - t3)) / L;
@@ -217,7 +221,7 @@ struct FunctionGyroidThirdOrder {
 	}
 };
 /*==========================================================*/
-bool GbImplicitSurface::isPointInGbObject3D(const double& x1, const double& x2, const double& x3)
+bool GbGyroidThirdOrder::isPointInGbObject3D(const double& x1, const double& x2, const double& x3)
 {
 	//double f = sin(2.*M_PI*x1/edgeLength)*cos(2.*M_PI*x2 / edgeLength) + sin(2.*M_PI*x2 / edgeLength)*cos(2.*M_PI*x3 / edgeLength) + sin(2.*M_PI*x3 / edgeLength)*cos(2.*M_PI*x1 / edgeLength);
 	//evaluateImplicitFunction(x1,x2,x3, 0., 0., 0.)
@@ -237,7 +241,7 @@ else
 }
 
 /*==========================================================*/
-double GbImplicitSurface::getIntersectionRaytraceFactor(const double& x1, const double& x2, const double& x3, const double& rx1, const double& rx2, const double& rx3)
+double GbGyroidThirdOrder::getIntersectionRaytraceFactor(const double& x1, const double& x2, const double& x3, const double& rx1, const double& rx2, const double& rx3)
 {
 	double from = 0;  // The solution must lie in the interval [from, to], additionally f(from) <= 0 && f(to) >= 0
 	double to = dx*sqrt(rx1*rx1+ rx2*rx2+ rx3*rx3);
@@ -271,7 +275,7 @@ double GbImplicitSurface::getIntersectionRaytraceFactor(const double& x1, const
 	
 }
 /*=======================================================*/
-double GbImplicitSurface::evaluateImplicitFunction(const double& x1, const double& x2, const double& x3, const double& position)
+double GbGyroidThirdOrder::evaluateImplicitFunction(const double& x1, const double& x2, const double& x3, const double& position)
 {
 	double to = 0.;
 	FunctionGyroidThirdOrder f;
@@ -286,52 +290,52 @@ double GbImplicitSurface::evaluateImplicitFunction(const double& x1, const doubl
 	return f(to);
 }
 /*=======================================================*/
-double GbImplicitSurface::getX1Centroid()
+double GbGyroidThirdOrder::getX1Centroid()
 {
 	return (0.5*(p1->x1 + p2->x1));
 }
 /*=======================================================*/
-double GbImplicitSurface::getX1Minimum()
+double GbGyroidThirdOrder::getX1Minimum()
 {
 	return (this->p1->x1 < this->p2->x1 ? this->p1->x1 : this->p2->x1);
 }
 /*=======================================================*/
-double GbImplicitSurface::getX1Maximum()
+double GbGyroidThirdOrder::getX1Maximum()
 {
 	return (this->p1->x1 > this->p2->x1 ? this->p1->x1 : this->p2->x1);
 }
 /*=======================================================*/
-double GbImplicitSurface::getX2Centroid()
+double GbGyroidThirdOrder::getX2Centroid()
 {
 	return (0.5*(p1->x2 + p2->x2));
 }
 /*=======================================================*/
-double GbImplicitSurface::getX2Minimum()
+double GbGyroidThirdOrder::getX2Minimum()
 {
 	return (this->p1->x2 < this->p2->x2 ? this->p1->x2 : this->p2->x2);
 }
 /*=======================================================*/
-double GbImplicitSurface::getX2Maximum()
+double GbGyroidThirdOrder::getX2Maximum()
 {
 	return (this->p1->x2 > this->p2->x2 ? this->p1->x2 : this->p2->x2);
 }
 /*=======================================================*/
-double GbImplicitSurface::getX3Centroid()
+double GbGyroidThirdOrder::getX3Centroid()
 {
 	return (0.5*(p1->x3 + p2->x3));
 }
 /*=======================================================*/
-double GbImplicitSurface::getX3Minimum()
+double GbGyroidThirdOrder::getX3Minimum()
 {
 	return (this->p1->x3 < this->p2->x3 ? this->p1->x3 : this->p2->x3);
 }
 /*=======================================================*/
-double GbImplicitSurface::getX3Maximum()
+double GbGyroidThirdOrder::getX3Maximum()
 {
 	return (this->p1->x3 > this->p2->x3 ? this->p1->x3 : this->p2->x3);
 }
 /*=======================================================*/
-bool GbImplicitSurface::isCellInsideGbObject3D(const double& x1a, const double& x2a, const double& x3a, const double& x1b, const double& x2b, const double& x3b)
+bool GbGyroidThirdOrder::isCellInsideGbObject3D(const double& x1a, const double& x2a, const double& x3a, const double& x1b, const double& x2b, const double& x3b)
 {
 	if (this->isPointInGbObject3D(x1a, x2a, x3a)
 		&& this->isPointInGbObject3D(x1b, x2a, x3a)
@@ -347,7 +351,7 @@ bool GbImplicitSurface::isCellInsideGbObject3D(const double& x1a, const double&
 	return false;
 }
 /*=======================================================*/
-bool GbImplicitSurface::isCellInsideOrCuttingGbObject3D(const double& x1a, const double& x2a, const double& x3a, const double& x1b, const double& x2b, const double& x3b)
+bool GbGyroidThirdOrder::isCellInsideOrCuttingGbObject3D(const double& x1a, const double& x2a, const double& x3a, const double& x1b, const double& x2b, const double& x3b)
 {
 	if ((this->isPointInGbObject3D(x1a, x2a, x3a) == false)
 		&& (this->isPointInGbObject3D(x1b, x2a, x3a) == false)
@@ -363,7 +367,7 @@ bool GbImplicitSurface::isCellInsideOrCuttingGbObject3D(const double& x1a, const
 	return true;
 }
 /*=======================================================*/
-bool GbImplicitSurface::isCellCuttingGbObject3D(const double& x1a, const double& x2a, const double& x3a, const double& x1b, const double& x2b, const double& x3b)
+bool GbGyroidThirdOrder::isCellCuttingGbObject3D(const double& x1a, const double& x2a, const double& x3a, const double& x1b, const double& x2b, const double& x3b)
 {
 	if (!this->isCellInsideGbObject3D(x1a, x2a, x3a, x1b, x2b, x3b)
 		&& this->isCellInsideOrCuttingGbObject3D(x1a, x2a, x3a, x1b, x2b, x3b))
@@ -373,7 +377,7 @@ bool GbImplicitSurface::isCellCuttingGbObject3D(const double& x1a, const double&
 	return false;
 }
 /*=======================================================*/
-void GbImplicitSurface::addSurfaceTriangleSet(vector<UbTupleFloat3>& nodes, vector<UbTupleInt3>& triangles)
+void GbGyroidThirdOrder::addSurfaceTriangleSet(vector<UbTupleFloat3>& nodes, vector<UbTupleInt3>& triangles)
 {
 	/*0*/nodes.push_back(makeUbTuple((float)getX1Minimum(), (float)getX2Minimum(), (float)getX3Minimum()));
 	/*1*/nodes.push_back(makeUbTuple((float)getX1Maximum(), (float)getX2Minimum(), (float)getX3Minimum()));
@@ -405,7 +409,7 @@ void GbImplicitSurface::addSurfaceTriangleSet(vector<UbTupleFloat3>& nodes, vect
 	triangles.push_back(makeUbTuple(0, 5, 4));
 }
 /*==========================================================*/
-void GbImplicitSurface::objectChanged(UbObservable *changedObject)
+void GbGyroidThirdOrder::objectChanged(UbObservable *changedObject)
 {
     GbPoint3D *point = dynamic_cast<GbPoint3D *>(changedObject);
     if (!point || (this->p1 != point && this->p2 != point && this->p3 != point && this->p4 != point))
@@ -414,7 +418,7 @@ void GbImplicitSurface::objectChanged(UbObservable *changedObject)
     this->notifyObserversObjectChanged();
 }
 /*==========================================================*/
-void GbImplicitSurface::objectWillBeDeleted(UbObservable *objectForDeletion)
+void GbGyroidThirdOrder::objectWillBeDeleted(UbObservable *objectForDeletion)
 {
     if (this->p1) {
         UbObservable *observedObj = dynamic_cast<UbObservable *>(this->p1);
diff --git a/src/basics/geometry3d/GbImplicitSurface.h b/src/basics/geometry3d/GbGyroidThirdOrder.h
similarity index 100%
rename from src/basics/geometry3d/GbImplicitSurface.h
rename to src/basics/geometry3d/GbGyroidThirdOrder.h
diff --git a/src/cpu/VirtualFluids.h b/src/cpu/VirtualFluids.h
index 1ee4c7e78..a041ad2f3 100644
--- a/src/cpu/VirtualFluids.h
+++ b/src/cpu/VirtualFluids.h
@@ -269,7 +269,7 @@
 #include <geometry3d/GbCylinder3D.h>
 #include <geometry3d/GbHalfSpace3D.h>
 #include <geometry3d/GbHalfSpaceKrischan3D.h>
-#include <geometry3d/GbImplicitSurface.h>
+#include <geometry3d/GbGyroidThirdOrder.h>
 #include <geometry3d/GbLine3D.h>
 #include <geometry3d/GbMeshTools3D.h>
 #include <geometry3d/GbObject3D.h>
-- 
GitLab