URI: 
       tthe contact velocity should use normal vector instead of distance vector - slidergrid - grid of elastic sliders on a frictional surface
  HTML git clone git://src.adamsgaard.dk/slidergrid
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 7226d7854eb5fe81d9ea7c55f6bf134a462991c9
   DIR parent 40de282160ee90a414a91f45c48f1a8bfd2bd6bc
  HTML Author: Anders Damsgaard Christensen <adc@geo.au.dk>
       Date:   Wed, 20 Apr 2016 11:24:44 -0700
       
       tthe contact velocity should use normal vector instead of distance vector
       
       Diffstat:
         M doc/doc.pdf                         |       0 
         M doc/doc.tex                         |      39 +++++++++++++++++++++++++------
         M slidergrid/slider.c                 |       6 +++---
       
       3 files changed, 35 insertions(+), 10 deletions(-)
       ---
   DIR diff --git a/doc/doc.pdf b/doc/doc.pdf
       Binary files differ.
   DIR diff --git a/doc/doc.tex b/doc/doc.tex
       t@@ -13,7 +13,7 @@
        %\usepackage{float}
        %\usepackage{subfig}
        %\usepackage{rotating}
       -%\usepackage{amsmath}
       +\usepackage{amsmath}
        
        \usepackage[T1]{fontenc} % Font encoding
        \usepackage{charter} % Serif body font
       t@@ -50,15 +50,40 @@ of Oceanography\\University of California, San Diego}\\[3mm] Last revision:
        \section{Methods}
        The Lagrangian points are connected with visco-elastic beams which are resistive 
        to relative translational or rotational movement between a pair of bonded 
       -points.  The bond deformation in each degree of freedom is determined by an 
       -incremental method, derived from \citet{Potyondy2004}, and used to determine the 
       -resistive forces.  The interaction can be decomposed into bond tension and 
       -compression, bond shearing, bond twisting, and bond bending.  These components 
       -are independent and can be determined individually.  The generated forces are 
       -added to the force and torque balance on each point.
       +points.  At the beginning of each time step the accumulated strain on each 
       +inter-point bond is determined by considering the relative motion of the bonded 
       +points.  The bond deformation is decomposed per kinematic degree of freedom, 
       +andis determined by an incremental method derived from \citet{Potyondy2004}.  
       +The strain can be decomposed into bond tension and compression, bond shearing, 
       +bond twisting, and bond bending.  The accumulated strains are used to determine 
       +the magnitude of the forces and torques resistive to the deformation.
       +
       +The deformation and reactive forces are determined relative to the orientation 
       +of the bond.  Common geometrical vectors include the inter-distance vector 
       +$\boldsymbol{d}$ between points $\boldsymbol{p}_i$ and $\boldsymbol{p}_j$:
       +\begin{equation}
       +    \boldsymbol{d}_{i,j} = \boldsymbol{p}_i - \boldsymbol{p}_j
       +\end{equation}
       +which in normalized form constitutes the bond-parallel normal vector:
       +\begin{equation}
       +    \boldsymbol{n}_{i,j} = \frac{\boldsymbol{d}_{i,j}}{||\boldsymbol{d}_{i,j}||}
       +\end{equation}
       +
       +The points are moving by translational and rotational velocities.  The combined 
       +relative velocity between the points is found as \citep{Hinrichsen2004, 
       +    Luding2008}:
       +\begin{equation}
       +    \boldsymbol{v}_{i,j} = \boldsymbol{v}_i - \boldsymbol{v}_j +
       +    \frac{||d_{i,j}||}{2} d_{i,j} \times \omega_i +
       +    \frac{||d_{i,j}||}{2} d_{i,j} \times \omega_j
       +\end{equation}
       +
       +
       +
        
        \subsection{Bond tension and compression}
        
       +
        \subsection{Bond shear}
        
        \subsection{Bond twist}
   DIR diff --git a/slidergrid/slider.c b/slidergrid/slider.c
       t@@ -218,9 +218,9 @@ void bond_shear_deformation(slider* s1, const slider s2,
            const Float3 vel = add_float3(vel_linear,
                    add_float3(
                        multiply_scalar_float3(dist_norm/2.,
       -                    cross_float3(dist, s1->angvel)),
       +                    cross_float3(n, s1->angvel)),
                        multiply_scalar_float3(dist_norm/2.,
       -                    cross_float3(dist, s2.angvel))));
       +                    cross_float3(n, s2.angvel))));
        
            // Tangential component of the relative contact interface velocity
            // Hinrichsen and Wolf 2004, eq. 13.9
       t@@ -509,7 +509,7 @@ void bond_twist_kelvin_voigt(slider* s1, const slider s2,
            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,
       +    const Float3 torque = multiply_scalar_float3( -1.0,
                        cross_float3(
                            multiply_float3_scalar(
                                s1->neighbor_distance[idx_neighbor], 0.5),