tRemoved rolling radius, substituted with radius_a - sphere - GPU-based 3D disc… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 507464b4e3dc102985c1490e416d5ee0da7925f0 | |
parent 4bd862bc4ff2de3e91848eada8ce04ef62fa2888 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Sun, 30 Sep 2012 21:51:47 +0200 | |
Removed rolling radius, substituted with radius_a | |
Diffstat: | |
M src/contactmodels.cuh | 15 ++++++++++----- | |
1 file changed, 10 insertions(+), 5 deletions(-) | |
--- | |
diff --git a/src/contactmodels.cuh b/src/contactmodels.cuh | |
t@@ -155,7 +155,7 @@ __device__ void contactLinearViscous(Float3* F, Float3* T,… | |
//Float k_n_ab = k_n_a * k_n_b / (k_n_a + k_n_b); | |
// Calculate rolling radius | |
- Float R_bar = (radius_a + radius_b) / 2.0f; | |
+ //Float R_bar = (radius_a + radius_b) / 2.0f; | |
// Normal force component: linear-elastic approximation (Augier 2009, eq. 3) | |
// with velocity dependant damping | |
t@@ -235,7 +235,8 @@ __device__ void contactLinearViscous(Float3* F, Float3* T,… | |
// Add force components from this collision to total force for particle | |
*F += f_n + f_t + f_c; | |
- *T += -R_bar * cross(n_ab, f_t) + T_res; | |
+ //*T += -R_bar * cross(n_ab, f_t) + T_res; | |
+ *T += -radius_a * cross(n_ab, f_t) + T_res; | |
// Pressure excerted onto the particle from this contact | |
*p += f_n_length / (4.0f * PI * radius_a*radius_a); | |
t@@ -313,7 +314,7 @@ __device__ void contactLinear(Float3* F, Float3* T, | |
//Float k_n_ab = k_n_a * k_n_b / (k_n_a + k_n_b); | |
// Calculate rolling radius | |
- Float R_bar = (radius_a + radius_b) / 2.0f; | |
+ //Float R_bar = (radius_a + radius_b) / 2.0f; | |
// Normal force component: Elastic | |
//f_n = -devC_k_n * delta_ab * n_ab; | |
t@@ -390,14 +391,18 @@ __device__ void contactLinear(Float3* F, Float3* T, | |
//T_res = -angvel_ab/angvel_ab_length * devC_mu_r * R_bar * length(f_n); | |
// New rolling resistance model | |
- T_res = -1.0f * fmin(devC_gamma_r * R_bar * angvel_ab_length, | |
+ /*T_res = -1.0f * fmin(devC_gamma_r * R_bar * angvel_ab_length, | |
devC_mu_r * R_bar * f_n_length) | |
+ * angvel_ab/angvel_ab_length;*/ | |
+ T_res = -1.0f * fmin(devC_gamma_r * radius_a * angvel_ab_length, | |
+ devC_mu_r * radius_a * f_n_length) | |
* angvel_ab/angvel_ab_length; | |
} | |
// Add force components from this collision to total force for particle | |
*F += f_n + f_t + f_c; | |
- *T += -R_bar * cross(n_ab, f_t) + T_res; | |
+ //*T += -R_bar * cross(n_ab, f_t) + T_res; | |
+ *T += -radius_a * cross(n_ab, f_t) + T_res; | |
// Pressure excerted onto the particle from this contact | |
*p += f_n_length / (4.0f * PI * radius_a*radius_a); |