tinitialize constants to double precision, clean up after test - sphere - GPU-b… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit b528d4d01d9a1c17ed5e9a86ec8d7dbd76083063 | |
parent 21ed15ef593a831b2124a48bbc662b9a227f85ac | |
Author: Anders Damsgaard <[email protected]> | |
Date: Mon, 11 Aug 2014 14:47:58 +0200 | |
initialize constants to double precision, clean up after test | |
Diffstat: | |
M src/contactsearch.cuh | 47 ++++++++++++++++++++---------… | |
M tests/fluid_particle_interaction.py | 2 +- | |
2 files changed, 32 insertions(+), 17 deletions(-) | |
--- | |
diff --git a/src/contactsearch.cuh b/src/contactsearch.cuh | |
t@@ -466,15 +466,15 @@ __global__ void interact( | |
//uint4 bonds = dev_bonds_sorted[idx_a]; | |
// Initiate shear friction loss rate at 0.0 | |
- Float es_dot = 0.0f; | |
- Float ev_dot = 0.0f; | |
+ Float es_dot = 0.0; | |
+ Float ev_dot = 0.0; | |
// Initiate pressure on particle at 0.0 | |
- Float p = 0.0f; | |
+ Float p = 0.0; | |
// Allocate memory for temporal force/torque vector values | |
- Float3 F = MAKE_FLOAT3(0.0f, 0.0f, 0.0f); | |
- Float3 T = MAKE_FLOAT3(0.0f, 0.0f, 0.0f); | |
+ Float3 F = MAKE_FLOAT3(0.0, 0.0, 0.0); | |
+ Float3 T = MAKE_FLOAT3(0.0, 0.0, 0.0); | |
// Apply linear elastic, frictional contact model to registered contac… | |
if (devC_params.contactmodel == 2 || devC_params.contactmodel == 3) { | |
t@@ -484,7 +484,8 @@ __global__ void interact( | |
Float4 x_b, distmod; | |
Float4 vel_a = dev_vel_sorted[idx_a]; | |
Float4 angvel4_a = dev_angvel_sorted[idx_a]; | |
- Float3 angvel_a = MAKE_FLOAT3(angvel4_a.x, angvel4_a.y, angvel4_a… | |
+ Float3 angvel_a = MAKE_FLOAT3( | |
+ angvel4_a.x, angvel4_a.y, angvel4_a.z); | |
// Loop over all possible contacts, and remove contacts | |
// that no longer are valid (delta_n > 0.0) | |
t@@ -608,8 +609,9 @@ __global__ void interact( | |
w_n = MAKE_FLOAT3(w_0_nx.x, w_0_nx.y, w_0_nx.z); | |
if (delta_w < 0.0f) { | |
w_0_force = contactLinear_wall(&F, &T, &es_dot, &ev_dot, &p, idx_a, | |
- radius_a, dev_vel_sorted, dev_angve… | |
- w_0_mvfd.y); | |
+ radius_a, dev_vel_sorted, | |
+ dev_angvel_sorted, w_n, | |
+ delta_w, w_0_mvfd.y); | |
} | |
// Lower wall (force on wall not stored) | |
t@@ -617,8 +619,9 @@ __global__ void interact( | |
w_n = MAKE_FLOAT3(0.0f, 0.0f, 1.0f); | |
if (delta_w < 0.0f) { | |
(void)contactLinear_wall(&F, &T, &es_dot, &ev_dot, &p, idx_a, | |
- radius_a, dev_vel_sorted, dev_angvel_sort… | |
- w_n, delta_w, 0.0f); | |
+ radius_a, dev_vel_sorted, | |
+ dev_angvel_sorted, w_n, delta_w, | |
+ 0.0); | |
} | |
t@@ -629,7 +632,9 @@ __global__ void interact( | |
w_n = MAKE_FLOAT3(w_1_nx.x, w_1_nx.y, w_1_nx.z); | |
if (delta_w < 0.0f) { | |
w_1_force = contactLinear_wall(&F, &T, &es_dot, &ev_dot, &p, | |
- idx_a, radius_a, dev_vel_sorted… | |
+ idx_a, radius_a, | |
+ dev_vel_sorted, | |
+ dev_angvel_sorted, w_n, | |
delta_w, w_1_mvfd.y); | |
} | |
t@@ -638,7 +643,9 @@ __global__ void interact( | |
w_n = MAKE_FLOAT3(w_2_nx.x, w_2_nx.y, w_2_nx.z); | |
if (delta_w < 0.0f) { | |
w_2_force = contactLinear_wall(&F, &T, &es_dot, &ev_dot, &p, | |
- idx_a, radius_a, dev_vel_sorted… | |
+ idx_a, radius_a, | |
+ dev_vel_sorted, | |
+ dev_angvel_sorted, w_n, | |
delta_w, w_2_mvfd.y); | |
} | |
t@@ -647,7 +654,9 @@ __global__ void interact( | |
w_n = MAKE_FLOAT3(w_3_nx.x, w_3_nx.y, w_3_nx.z); | |
if (delta_w < 0.0f) { | |
w_3_force = contactLinear_wall(&F, &T, &es_dot, &ev_dot, &p, | |
- idx_a, radius_a, dev_vel_sorted… | |
+ idx_a, radius_a, | |
+ dev_vel_sorted, | |
+ dev_angvel_sorted, w_n, | |
delta_w, w_3_mvfd.y); | |
} | |
t@@ -656,7 +665,9 @@ __global__ void interact( | |
w_n = MAKE_FLOAT3(w_4_nx.x, w_4_nx.y, w_4_nx.z); | |
if (delta_w < 0.0f) { | |
w_4_force = contactLinear_wall(&F, &T, &es_dot, &ev_dot, &p, | |
- idx_a, radius_a, dev_vel_sorted… | |
+ idx_a, radius_a, | |
+ dev_vel_sorted, | |
+ dev_angvel_sorted, w_n, | |
delta_w, w_4_mvfd.y); | |
} | |
t@@ -667,7 +678,9 @@ __global__ void interact( | |
w_n = MAKE_FLOAT3(w_3_nx.x, w_3_nx.y, w_3_nx.z); | |
if (delta_w < 0.0f) { | |
w_3_force = contactLinear_wall(&F, &T, &es_dot, &ev_dot, &p, | |
- idx_a, radius_a, dev_vel_sorted… | |
+ idx_a, radius_a, | |
+ dev_vel_sorted, | |
+ dev_angvel_sorted, w_n, | |
delta_w, w_3_mvfd.y); | |
} | |
t@@ -676,7 +689,9 @@ __global__ void interact( | |
w_n = MAKE_FLOAT3(w_4_nx.x, w_4_nx.y, w_4_nx.z); | |
if (delta_w < 0.0f) { | |
w_4_force = contactLinear_wall(&F, &T, &es_dot, &ev_dot, &p, | |
- idx_a, radius_a, dev_vel_sorted… | |
+ idx_a, radius_a, | |
+ dev_vel_sorted, | |
+ dev_angvel_sorted, w_n, | |
delta_w, w_4_mvfd.y); | |
} | |
} | |
diff --git a/tests/fluid_particle_interaction.py b/tests/fluid_particle_interac… | |
t@@ -50,4 +50,4 @@ test(sim.vel[0,0] > 0.0, 'Particle 0 velocity:') | |
test(sim.vel[1,0] > 0.0, 'Particle 1 velocity:') | |
test(sim.vel[2,0] > 0.0, 'Particle 2 velocity:') | |
-#sim.cleanup() | |
+sim.cleanup() |