Introduction
Introduction Statistics Contact Development Disclaimer Help
tenable shear resisting forces - slidergrid - grid of elastic sliders on a fric…
git clone git://src.adamsgaard.dk/slidergrid
Log
Files
Refs
README
LICENSE
---
commit 0098826894734f6e3f5db2e76a707860f42c8c7e
parent bb119cc1c3bf9c0fe083b7137eadd76e39f0d0f5
Author: Anders Damsgaard <[email protected]>
Date: Tue, 5 Apr 2016 14:16:13 -0700
enable shear resisting forces
Diffstat:
M slidergrid/main.c | 3 ++-
M slidergrid/slider.c | 47 ++++++++++++++++-------------…
M slidergrid/slider.h | 3 ++-
M tests/elasticity/normal.c | 2 +-
4 files changed, 29 insertions(+), 26 deletions(-)
---
diff --git a/slidergrid/main.c b/slidergrid/main.c
t@@ -154,7 +154,8 @@ int main(int argc, char** argv)
&sim.sliders[i],
sim.sliders,
sim.N,
- sim.iteration);
+ sim.iteration,
+ sim.dt);
#ifdef DEBUG_SLIDER_FORCE_TORQUE_AND_NEIGHBORS
int j;
diff --git a/slidergrid/slider.c b/slidergrid/slider.c
t@@ -251,10 +251,10 @@ void bond_normal_deformation(slider* s1, const slider s2,
// Find the bond deformation
void bond_deformation(slider* s1, const slider s2,
- const int idx_neighbor, const int iteration)
+ const int idx_neighbor, const int iteration, const Float dt)
{
bond_parallel_deformation(s1, s2, idx_neighbor, iteration);
- //bond_normal_deformation(s1, s2, idx_neighbor, iteration);
+ bond_normal_deformation(s1, s2, idx_neighbor, iteration, dt);
}
t@@ -322,34 +322,34 @@ void bond_shear_kelvin_voigt(slider* s1, const slider s2,
+ 1.0e-40);
// bond-parallel Kelvin-Voigt elasticity
- const Float3 f_n_elastic =
+ const Float3 f_t_elastic =
multiply_scalar_float3(bond_shear_kv_stiffness,
- s1->neighbor_relative_distance_displacement[idx_neighbor]);
+ s1->neighbor_relative_tangential_displacement[idx_neighbor]);
// bond-parallel Kelvin-Voigt viscosity
- const Float3 f_n_viscous =
+ const Float3 f_t_viscous =
multiply_scalar_float3(bond_shear_kv_viscosity,
- s1->neighbor_relative_distance_velocity[idx_neighbor]);
+ s1->neighbor_relative_tangential_velocity[idx_neighbor]);
// bond-parallel Kelvin-Voigt force, counteracts tension and compression
- const Float3 f_n = multiply_scalar_float3(-1.0,
- add_float3(f_n_elastic, f_n_viscous));
+ const Float3 f_t = multiply_scalar_float3(-1.0,
+ add_float3(f_t_elastic, f_t_viscous));
// add bond-parallel Kelvin-Voigt force to sum of forces on slider
- s1->force = add_float3(s1->force, f_n);
+ s1->force = add_float3(s1->force, f_t);
#ifdef DEBUG_SLIDER_FORCE_COMPONENTS
- printf("slider_interaction KV-shear: f_n = %f %f %f, "
- "f_n_elastic = %f %f %f, f_n_viscous = %f %f %f\n",
- f_n.x,
- f_n.y,
- f_n.z,
- f_n_elastic.x,
- f_n_elastic.y,
- f_n_elastic.z,
- f_n_viscous.x,
- f_n_viscous.y,
- f_n_viscous.z);
+ printf("slider_interaction KV-shear: f_t = %f %f %f, "
+ "f_t_elastic = %f %f %f, f_t_viscous = %f %f %f\n",
+ f_t.x,
+ f_t.y,
+ f_t.z,
+ f_t_elastic.x,
+ f_t_elastic.y,
+ f_t_elastic.z,
+ f_t_viscous.x,
+ f_t_viscous.y,
+ f_t_viscous.z);
#endif
}
t@@ -358,7 +358,7 @@ void bond_shear_kelvin_voigt(slider* s1, const slider s2,
void slider_interaction(slider* s1, const slider s2, const int idx_neighbor)
{
bond_parallel_kelvin_voigt(s1, s2, idx_neighbor);
- //bond_normal_kelvin_voigt(s1, s2, idx_neighbor);
+ bond_shear_kelvin_voigt(s1, s2, idx_neighbor);
}
t@@ -367,7 +367,8 @@ void slider_neighbor_interaction(
slider* s,
const slider* sliders,
const int N,
- const int iteration)
+ const int iteration,
+ const Float dt)
{
int idx_neighbor;
for (idx_neighbor=0; idx_neighbor<MAX_NEIGHBORS; idx_neighbor++) {
t@@ -384,7 +385,7 @@ void slider_neighbor_interaction(
bond_deformation(
s, sliders[s->neighbors[idx_neighbor]],
- idx_neighbor, iteration);
+ idx_neighbor, iteration, dt);
/*printf("- %d: rel_disp = %f %f %f\n",
idx_neighbor,
diff --git a/slidergrid/slider.h b/slidergrid/slider.h
t@@ -69,7 +69,8 @@ void slider_neighbor_interaction(
slider* s,
const slider* sliders,
const int N,
- const int iteration);
+ const int iteration,
+ const Float dt);
void slider_viscous_damping(slider* s);
void slider_nonviscous_damping(slider* s);
diff --git a/tests/elasticity/normal.c b/tests/elasticity/normal.c
t@@ -39,7 +39,7 @@ simulation setup_simulation()
// set temporal parameters
sim.time = 0.0;
- sim.time_end = 1000.0;
+ sim.time_end = 100.0;
sim.file_interval = 1.0;
return sim;
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.