Soft-Bond Model

The soft-bond model is referred to in commands and FISH by the name softbond.

Introduction

The soft-bond model can be used to simulate both unbonded and bonded systems.

In an unbonded state, it behaves essentially similar to the contact model proposed by [Jiang2015a], providing the ability to transmit both a force and a moment at the contact point, with frictional strength parameters limiting the shear force, bending moment and twisting moment.

In its bonded formulation, the behavior is similar to that of a linear parallel bond model, with the possibility for the bond to fail if the bond strength is exceeded either in shear or in tension. However, contrary to the linear parallel bond model, the bond is not removed upon failure. Instead, it may enter into a softening regime until the bond stress reaches a threshold value at which the bond is removed and considered broken. The slope and tensile breakage strength during softening can be specified by the user (via the softening factor and the softening tensile strength factor, respectively). Another difference with the linear parallel bond model is that only one set of stiffnesses is used for both the unbonded and bonded formulations. This behavior is essentially similar to that proposed by [Ma2018], with the difference that the bond elongation used to update the normal stress in the softening regime accounts for both the normal displacement and bending increments.

Behavior Summary

A soft bond can be envisioned as a set of elastic springs with constant normal and shear stiffnesses, uniformly distributed over a {rectangular in 2D; circular in 3D} cross-section lying on the contact plane and centered at the contact point. Relative motion at the contact causes a linear force and moment to develop, that act on the two contacting pieces. If the bond is inactive, frictional strength parameters cap the shear force, bending and twisting moments. If the bond is active, the force and moment can be related to maximum normal and shear stresses acting within the bond material at the bond periphery. If the maximum normal stress exceeds the bond tensile strength, the bond may enter a softening regime to a specified failure criteria. If the maximum shear stress exceeds the bond shear strength, then it breaks. After failure, the behavior reverts to the unbonded formulation.

Activity-Deletion Criteria

A contact with the soft bond model is active if it is bonded or if the surface gap is less than or equal to zero. The force-displacement law is skipped for inactive contacts.

Force-Displacement Law

The force-displacement law for the soft-bond model updates the contact force and moment:

(1)\[\mathbf{F_{c}} =\mathbf{F} +\mathbf{F^{d}} ,\quad \mathbf{M_{c}} =\mathbf{M}\]

where \(\mathbf{F}\) is a linear force, \(\mathbf{F^{d}}\) is a dashpot force, and \(\mathbf{M}\) is a linear moment. These forces and moments are updated as described below.

The linear force is resolved into a normal and shear force, and the linear moment is resolved into a twisting and bending moment:

(2)\[\begin{split}\begin{array}{rcl} {\mathbf{F}} & {=} & {- F_n {\kern 1pt} \hat{\mathbf{n}}_\mathbf{c} +\mathbf{F_s}} \\[3mm] {\mathbf{M} } & {=} & {M_t {\kern 1pt} \hat{\mathbf{n}}_\mathbf{c} +\mathbf{M_b} \; \; \left({\rm 2D\; model:\; } M_t \equiv 0\right).} \end{array}\end{split}\]

where \(F_n > 0\) is tension. The shear force and bending moment lie on the contact plane and are expressed in the contact plane coordinate system:

(3)\[\begin{split}\begin{array}{rcl} {\mathbf{F_s}} & {=} & {F_{ss} {\kern 1pt} \hat{\mathbf{s}}_\mathbf{c} +F_{st} {\kern 1pt} \hat{\mathbf{t}}_\mathbf{c} \; \; \left({\rm 2D\; model:\; }F_{ss} \equiv 0\right)} \\[3mm] {\mathbf{M_b} } & {=} & {M_bs {\kern 1pt} \hat{\mathbf{s}}_\mathbf{c} +M_{bt} {\kern 1pt} \hat{\mathbf{t}}_\mathbf{c} \; \; \left({\rm 2D\; model:\; } M_{bt} \equiv 0\right).} \end{array}\end{split}\]

The cross-sectional properties of the soft-bond contact are updated as:

(4)\[\begin{split}\begin{array}{l} R = \lambda \left\{ \begin{array}{rl} \min\left( R^{(1)}, R^{(2)} \right), & \mbox{ball-ball} \\ R^{(1)}, & \mbox{ball-facet} \end{array} \right. \\[3mm] A = \left\{ \begin{array}{rl} 2 R t, & \mbox{2D $(t = 1)$} \\ \pi R^2, & \mbox{3D} \end{array} \right. \\[3mm] I = \left\{ \begin{array}{rl} \tfrac{2}{3} t R^3, & \mbox{2D $(t = 1)$} \\ \tfrac{1}{4} \pi R^4, & \mbox{3D} \end{array} \right. \\[3mm] J = \left\{ \begin{array}{rl} 0, & \mbox{2D} \\ \tfrac{1}{2} \pi R^4, & \mbox{3D} \end{array} \right. \end{array}\end{split}\]

where \(A\) is the cross-sectional area, \(I\) is the moment of inertia of the cross section (about the line passing through \(\mathbf{x_{c}}\) and in the direction of \(\mathbf{M_b}\)), and \(J\) is the polar moment of inertia of the cross section (about the line passing through \(\mathbf{x_{c}}\) and in the direction of \(\hat{\mathbf{n}}_\mathbf{c}\)). The cross section is {rectangular in 2D; circular in 3D}. The property user_area can be used to specify a different cross-sectional area that remains constant, independent of the piece geometries.

The forces and moment are updated as described below for the unbonded or bonded soft-bond contact model.

Unbonded Behavior

When unbonded, the forces and moment are updated with the following steps.

  1. Update \(F_n\) based on the normal-force update mode \(M_l\):

    If \(M_l=0\) (absolute update), the normal force is computed as:

    (5)\[\begin{split}F_n = \left\{ \begin{array}{rl} k_n A g_s, & g_s < 0 \\ 0 , & \mbox{otherwise} \end{array} \right.\end{split}\]

    where \(g_s\) is the surface gap (opposite of the overlap).

    If \(M_l=1\) (incremental update), the normal force is computed as:

    (6)\[F_n := \max\left(F_n + k_n {\kern 1pt} A \, \Delta \delta _n, 0\right)\]

    where \(\Delta \delta _n\) is the relative normal-displacement increment of this equation of the “Contact Resolution” section.

    Note that the unbonded behavior cannot sustain tensile normal force.

  2. Update \(\mathbf{F_s}\):

    The shear force \(\mathbf{F_s}\) is first updated with:

    (7)\[\mathbf{F_s} := \mathbf{F_s} - k_s {\kern 1pt} A{\kern 1pt} \Delta \pmb{δ} _\mathbf{s}\]

    where \(\Delta \pmb{δ}_\mathbf{s}\) is the relative shear-displacement increment of this equation of the “Contact Resolution” section.

  3. Update \(M_t\):

    (8)\[\begin{split}M_t := \left\{ \begin{array}{rl} 0, & \mbox{2D} \\ M_t - k_s J \Delta \theta_t, & \mbox{3D} \end{array} \right.\end{split}\]

    where \(\Delta \theta _{t}\) is the relative twist-rotation increment of this equation of the “Contact Resolution” section.

  4. Update \(\mathbf{M_b}\):

    (9)\[\mathbf{M_b} := \mathbf{M_b} - k_n {\kern 1pt} I{\kern 1pt} \Delta \pmb{θ}_\mathbf{b}\]

    where \(\Delta \pmb{θ}_\mathbf{b}\) is the relative bend-rotation increment of this equation of the “Contact Resolution” section.

  5. Enforce the slip criteria:

    A Coulomb friction criterion is enforced on the shear force such that:

    (10)\[\begin{split}\mathbf{F_s} = \left\{ \begin{array}{rl} \mathbf{F_s} , & \| \mathbf{F_s} \| \le - \mu F_n \\ - \mu F_n \bigl( \mathbf{F_s} / \| \mathbf{F_s} \| \bigr), & \mbox{otherwise.} \end{array} \right.\end{split}\]

    The slip state is updated as:

    (11)\[\begin{split}s = \left\{ \begin{array}{rl} \mbox{true}, & \| \mathbf{F_s} \| = - \mu F_n \\ \mbox{false}, & \mbox{otherwise.} \end{array} \right.\end{split}\]

    If the slip state is true, then the contact is sliding.

    Similarly, maximum bending and twisting moment criteria are enforced as:

    (12)\[\begin{split} \begin{array}{l} \mathbf{M_b} = \left\{ \begin{array}{rl} \mathbf{M_b} , & \| \mathbf{M_b} \| \le M_b^*\\ M_b^* \bigl( \mathbf{M_b} / \| \mathbf{M_b} \| \bigr), & \mbox{otherwise.} \end{array} \right. \\ M_t = \left\{ \begin{array}{rl} M_t , & \|M_t\| \le M_t^* \\ M_t^* \bigl( M_t / \|M_t\| \bigr), & \mbox{otherwise.} \end{array} \right. \end{array}\end{split}\]

    where the critical bending and twisting moments are:

    (13)\[\begin{split}\begin{array}{l} M_b^* & = - 2.1 \lambda_b F_n R {\kern 1pt} / {\kern 1pt} 4 \\ M_t^* & = - 0.65 \lambda_t \mu F_n * R \end{array}\end{split}\]

    Where \(\lambda_b\) and \(\lambda_t\) are respectively the bending and twisting friction multiplier, that default to 1.0. The critical bending and twisting moments with \(\lambda_b=1.0\) and \(\lambda_t=1.0\) correspond to the values proposed by [Jiang2015a].

    The bending and twisting slip states are updated as:

    (14)\[\begin{split}\begin{array}{rl} s_b = \left\{ \begin{array}{rl} \mbox{true}, & \| \mathbf{M_b} \| = M_b^* \\ \mbox{false}, & \mbox{otherwise.} \end{array} \right. \\ s_t = \left\{ \begin{array}{rl} \mbox{true}, & \| \mathbf{M_t} \| = M_t^* \\ \mbox{false}, & \mbox{otherwise.} \end{array} \right. \\ \end{array}\end{split}\]

    Whenever the slip state, bending-slip state or twisting-slip state change, the slip_change callback event occurs where the first argument is the contact pointer, the second argument is an integer ranging from 1 to 7 denoting which slip state(s) has(have) changed, and 3 addittional arguments holding the current values of the shear, bend and twist slip states.

  6. Update the dashpot forces:

    The dashpot force is updated as in the linear model.

Bonded Behavior

By default the bonded behavior of the soft-bond model is essentially that of the linear parallel bond (i.e., when the softening factor \(\zeta = 0\)). Note that, if the softening tensile strength factor \(\gamma = 1.0\), tensile softening is also inhibited. When \(\zeta \neq 0\) and \(\gamma \neq 1.0\) softening behavior in tension can occur. It is important to realize that softening only applies to the extension response; the shear response does not soften. Once the tensile stress at the bond periphery is exceeded during extension, the tensile stress is not automatically set to 0 as in the linear parallel bond model. Instead, the tensile stress is reduced with continued extension past the peak tensile strength. Softening continues until the tensile stress during extension is less than the product of \(\gamma\) and the peak tensile strength. Thus, when \(\gamma = 0\), tensile softening occurs until the tensile stress reaches 0 during extension. The rate at which softening occurs is governed by the softening factor \(\zeta\). If \(\zeta = 1\), tensile softening occurs with the same absolute rate as extension up to the peak tensile strength, though with the opposite sign (i.e, when extending before softening the tensile stress increases whereas when extending past the peak tensile strength, the tensile stress decreases). This behavior is inspired by the model of [Ma2018] though the soft-bond behavior is different in a number of ways. Note that in order to reach an arbitrarily large UCS to tensile ratio with the soft-bond model shear failure must be inhibited.

When bonded, the forces and moment are updated with the following steps.

  1. Update \(F_n\) and \(\mathbf{F_s}\) using an incremental formulation:

    (15)\[\begin{split}\begin{array}{rl} F_n & := F_n + k_n {\kern 1pt} A \Delta \delta _n \\ \mathbf{F_s} & := \mathbf{F_s} - k_s {\kern 1pt} A{\kern 1pt} \Delta \pmb{δ} _\mathbf{s} \end{array}\end{split}\]

    where \(\Delta \delta _n\) and \(\Delta \pmb{δ}_\mathbf{s}\) are respectively the relative normal-displacement and shear-displacement increments of this equation of the “Contact Resolution” section.

  2. Update \(\mathbf{M_b}\) and \(M_t\):

    (16)\[\begin{split}\begin{array}{rl} \mathbf{M_b} & := \mathbf{M_b} - k_n {\kern 1pt} I{\kern 1pt} \Delta \pmb{θ}_\mathbf{b} \\ M_t & := \left\{ \begin{array}{rl} 0, & \mbox{2D} \\ M_t - k_s J \Delta \theta_t, & \mbox{3D} \end{array} \right. \end{array}\end{split}\]

    where \(\Delta \pmb{θ}_\mathbf{b}\) and \(\Delta \theta _{t}\) are respectively the relative bend-rotation and twist-rotation increments of this equation of the “Contact Resolution” section.

  3. Update the maximum normal (\(\sigma\), \(\sigma > 0\) is tension) and shear (\(\tau\)) stresses at the bond periphery:

    \[\begin{split}\begin{array}{l} \sigma = \displaystyle \frac{F_n} {A} + \beta \frac{\left\| \mathbf{M_b} \right\| R}{I} \\ \tau = \frac{\left\| \mathbf{F_s} \right\|}{A} + \left\{ \begin{array}{rl} 0, & \mbox{2D} \\ \beta \frac{\left| M_t \right| R}{J}, & \mbox{3D} \end{array} \right. \\ \mbox{with }\quad \beta \in [0, 1]. \end{array}\end{split}\]
  1. Update the bond state:

    • If the bond is intact (\(B=3\)) and the maximum normal stress at bond periphery exceeds the bond tensile strength (\(\sigma > \sigma_c\)), then the bond enters in softening regime (\(B=4\)), and the maximal bond elongation is set to:

      (17)\[\begin{split}\begin{array}{l} l^*= l_c (1.0 + \zeta) \\ \mbox{with } l_c = \displaystyle\frac{F_n} {k_n A} + \beta \frac{\left\| \mathbf{M_b} \right\| R}{k_n I} \end{array}\end{split}\]

    where \(l_c\) is the critical bond elongation (at peak strength) and \(\zeta\) is the bond softening factor.

    • If the bond is in softening regime (\(B=4\)), then the normal stress at bond periphery is checked against the softening envelope as follows.

    The maximum stress is given by:

    (18)\[\sigma^* = \displaystyle\frac{\sigma_c (l^*-l) }{ \zeta l_c}\]

    where the current bond elongation \(l\) is given by:

    (19)\[l = l_c + \delta l + R |\pmb{\delta θ}_\mathbf{b}|\]

    where \(\delta l\) is a measure of the bond elongation since softening started:

    (20)\[\delta l := \delta l + \Delta \delta _n\]

    and \(|\pmb{\delta θ}_\mathbf{b}|\) is a measure of the accumulated bending since softening started.

    If the current tensile stress is greater than \(\sigma^*\), then it is projected back on the softening envelope, otherwise the bond enters in compression:

    \[\begin{split}\begin{array}{l} \mbox{if } \sigma \ge \sigma^* \qquad \mbox{ then} \\ \qquad \left\{ \begin{array}{l} F_n & := F_n {\kern 1pt} \left(\sigma^* / \sigma \right) \\ \mathbf{M_b} & := \mathbf{M_b} {\kern 1pt} \left(\sigma^* / \sigma \right) \end{array} \right. \\ \mbox{else } \\ \qquad \left\{ \begin{array}{l} B & = 5 \mbox{ (compression starts)} \\ \sigma_{m} & = \sigma \\ l_m & := l_c + \delta l + R |\pmb{\delta θ}_\mathbf{b}| \end{array} \right. \end{array}\end{split}\]

    where \(\sigma_{m}\) and \(l_m\) are respectively the tensile stress and elongation at which the bond enters in compression.

    • If the bond is in softening regime and in compression (\(B=5\)) and the maximum normal stress at bond periphery exceeds the bond tensile strength at which compression initiated, then the bond state is set to be back in softening regime (\(B=4\)) and the tensile force and bending moment are scaled to project the tensile stress on the softening envelope as discussed above.
  1. Check for bond failure:

    • Tensile failure is first checked if the bond is in softening regime (\(B=4\)):

      (21)\[\begin{split}\begin{array}{l} \mbox{if } B=4 \mbox{ and } \sigma \le \sigma_c {\kern 1pt} \gamma \qquad \mbox{ then} \\ \qquad \left\{ \begin{array}{l} B & = 1 \mbox{ (tensile failure)} \\ \mathbf{F} & = \mathbf{0} \\ \mathbf{M} & = \mathbf{0} \end{array} \right. \end{array}\end{split}\]
    • If the bond has not failed in tension, then shear failure is assessed. The shear strength \(\overline{\tau}_{c} = \overline{c} - \sigma \tan \overline{\phi}\), where \(\sigma = \overline{F}_{n} / \overline{A}\) is the average normal stress acting on the parallel bond cross section. If the shear-strength limit is exceeded \((\overline{\tau} > \overline{\tau}_{c})\), then break the bond in shear:

      (22)\[\begin{split}\begin{array}{l} \mbox{if } \tau > \tau_c \qquad \mbox{ then} \\ \qquad B = 2 \mbox{ (shear failure)} \end{array}\end{split}\]

    Note that if the bond fails in shear, then \(\mathbf{F}\) and \(\mathbf{M}\) are not reset to zero. Instead, the frictional strength properties are enforced using equations (10) and (12) and the slip states updated according to (11) and (14).

    If the bond has broken, then the bond_break callback event is triggered, and the behavior becomes that of an unbonded soft-bond model.

Energy Partitions

The soft-bond model provides three energy partitions:

  • strain energy, \(E_{k}\), stored in the linear springs;
  • slip energy, \(E_{\mu }\), defined as the total energy dissipated by frictional slip;
  • dashpot energy, \(E_{\beta }\), defined as the total energy dissipated by the dashpots; and
Table 1: Soft-Bond Model Energy Partitions
Keyword Symbol Description Range Accumulated
Soft-Bond:
energy‑strain \(E_{k}\) strain energy \([0.0,+\infty)\) NO
energy‑slip \(E_{\mu}\) total energy dissipated by slip \((-\infty,0.0]\) YES
Dashpot Group:
energy‑dashpot \(E_{\beta}\) total energy dissipated by dashpots \((-\infty,0.0]\) YES

If energy tracking is activated (see the model energy command), the energy partitions are updated as described below.

  1. Update the strain energy:

    (23)\[{\rm E} _{k} =\frac{1}{2} \left( \frac{F_n^{2} }{k_{n}{\kern 1pt} A} + \frac{\left\| \mathbf{F_s} \right\| ^{2} }{k_{s} {\kern 1pt} A} + \frac{\left\| \mathbf{M_b} \right\| ^{2} }{k_n {\kern 1pt} I} + \frac{M_t^{2} }{k_s {\kern 1pt} J} \right).\]
  2. Update the slip energy:

    (24)\[\begin{split}\begin{array}{l} E_{\mu } := E_{\mu} + \Delta E_{\mu}^s + \Delta E_{\mu}^b + \Delta E_{\mu}^t \\ {\rm where} \\ \qquad \begin{array}{l} \Delta E_{\mu}^s := - {\tfrac{1}{2}} \left(\left(\mathbf{F_{s}} \right)_{o} +\mathbf{F_{s}} \right)\cdot \Delta \pmb{δ} _\mathbf{s}^{\mu } \\ \Delta E_{\mu}^b := - {\tfrac{1}{2}} \left(\left(\mathbf{M_{b}} \right)_{o} +\mathbf{M_{b}} \right)\cdot \Delta \pmb{\theta} _\mathbf{b}^{\mu } \\ \Delta E_{\mu}^t := - {\tfrac{1}{2}} \left(\left(M_{t} \right)_{o} + M_{t} \right)\cdot \Delta \pmb{\theta} _\mathbf{t}^{\mu } \\ \end{array} \\ {\rm with} \\ \qquad \begin{array}{l} \Delta \pmb{δ} _\mathbf{s}^{\mu } =\Delta \pmb{δ} _\mathbf{s} -\Delta \pmb{δ} _\mathbf{s}^{k} =\Delta \pmb{δ} _\mathbf{s} -\left(\frac{\mathbf{F_{s}} -\left(\mathbf{F_{s}} \right)_{o} }{k_{s} {\kern 1pt} A} \right) \\ \Delta \pmb{\theta} _\mathbf{b}^{\mu } =\Delta \pmb{\theta} _\mathbf{b} -\Delta \pmb{\theta} _\mathbf{b}^{k} =\Delta \pmb{\theta} _\mathbf{b} -\left(\frac{\mathbf{M_{b}} -\left(\mathbf{M_{b}} \right)_{o} }{k_{n} {\kern 1pt} I} \right) \\ \Delta \pmb{\theta} _\mathbf{t}^{\mu } =\Delta \pmb{\theta} _\mathbf{t} -\Delta \pmb{\theta} _\mathbf{t}^{k} =\Delta \pmb{\theta} _\mathbf{t} -\left(\frac{M_{t} -\left(M_{t} \right)_{o} }{k_{s} {\kern 1pt} J} \right) \\ \end{array} \end{array}\end{split}\]
  3. Update the dashpot energy:

    (25)\[E_{\beta } :=E_{\beta } - \mathbf{F^{d}} \cdot \left(\dot{\pmb{δ} }{\kern 1pt} {\kern 1pt} \Delta t\right)\]

    where \(\dot{\pmb{δ} }\) is the relative translational velocity of this equation of the “Contact Resolution” section.

Properties

The properties defined by the soft-bond model are listed in the table below for a concise reference; see the “Contact Properties” section for a description of the information in the table columns. The mapping from the surface inheritable properties to the contact model properties is also discussed below.

Table 2: Soft-Bond Model Properties
Keyword Symbol Description Type Range Default Modifiable Inheritable
softbond Model name
Soft-Bond Group:
kn \(k_n\) Normal stiffness [stress/disp./area] FLT \([0.0,+\infty)\) 0.0 YES YES
ks \(k_s\) Shear stiffness [stress/disp./area] FLT \([0.0,+\infty)\) 0.0 YES YES
fric \(\mu\) Friction coefficient [-] FLT \([0.0,+\infty)\) 0.0 YES YES
rgap \(g_r\) Reference gap [length] FLT \(\mathbb{R}\) 0.0 YES NO
sb_bmul \(\lambda_b\) Bending Friction multiplier [-] FLT \([0.0,+\infty)\) 1.0 YES YES
sb_tmul \(\lambda_t\) Twisting Friction multiplier [-] FLT \([0.0,+\infty)\) 1.0 YES YES
sb_mode \(M_l\) Normal-force update mode [-] INT \(\{0,1\}\) 0 YES NO
    \(\;\;\;\;\;\;\begin{cases} \mbox{0: update is absolute} \\ \mbox{1: update is incremental} \end{cases}\)          
emod \(E^*\) Effective modulus [force/area] FLT \([0.0,+\infty)\) 0.0 NO N/A
kratio \(\kappa^*\) Normal-to-shear stiffness ratio [-] FLT \([0.0,+\infty)^*\) 0.0\(^*\) NO N/A
    \(\kappa^* \equiv \frac{k_n}{k_s}\)          
sb_rmul \(\lambda\) Radius multiplier [-] FLT \((0.0,+\infty)\) 1.0 YES NO
sb_area \(A\) Soft bond area [length*length] FLT \((0.0,+\infty)\) N/A NO NO
user_area \(A\) Constant soft bond area [length*length] FLT \((0.0,+\infty)\) 0.0 YES NO
sb_radius \(R\) Effective radius [length] FLT \((0.0,+\infty)\) N/A NO (set via \(\lambda\)) NO
sb_soft \(\zeta\) Softening factor [-] FLT \([0.0,+\infty)\) 0.0 YES NO
sb_cut \(\gamma\) Softening Tensile strength factor [-] FLT \([0.0,1]\) 1.0 YES NO
sb_mcf \(\beta\) Moment-contribution factor [-] FLT \([0.0,1]\) 1.0 YES NO
sb_ten \(\sigma_c\) Tensile strength [stress] FLT \([0.0,+\infty)\) 0.0 YES NO
sb_coh \(c\) Cohesion [stress] FLT \([0.0,+\infty)\) 0.0 YES NO
sb_fa \(\phi\) Friction angle [degrees] FLT \([0.0,90.0)\) 0.0 YES NO
sb_state \(B\) Bond state INT {0,1,2,3,4,5} 0 NO NO
    \(\;\;\;\;\;\;\begin{cases} \mbox{0: unbonded} \\ \mbox{1: unbonded & broke in tension} \\ \mbox{2: unbonded & broke in shear} \\ \mbox{3: bonded} \\ \mbox{4: bonded & softening} \\ \mbox{5: bonded & compressing} \end{cases}\)          
sb_shear \(\tau_{c}\) Bond shear strength [stress] FLT \([0.0,+\infty)\) 0.0 NO (set via \(c\) and \(\sigma_c\)) N/A
sb_sigma \(\sigma\) Normal stress at bond periphery [stress] FLT \([0.0,+\infty)\) 0.0 NO N/A
sb_tau \(\tau\) Shear stress at bond periphery [stress] FLT \([0.0,+\infty)\) 0.0 NO N/A
sb_slip \(s\) Slip state [-] BOOL {false,true} false NO N/A
    \(\;\;\;\;\;\;\begin{cases} \mbox{true: slipping} \\ \mbox{false: not slipping} \end{cases}\)          
sb_slipb \(sb\) Bending slip state [-] BOOL {false,true} false NO N/A
    \(\;\;\;\;\;\;\begin{cases} \mbox{true: slipping} \\ \mbox{false: not slipping} \end{cases}\)          
sb_slipt \(st\) Twisting slip state [-] BOOL {false,true} false NO N/A
    \(\;\;\;\;\;\;\begin{cases} \mbox{true: slipping} \\ \mbox{false: not slipping} \end{cases}\)          
sb_force \(\mathbf{F}\) Force (contact plane coord. system) VEC \(\mathbb{R}^3\) \(\mathbf{0}\) YES NO
    \(\left( -F_n,F_{ss},F_{st} \right) \quad \left(\mbox{2D model: } F_{ss} \equiv 0 \right)\)          
sb_moment \(\mathbf{M}\) Moment (contact plane coord. system) VEC \(\mathbb{R}^3\) \(\mathbf{0}\) YES NO
    \(\left( M_t,M_{bs},M_{bt} \right) \quad \left(\mbox{2D model: } M_{t} \equiv M_{bt} \equiv 0 \right)\)          
Dashpot Group:
dp_nratio \(\beta_n\) Normal critical damping ratio [-] FLT \([0.0,1.0]\) 0.0 YES NO
dp_sratio \(\beta_s\) Shear critical damping ratio [-] FLT \([0.0,1.0]\) 0.0 YES NO
dp_mode \(M_d\) Dashpot mode [-] INT {0,1,2,3} 0 YES NO
    \(\;\;\;\;\;\;\begin{cases} \mbox{0: full normal & full shear} \\ \mbox{1: no-tension normal & full shear} \\ \mbox{2: full normal & slip-cut shear} \\ \mbox{3: no-tension normal & slip-cut shear} \end{cases}\)          
dp_force \(\mathbf{F^d}\) Dashpot force (contact plane coord. system) VEC \(\mathbb{R}^3\) \(\mathbf{0}\) NO NO
    \(\left( -F_n^d,F_{ss}^d,F_{st}^d \right) \quad \left(\mbox{2D model: } F_{ss}^d \equiv 0 \right)\)          
\(^*\) By convention, \(\kappa^*\) equals zero if either normal or shear stiffness is zero.

Note

Modifying the contact model force will not alter forces accumulated to the bodies. Therefore, any change to \(\mathbf{F^l}\) or \(\mathbf{M}\) may only be effective during the next force-displacement calculation. When \(M_l = 0\), the normal component of the linear force is automatically overridden during the next force-displacement calculation.

Surface Property Inheritance

The linear stiffnesses, \(k_n\) and \(k_s\), and the friction coefficient, \(\mu\), may be inherited from the contacting pieces. See this section from the linear formulation for details on property inheritance.

Methods

Table 3: Soft-Bond Model Methods
Method Arguments Symbol Type Range Default Description
Soft-Bond Group:
area Set user_area to sb_area
deformability Set deformability
  emod \(E^*\) FLT \([0.0,+\infty)\) N/A Effective modulus
  kratio \(\kappa^*\) FLT \([0.0,+\infty)^*\) N/A Normal-to-shear stiffness ratio
bond Bond the contact if \(g_c \in G\)
  gap \(G\) VEC2 \(\mathbb{R}^2\) \((-\infty,0]\) Gap interval
  soft \(\zeta\) FLT \([0.0,+\infty)\) \(0.0\) Softening parameter
  cut \(\gamma\) FLT \([0.0,1.0]\) \(1.0\) Softening threshold parameter
unbond Unbond the contact if \(g_c \in G\)
  gap \(G\) VEC2 \(\mathbb{R}^2\) \((-\infty,0]\) Gap interval
\(^*\) By convention, setting \(\kappa^*\) equal to zero sets the shear stiffness to zero but does not modify the normal stiffness.

Area

Set the user_area property via the current sb_area. This operation means that the contact area stays constant and is fixed independent of changes to the piece sizes/geometries. In order for the stiffnesses to be recomputed accounting for this area, one should subsequently call the deformabilty method.

Deformability

The deformability can be specified with the deformability method, which sets

(26)\[\begin{split}\begin{array}{l} k_n := \displaystyle\frac{ E^* }{ L },\quad k_s := \displaystyle\frac{ k_n }{ \kappa^* } \\[2mm] \mbox{with }\quad L = \left\{ \begin{array}{rl} R^{(1)} + R^{(2)}, & \mbox{ball-ball} \\ R^{(1)}, & \mbox{ball-facet} \end{array} \right. \end{array}\end{split}\]

The first term in this expression is obtained by equating the normal stiffness to the axial stiffness of the volume of material shown in this figure of the linear model formulation.

Bond

Activate the bond if the contact gap between the pieces is within the bonding-gap interval. If no gap is specified, then the bond is activated if the pieces overlap. A single value can be specified with the gap keyword corresponding to the maximum gap. One can ensure the existence of contacts between all pieces with a contact gap less than a specified bonding gap \((g_b)\) by specifying \(g_b\) with the proximity in the contact cmat default command of the Contact Model Assignment Table (CMAT). If the bond is activated, then the normal force calculation mode sb_mode is automatically set to 1 (incremental).

Unbond

Deactivate the bond if the contact gap between the pieces is within the gap interval. If no gap is specified, then the bond is deactivated if the pieces overlap. A single value can be specified with the gap keyword corresponding to the maximum gap. If the bond is deactivated, then the bond state becomes unbonded \((B=0)\). The force and moment are unaffected and will be updated during the next cycle.

Callback Events

Table 4: Soft-Bond Model Callback Events
Event Array Slot Value Type Range Description
contact_activated Contact has become active
  1 C_PNT N/A Contact pointer
Soft-Bond Group:
slip_change Slip state has changed
  1 C_PNT N/A Contact pointer
  2 INT {0,7} Slip change mode
        \(\;\;\;\;\;\;\begin{cases} \mbox{1: shear slip state has changed} \\ \mbox{2: bend slip state has changed} \\ \mbox{3: twist slip state has changed} \\ \mbox{4: shear & bend slip states have changed} \\ \mbox{5: shear & twist slip states have changed} \\ \mbox{6: bend & twist slip states have changed} \\ \mbox{7: all slip states have changed} \end{cases}\)
  3 INT {0,1} shear slip state
  4 INT {0,1} twist slip state
  5 INT {0,1} bend slip state
bond_break Bond has broken
  1 C_PNT N/A Contact pointer
  2 INT {1,2} Failure mode
        \(\;\;\;\;\;\;\begin{cases} \mbox{1: failed in tension} \\ \mbox{2: failed in shear} \end{cases}\)
  3 FLT \([0.0,+\infty)\) Failure strength [force] (\(\overline{\sigma }_{c}\) or \(\overline{\tau }_{c}\), according to the failure mode)
  4 FLT \([0.0,+\infty)\) Bond strain energy \(\overline{E}_k\) at onset of failure

Usage and Verification Examples

The example “Genesis and Testing of a Soft-Bonded Material” demonstrates usage of the soft-bond contact model.

Model Summary

An alphabetical list of the soft-bond contact model methods is given here. An alphabetical list of the soft-bond contact model properties is given here.

References

[Jiang2015a](1, 2) Jiang, M., Z. Shen and J. Wang. “A Novel Three-Dimensional Contact Model for Granulates Incorporating Rolling and Twisting Resistances,” Computer and Geotechnics, 65, 147-163, 2015.
[Ma2018](1, 2) Ma, Y., and H. Huang. “DEM Analysis of Failure Mechanisms in the Intact Brazilian Test,” Int. J. Rock Mech. Min. Sci., 102, 109-119, 2018.