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