tfix velocity stepping - sphere - GPU-based 3D discrete element method algorith… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 8969c3ac331a2d47ba81c55ff62645143ea82995 | |
parent c698b231f3331b4f61b1ac3b1c65d7738e890397 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Mon, 4 Apr 2016 09:43:05 -0700 | |
fix velocity stepping | |
Diffstat: | |
M output/cube-init.status.dat | 2 +- | |
M src/device.cu | 9 +++++++-- | |
2 files changed, 8 insertions(+), 3 deletions(-) | |
--- | |
diff --git a/output/cube-init.status.dat b/output/cube-init.status.dat | |
t@@ -1 +1 @@ | |
-4.2000e+00 7.0000e+01 21 | |
+5.0000e+00 8.3333e+01 25 | |
diff --git a/src/device.cu b/src/device.cu | |
t@@ -943,6 +943,7 @@ __host__ void DEM::startTime() | |
double t_ratio; // ration between time flow in model vs. reality | |
// Hard-coded parameters for stepwise velocity change | |
+ int velocity_state = 1; // 1: v1, 2: v2 | |
int change_velocity_state = 0; // 1: increase velocity, 2: decrease vel. | |
const Float velocity_factor = 1.1; // v2 = v1*velocity_factor | |
const Float v2_start = 5.0; // seconds | |
t@@ -2346,10 +2347,14 @@ __host__ void DEM::startTime() | |
} | |
// Determine whether it is time to step the velocity | |
- if (time.current >= v2_start && time.current < v2_end) | |
+ if (time.current >= v2_start && time.current < v2_end && | |
+ velocity_state == 1) { | |
change_velocity_state = 1.0; | |
- else if (time.current >= 10.0) | |
+ velocity_state = 2; | |
+ } else if (time.current >= 10.0 && velocity_state == 2) { | |
change_velocity_state = -1.0; | |
+ velocity_state = 1; | |
+ } | |
// Update particle kinematics | |
if (PROFILING == 1) |