tAdded wall viscosities to wall contact model, added static/dynamic frictions -… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit f07848d9a5dda616d45ce0e8fe5696882370b9fc | |
parent af2de06847aae3374f42f0ba99feeb25149ae8dc | |
Author: Anders Damsgaard <[email protected]> | |
Date: Wed, 31 Oct 2012 08:57:19 +0100 | |
Added wall viscosities to wall contact model, added static/dynamic frictions | |
Diffstat: | |
M src/contactmodels.cuh | 13 ++++++++++--- | |
1 file changed, 10 insertions(+), 3 deletions(-) | |
--- | |
diff --git a/src/contactmodels.cuh b/src/contactmodels.cuh | |
t@@ -44,7 +44,7 @@ __device__ Float contactLinear_wall(Float3* F, Float3* T, Fl… | |
//Float3 f_n = -devC_params.k_n * delta * n; | |
// Normal force component: Elastic - viscous damping | |
- Float3 f_n = (-devC_params.k_n * delta - devC_params.gamma_n * vel_n) * n; | |
+ Float3 f_n = (-devC_params.k_n * delta - devC_params.gamma_wn * vel_n) * n; | |
// Make sure the viscous damping doesn't exceed the elastic component, | |
// i.e. the damping factor doesn't exceed the critical damping, 2*sqrt(m*k_n) | |
t@@ -61,8 +61,15 @@ __device__ Float contactLinear_wall(Float3* F, Float3* T, F… | |
// divide by zero (producing a NaN) | |
if (vel_t_length > 0.f) { | |
- Float f_t_visc = devC_params.gamma_t * vel_t_length; // Tangential force … | |
- Float f_t_limit = devC_params.mu_s * f_n_length; // Max. friction | |
+ Float f_t_visc = devC_params.gamma_wt * vel_t_length; // Tangential force… | |
+ | |
+ // Determine max. friction | |
+ Float f_t_limit; | |
+ if (vel_t_length > 0.001f) { // Dynamic | |
+ f_t_limit = devC_params.mu_rd * f_n_length; | |
+ } else { // Static | |
+ f_t_limit = devC_params.mu_rs * f_n_length; | |
+ } | |
// If the shear force component exceeds the friction, | |
// the particle slips and energy is dissipated |