tset initial distance vector when first finding contacts - slidergrid - grid of elastic sliders on a frictional surface
 (HTM) git clone git://src.adamsgaard.dk/slidergrid
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 13fd2f5473280a782faf7f4c94dd56a0ff2a7d41
 (DIR) parent bb5690a5dfaf1895126205eceaf2f36aff4155a4
 (HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       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(-)
       ---
 (DIR) 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++;
                        }
                    }
                }
 (DIR) 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);
        }