tset initial distance vector when first finding contacts - slidergrid - grid of… | |
git clone git://src.adamsgaard.dk/slidergrid | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 13fd2f5473280a782faf7f4c94dd56a0ff2a7d41 | |
parent bb5690a5dfaf1895126205eceaf2f36aff4155a4 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Tue, 22 Mar 2016 14:57:50 -0700 | |
set initial distance vector when first finding contacts | |
Diffstat: | |
M slidergrid/grid.c | 4 +++- | |
M slidergrid/slider.c | 3 +++ | |
2 files changed, 6 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/slidergrid/grid.c b/slidergrid/grid.c | |
t@@ -59,11 +59,13 @@ void find_and_bond_to_neighbors_n2( | |
#endif | |
if (dist_norm < cutoff) { | |
- sliders[i].neighbors[n_neighbors++] = j; | |
+ sliders[i].neighbors[n_neighbors] = j; | |
+ sliders[i].neighbor_distance[n_neighbors] = dist; | |
if (n_neighbors == MAX_NEIGHBORS - 1) | |
fprintf(stderr, "Error: MAX_NEIGHBORS exceeded for " | |
"slider %d.\n", i); | |
+ n_neighbors++; | |
} | |
} | |
} | |
diff --git a/slidergrid/slider.c b/slidergrid/slider.c | |
t@@ -152,6 +152,7 @@ void slider_displacement(slider* s1, const slider s2, | |
// read previous inter-slider distance vector | |
const Float3 dist0 = s1->neighbor_distance[idx_neighbor]; | |
+ // determine projected future displacement | |
const Float3 dist_future = subtract_float3(s1->pos_future, s2.pos_future); | |
// increment in inter-slider distance, divide by two to get displacement | |
t@@ -177,6 +178,8 @@ void slider_displacement(slider* s1, const slider s2, | |
// total relative displacement in inter-slider distance | |
s1->neighbor_relative_distance_velocity[idx_neighbor] = | |
multiply_float3_scalar(n, vel_n); | |
+ | |
+ printf("displacement = %f %f %f\n", ddist.x, ddist.y, ddist.z); | |
} | |