| 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 |