From 21684565841d3076b71d6cc163ec0cf3fb9dd7cb Mon Sep 17 00:00:00 2001 From: Hamidreza Norouzi Date: Sun, 26 Jan 2025 12:19:25 +0330 Subject: [PATCH] correctoins for running on cuda --- src/Interaction/Models/grainContactForceModels.hpp | 4 ++++ src/Interaction/Models/rolling/grainRolling.hpp | 4 ++-- src/Interaction/Models/rolling/normalRolling.hpp | 4 ++-- .../grainInteraction/grainInteractionsNonLinearModels.cpp | 2 +- src/MotionModel/entities/rotatingAxis/rotatingAxis.cpp | 6 +++--- .../structuredData/infinitePlane/infinitePlane.hpp | 6 +++--- src/phasicFlow/triSurface/triangleFunctions.hpp | 6 +++--- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/Interaction/Models/grainContactForceModels.hpp b/src/Interaction/Models/grainContactForceModels.hpp index 1b4d4cbe..50f8f05e 100755 --- a/src/Interaction/Models/grainContactForceModels.hpp +++ b/src/Interaction/Models/grainContactForceModels.hpp @@ -24,6 +24,7 @@ Licence: #include "cGAbsoluteLinearCF.hpp" #include "cGRelativeLinearCF.hpp" #include "cGNonLinearCF.hpp" +#include "cGNonLinearCF2.hpp" #include "grainRolling.hpp" @@ -42,6 +43,9 @@ using nonLimitedCGRelativeLinearGrainRolling = grainRolling>; using nonLimitedCGNonLinearGrainRolling = grainRolling>; +using limitedCGNonLinear2GrainRolling = grainRolling>; +using nonLimitedCGNonLinear2GrainRolling = grainRolling>; + } diff --git a/src/Interaction/Models/rolling/grainRolling.hpp b/src/Interaction/Models/rolling/grainRolling.hpp index 2c5c31a2..cf4139e4 100755 --- a/src/Interaction/Models/rolling/grainRolling.hpp +++ b/src/Interaction/Models/rolling/grainRolling.hpp @@ -96,10 +96,10 @@ public: realx3 w_hat = wi-wj; real w_hat_mag = length(w_hat); - if( !equal(w_hat_mag,zero) ) + if( !equal(w_hat_mag,static_cast(0.0)) ) w_hat /= w_hat_mag; else - w_hat = zero; + w_hat = static_cast(0.0); auto Reff = (Ri*Rj)/(Ri+Rj); diff --git a/src/Interaction/Models/rolling/normalRolling.hpp b/src/Interaction/Models/rolling/normalRolling.hpp index 7f9fc026..1e4ad0fb 100644 --- a/src/Interaction/Models/rolling/normalRolling.hpp +++ b/src/Interaction/Models/rolling/normalRolling.hpp @@ -94,10 +94,10 @@ public: realx3 w_hat = wi-wj; real w_hat_mag = length(w_hat); - if( !equal(w_hat_mag,zero) ) + if( !equal(w_hat_mag,static_cast(0.0)) ) w_hat /= w_hat_mag; else - w_hat = zero; + w_hat = static_cast(0.0); auto Reff = (Ri*Rj)/(Ri+Rj); diff --git a/src/Interaction/grainInteraction/grainInteractionsNonLinearModels.cpp b/src/Interaction/grainInteraction/grainInteractionsNonLinearModels.cpp index 42f0b469..8b5d1d6a 100755 --- a/src/Interaction/grainInteraction/grainInteractionsNonLinearModels.cpp +++ b/src/Interaction/grainInteraction/grainInteractionsNonLinearModels.cpp @@ -46,4 +46,4 @@ createInteraction(pFlow::cfModels::limitedCGNonLinearGrainRolling, pFlow::rotati createInteraction(pFlow::cfModels::nonLimitedCGNonLinearGrainRolling, pFlow::rotationAxisMotionGeometry); createInteraction(pFlow::cfModels::limitedCGNonLinearGrainRolling, pFlow::stationaryGeometry); -createInteraction(pFlow::cfModels::nonLimitedCGNonLinearGrainRolling, pFlow::stationaryGeometry); \ No newline at end of file +createInteraction(pFlow::cfModels::nonLimitedCGNonLinearGrainRolling, pFlow::stationaryGeometry); diff --git a/src/MotionModel/entities/rotatingAxis/rotatingAxis.cpp b/src/MotionModel/entities/rotatingAxis/rotatingAxis.cpp index 1b2a4c58..c7216411 100644 --- a/src/MotionModel/entities/rotatingAxis/rotatingAxis.cpp +++ b/src/MotionModel/entities/rotatingAxis/rotatingAxis.cpp @@ -47,7 +47,7 @@ pFlow::rotatingAxis::rotatingAxis timeInterval(), line(p1, p2), omega_(omega), - rotating_(!equal(omega,zero)) + rotating_(!equal(omega,static_cast(0.0))) { } @@ -58,7 +58,7 @@ pFlow::real pFlow::rotatingAxis::setOmega(real omega) { auto tmp = omega_; omega_ = omega; - rotating_ = !equal(omega, zero); + rotating_ = !equal(omega, static_cast(0.0)); return tmp; } @@ -72,7 +72,7 @@ bool pFlow::rotatingAxis::read if(!timeInterval::read(dict))return false; if(!line::read(dict)) return false; - real omega = dict.getValOrSet("omega", zero); + real omega = dict.getValOrSet("omega", static_cast(0.0)); setOmega(omega); return true; diff --git a/src/phasicFlow/structuredData/infinitePlane/infinitePlane.hpp b/src/phasicFlow/structuredData/infinitePlane/infinitePlane.hpp index d47a7698..dd55984c 100644 --- a/src/phasicFlow/structuredData/infinitePlane/infinitePlane.hpp +++ b/src/phasicFlow/structuredData/infinitePlane/infinitePlane.hpp @@ -112,20 +112,20 @@ public: bool inPositiveDistance(const realx3& p, real dist)const { real d = pointFromPlane(p); - return d >= zero && d <= dist; + return d >= static_cast(0.0) && d <= dist; } INLINE_FUNCTION_HD bool inNegativeDistance(const realx3& p, real dist)const { real d = pointFromPlane(p); - return d < zero && d >= -dist; + return d < static_cast(0.0) && d >= -dist; } INLINE_FUNCTION_HD bool pointOnPlane(const realx3& p)const { - return equal(pointFromPlane(p),zero); + return equal(pointFromPlane(p),static_cast(0.0)); } INLINE_FUNCTION_HD diff --git a/src/phasicFlow/triSurface/triangleFunctions.hpp b/src/phasicFlow/triSurface/triangleFunctions.hpp index 2a4cc87f..30992277 100644 --- a/src/phasicFlow/triSurface/triangleFunctions.hpp +++ b/src/phasicFlow/triSurface/triangleFunctions.hpp @@ -38,8 +38,8 @@ INLINE_FUNCTION_HD realx3 normal(const realx3& p1, const realx3& p2, const realx3& p3) { auto n = cross(p2-p1, p3-p1); - if( equal(n.length(), zero) ) - return zero3; + if( equal(n.length(), static_cast(0.0)) ) + return realx3(0); else return normalize(n); } @@ -52,7 +52,7 @@ bool valid const realx3& p3 ) { - return !equal(cross(p2-p1, p3-p1).length(), zero); + return !equal(cross(p2-p1, p3-p1).length(), static_cast(0.0)); } }