tthe contact velocity should use normal vector instead of distance vector - sli… | |
git clone git://src.adamsgaard.dk/slidergrid | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 7226d7854eb5fe81d9ea7c55f6bf134a462991c9 | |
parent 40de282160ee90a414a91f45c48f1a8bfd2bd6bc | |
Author: Anders Damsgaard Christensen <[email protected]> | |
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(-) | |
--- | |
diff --git a/doc/doc.pdf b/doc/doc.pdf | |
Binary files differ. | |
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}\\[3m… | |
\section{Methods} | |
The Lagrangian points are connected with visco-elastic beams which are resisti… | |
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 t… | |
-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 bonde… | |
+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 determin… | |
+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 combine… | |
+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} | |
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), |