tdisable rotation with fixvel=-10 - sphere - GPU-based 3D discrete element meth… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 9c3b2327798617bfd18112c2cf55ad3ceb26fa11 | |
parent 5d9005209101adcd80126e5eac5d0d974ebb47aa | |
Author: Anders Damsgaard <[email protected]> | |
Date: Thu, 14 Apr 2022 16:02:32 +0200 | |
disable rotation with fixvel=-10 | |
Diffstat: | |
M python/sphere.py | 7 ++++++- | |
M src/integration.cuh | 6 +++++- | |
2 files changed, 11 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/python/sphere.py b/python/sphere.py | |
t@@ -120,7 +120,12 @@ class sim: | |
# The linear velocities [m/s] | |
self.vel = numpy.zeros((self.np, self.nd), dtype=numpy.float64) | |
- # Fix the particle horizontal velocities? 0: No, 1: Yes | |
+ # Fix the particle kinematics? | |
+ # 0: No (DEFAULT, don't fix linear or angular acceleration) | |
+ # 1: Yes (fix horizontal movement, allow vertical movement, disable ro… | |
+ # 10: Yes (fix horizontal movement, allow vertical movement, disable r… | |
+ # -1: Yes (fix all linear and rotational movement) | |
+ # -10: Yes (fix all rotational movement) | |
self.fixvel = numpy.zeros(self.np, dtype=numpy.float64) | |
# The linear force vectors [N] | |
diff --git a/src/integration.cuh b/src/integration.cuh | |
t@@ -150,7 +150,7 @@ __global__ void integrate( | |
angacc.z = 0.0; | |
} | |
- if (vel.w < -0.0001) { | |
+ if (vel.w < -0.0001 && vel.w > -10.0) { | |
acc.x = 0.0; | |
acc.y = 0.0; | |
acc.z = 0.0; | |
t@@ -159,6 +159,10 @@ __global__ void integrate( | |
angacc = MAKE_FLOAT4(0.0, 0.0, 0.0, 0.0); | |
} | |
+ if (vel.w <= -10.0) { | |
+ angacc = MAKE_FLOAT4(0.0, 0.0, 0.0, 0.0); | |
+ } | |
+ | |
#ifdef EULER | |
// Forward Euler | |
// Truncation error O(dt^2) for positions and velocities |