You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adhesion simulates the sticking interaction between surfaces, such as glue bonding or material contact.
4
-
Provides functionality to compute normal adhesion (perpendicular forces) and tangential adhesion (parallel forces).
2
+
========
3
+
4
+
Adhesion simulates the sticking interaction between surfaces, such as glue bonding or material contact.
5
+
6
+
We provide functionality to compute normal adhesion (perpendicular forces) and tangential adhesion (parallel forces) using the model of :cite:`Fang2023AugmentedStickyInteractions`.
5
7
6
8
Normal Adhesion
7
-
^^^^^^^^^^^^^^^
9
+
---------------
8
10
9
-
For a given distance :math:`d`:
11
+
The normal adhesion potential models the attraction force based on the distance between two surfaces.
12
+
13
+
.. math::
14
+
A_n(\mathbf{x}) = \sum_{k \in C} a(d_k(\mathbf{x}); \hat{d}_p, \hat{d}_a, Y, \epsilon_c)
The normal adhesion potential models the attraction force based on the distance between two surfaces.
32
+
- :math:`\hat{d}_p` (``dhat_p``) is the threshold distance for adhesion (in units of distance) where the largest adhesion force is applied
33
+
- :math:`\hat{d}_a` (``dhat_a``) is the adhesion activation distance (in units of distance), representing the maximum range where adhesion forces are active
34
+
- :math:`Y` (``Y``) is the adhesion stiffness (in units of stress, such as Young's modulus), controlling the intensity of adhesion forces
35
+
- :math:`\epsilon_c` (``eps_c``) is the adhesion coefficient (unitless) that defines the critical strain at which adhesion forces decrease
27
36
28
-
Here dhat_p (:math:\hat{d}_p) is the threshold distance for adhesion (in units of distance) where the largest adhesion force is applied.
29
-
Here dhat_a (:math:\hat{d}_a) is the adhesion activation distance (in units of distance), representing the maximum range where adhesion forces are active.
30
-
Here Y (:math:Y) is the adhesion stiffness (in units of stress, such as Young's modulus), controlling the intensity of adhesion forces.
31
-
Here eps_c (:math:\epsilon_c) is the adhesion coefficient (unitless) that defines the critical strain at which adhesion forces decrease.
37
+
We can build a normal adhesion potential object and compute the adhesion potential for a given set of normal collisions.
32
38
33
39
.. md-tab-set::
34
40
@@ -41,8 +47,8 @@ Here eps_c (:math:\epsilon_c) is the adhesion coefficient (unitless) that define
41
47
const double Y = 1e3;
42
48
const double eps_c = 0.5;
43
49
44
-
const NormalAdhesionPotential A(dhat_p, dhat_a, Y, eps_c)
where :math:`C` is the lagged collisions, :math:`\lambda_k^a` is the normal adhesion force magnitude for the :math:`k`-th collision, :math:`\mathbf{T}_k` is the tangential basis for the :math:`k`-th collision, and :math:`f_0^a` is the smooth tangential adhesion function used to approximate the non-smooth transition from sticking to sliding.
97
101
98
-
- If :math:`x \geq2\varepsilon_a`:
102
+
For relative displacement magnitude :math:`y`:
99
103
100
-
.. math::
101
-
A_t(x) = \frac{4\varepsilon_a}{3}
104
+
.. math::
105
+
f_0^a(y) = \begin{cases}
106
+
-\frac{y^3}{3\epsilon_a^2} + \frac{y^2}{\epsilon_a} & 0 < y < 2\epsilon_a \\
107
+
\frac{4\epsilon_a}{3} & 2\epsilon_a \leq y
108
+
\end{cases}
102
109
103
-
Here ``eps_a`` (:math:`\epsilon_a`) is the adhesion threshold (in units of displacement) used to smoothly transition.
110
+
where :math:`\epsilon_a` (``eps_a``) is the adhesion threshold (in units of displacement) used to smoothly transition from sticking to sliding.
111
+
112
+
We can build a tangential adhesion potential object and compute the adhesion potential for a given set of tangential collisions.
104
113
105
114
.. md-tab-set::
106
115
@@ -109,16 +118,16 @@ Here ``eps_a`` (:math:`\epsilon_a`) is the adhesion threshold (in units of displ
where :math:`x` is our deformed vertex positions, :math:`C` is the active collisions, :math:`d_k` is the distance (squared) of the :math:`k`-th active collision, and :math:`b` is IPC's C2-clamped log-barrier function.
137
+
where :math:`\mathbf{x}` is our deformed vertex positions, :math:`C` is the active collisions, :math:`d_k` is the distance (squared) of the :math:`k`-th active collision, and :math:`b` is IPC's C2-clamped log-barrier function.
138
138
139
139
.. note::
140
140
This is **not** premultiplied by the barrier stiffness :math:`\kappa`.
@@ -392,14 +392,14 @@ Now we can compute the friction dissipative potential using the ``FrictionPotent
Here ``eps_v`` (:math:`\epsilon_v`) is the static friction threshold (in units of velocity) used to smoothly transition from dynamic to static friction.
@@ -408,18 +408,18 @@ Here ``eps_v`` (:math:`\epsilon_v`) is the static friction threshold (in units o
408
408
The friction potential is a function of the velocities rather than the positions. We can compute the velocities directly from the current and previous position(s) based on our time-integration scheme. For example, if we are using backward Euler integration, then the velocity is
409
409
410
410
.. math::
411
-
v = \frac{x - x^t}{h},
411
+
\mathbf{v} = \frac{\mathbf{x} - \mathbf{x}^t}{h},
412
412
413
-
where :math:`x` is the current position, :math:`x^t` is the previous position, and :math:`h` is the time step size.
413
+
where :math:`\mathbf{x}` is the current position, :math:`\mathbf{x}^t` is the previous position, and :math:`h` is the time step size.
414
414
415
415
This returns a scalar value ``friction_potential`` which is the sum of the individual friction potentials.
where :math:`C` is the lagged collisions, :math:`\lambda_k^n` is the normal force magnitude for the :math:`k`-th collision, :math:`T_k` is the tangential basis for the :math:`k`-th collision, and :math:`f_0` is the smooth friction function used to approximate the non-smooth transition from dynamic to static friction.
422
+
where :math:`C` is the lagged collisions, :math:`\lambda_k^n` is the normal force magnitude for the :math:`k`-th collision, :math:`\mathbf{T}_k` is the tangential basis for the :math:`k`-th collision, and :math:`f_0` is the smooth friction function used to approximate the non-smooth transition from dynamic to static friction.
0 commit comments