Introduction
Introduction Statistics Contact Development Disclaimer Help
tadd Kelvin-Voigt parameters for twist and bending - slidergrid - grid of elast…
git clone git://src.adamsgaard.dk/slidergrid
Log
Files
Refs
README
LICENSE
---
commit 7394876c00fe2230bb855621da3aa936ddd35baf
parent bbf7010bcf7ceae41f9d8bf35c2f7d1f1e66ae78
Author: Anders Damsgaard Christensen <[email protected]>
Date: Tue, 19 Apr 2016 12:09:55 -0700
add Kelvin-Voigt parameters for twist and bending
Diffstat:
M slidergrid/slider.c | 35 +++++++++++++++++------------…
M slidergrid/slider.h | 8 ++++++++
2 files changed, 27 insertions(+), 16 deletions(-)
---
diff --git a/slidergrid/slider.c b/slidergrid/slider.c
t@@ -32,6 +32,12 @@ void initialize_slider_values(slider* s)
s->bond_shear_kv_stiffness = 0.0;
s->bond_shear_kv_viscosity = 0.0;
+ s->bond_twist_kv_stiffness = 0.0;
+ s->bond_twist_kv_viscosity = 0.0;
+
+ s->bond_bend_kv_stiffness = 0.0;
+ s->bond_bend_kv_viscosity = 0.0;
+
s->damping_viscosity_linear = 0.0;
s->damping_viscosity_angular = 0.0;
s->damping_coefficient = 0.0;
t@@ -479,31 +485,28 @@ void bond_shear_kelvin_voigt(slider* s1, const slider s2,
void bond_twist_kelvin_voigt(slider* s1, const slider s2,
const int idx_neighbor)
{
- // determine the bond-shear KV stiffness from the harmonic mean.
- const Float bond_shear_kv_stiffness =
- 2.*s1->bond_shear_kv_stiffness*s2.bond_shear_kv_stiffness/
- (s1->bond_shear_kv_stiffness + s2.bond_shear_kv_stiffness
+ // determine the bond-twist KV stiffness from the harmonic mean.
+ const Float bond_twist_kv_stiffness =
+ 2.*s1->bond_twist_kv_stiffness*s2.bond_twist_kv_stiffness/
+ (s1->bond_twist_kv_stiffness + s2.bond_twist_kv_stiffness
+ 1.0e-40);
- // determine the bond-shear KV viscosity from the harmonic mean.
- const Float bond_shear_kv_viscosity =
- 2.*s1->bond_shear_kv_viscosity*s2.bond_shear_kv_viscosity/
- (s1->bond_shear_kv_viscosity + s2.bond_shear_kv_viscosity
+ // determine the bond-twist KV viscosity from the harmonic mean.
+ const Float bond_twist_kv_viscosity =
+ 2.*s1->bond_twist_kv_viscosity*s2.bond_twist_kv_viscosity/
+ (s1->bond_twist_kv_viscosity + s2.bond_twist_kv_viscosity
+ 1.0e-40);
// bond-parallel Kelvin-Voigt elasticity
- const Float3 m_n_elastic =
- multiply_scalar_float3(bond_shear_kv_stiffness,
- s1->neighbor_relative_twist[idx_neighbor]);
+ const Float m_n_elastic = bond_twist_kv_stiffness
+ *s1->neighbor_relative_twist[idx_neighbor];
// bond-parallel Kelvin-Voigt viscosity
- const Float3 m_n_viscous =
- multiply_scalar_float3(bond_shear_kv_viscosity,
- s1->neighbor_relative_twist_velocity[idx_neighbor]);
+ const Float m_n_viscous = bond_twist_kv_viscosity
+ *s1->neighbor_relative_twist_velocity[idx_neighbor];
// bond-parallel Kelvin-Voigt moment, counteracts twisting
- const Float3 m_n = multiply_scalar_float3( -1.0,
- add_float3(m_n_elastic, m_n_viscous));
+ const Float m_n = -1.0*(m_n_elastic + m_n_viscous);
// determine torque on slider from shear on this bond
/*const Float3 torque = multiply_scalar_float3( -1.0,
diff --git a/slidergrid/slider.h b/slidergrid/slider.h
t@@ -39,6 +39,14 @@ typedef struct {
Float bond_shear_kv_stiffness; // Hookean elastic stiffness [N/m]
Float bond_shear_kv_viscosity; // viscosity [N/(m*s)]
+ // inter-slider bond-twist Kelvin-Voigt contact model parameters
+ Float bond_twist_kv_stiffness; // Hookean elastic stiffness [N/m]
+ Float bond_twist_kv_viscosity; // viscosity [N/(m*s)]
+
+ // inter-slider bond-bend Kelvin-Voigt contact model parameters
+ Float bond_bend_kv_stiffness; // Hookean elastic stiffness [N/m]
+ Float bond_bend_kv_viscosity; // viscosity [N/(m*s)]
+
// Damping parameters
Float damping_viscosity_linear; // Linear velocity damping [N/(m/s)]
Float damping_viscosity_angular; // Angular velocity damping [N*m/(rad/s)]
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.