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 contact 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 force and moment that act on the two contacting pieces to develop. The maximum normal and shear stresses at the bond periphery are tracked. The bond can be inactive or active. If the bond is inactive, then frictional-strength parameters limit the shear force and moment (but not the normal force). If the bond is active, then it can break in shear or soften before breaking in tension: (a) if the maximum shear stress exceeds the shear strength, then the bond breaks, (b) if the maximum normal stress exceeds the tensile strength, then the bond may soften until the maximum normal stress reaches some fraction (that may be zero) of the tensile strength, at which point, the bond breaks. The bond becomes inactive after it breaks.

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 the linear force, \(\mathbf{F^{d}}\) is the dashpot force, and \(\mathbf{M}\) is the moment. These forces and moments are updated as described below.

The linear force is resolved into a normal and shear force, and the 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 := \min\left(F_n + k_n {\kern 1pt} A \, \Delta \delta _n, 0\right)\]

    where \(\Delta \delta _n\) is the relative normal-displacement increment of Equation (12) 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 :Equation (12) 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 Equation (12) 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 Equation (12) 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 shear 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}\]

    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}\]

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

    The bend and twist 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 shear, bend, or twist slip states 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 additional 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

The bonded behavior of the soft-bond model is like that of the linear parallel bond model when the tensile-softening factor \(\zeta = 0\) or the tensile strength reduction factor \(\gamma = 1\). Softening behavior in tension can occur when \(\zeta \neq 0\) and \(\gamma \neq 1.0\). Softening applies only to the extension response; the shear response does not soften. Once the maximum normal stress at the bond periphery is exceeded during extension, the normal stress is not automatically set to 0 as in the linear parallel bond model. Instead, the normal stress is reduced with continued extension past the tensile strength. Softening continues until the normal stress during extension is less than the product of \(\gamma\) and the tensile strength. Thus, when \(\gamma = 0\), tensile softening occurs until the normal stress reaches 0 during extension. The rate at which softening occurs is governed by the tensile-softening factor \(\zeta\). This behavior is inspired by the model of [Ma2018], although the soft-bond behavior is different in a number of ways.

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 Equation (12) 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 Equation (12) of the “Contact Resolution” section.

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

    (17)\[\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:

      (18)\[\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:

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

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

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

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

    (21)\[\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:

    (22)\[\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\)):

      (23)\[\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 \(\tau_c = c - \sigma \tan \phi\), where \(\sigma = F_n / A\) is the average normal stress acting on the parallel bond cross section. If the shear-strength limit is exceeded \((\tau > \tau_c)\), then break the bond in shear:

      (24)\[\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:

    (25)\[{\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:

    (26)\[\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:

    (27)\[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 Equation (10) 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/length]

FLT

\([0.0,+\infty)\)

0.0

YES

YES

ks

\(k_s\)

Shear stiffness [stress/length]

FLT

\([0.0,+\infty)\)

0.0

YES

YES

fric

\(\mu\)

Friction coefficient [-]

FLT

\([0.0,+\infty)\)

0.0

YES

YES

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

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}\)

rgap

\(g_r\)

Reference gap [length]

FLT

\(\mathbb{R}\)

0.0

YES

NO

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}\)

sb_rmul

\(\lambda\)

Radius multiplier [-]

FLT

\((0.0,+\infty)\)

1.0

YES

NO

sb_radius

\(R\)

Radius [length]

FLT

\((0.0,+\infty)\)

N/A

NO (set via \(\lambda\))

NO

sb_area

\(A\)

Cross-sectional area

FLT

\((0.0,+\infty)\)

N/A

NO

NO

user_area

\(A\)

Cross-sectional area (held constant)

FLT

\((0.0,+\infty)\)

0.0

YES

NO

sb_ten

\(\sigma_c\)

Tensile strength [stress]

FLT

\([0.0,+\infty)\)

0.0

YES

NO

sb_soft

\(\zeta\)

Tensile-softening factor [-]

FLT

\([0.0,+\infty)\)

0.0

YES

NO

sb_cut

\(\gamma\)

Tensile strength reduction factor [-]

FLT

\([0.0,1]\)

1.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}\)

Shear strength [stress]

FLT

\([0.0,+\infty)\)

0.0

NO (set via \(c\) and \(\phi\))

N/A

sb_mcf

\(\beta\)

Moment-contribution factor [-]

FLT

\([0.0,1]\)

1.0

YES

NO

sb_sigma

\(\sigma\)

Maximum normal stress at bond periphery

FLT

\([0.0,+\infty)\)

0.0

NO

N/A

sb_tau

\(\tau\)

Maximum shear stress at bond periphery

FLT

\([0.0,+\infty)\)

0.0

NO

N/A

sb_slip

\(s\)

Shear slip state [-]

BOOL

{false,true}

false

NO

N/A

\(\;\;\;\;\;\;\begin{cases} \mbox{true: slipping} \\ \mbox{false: not slipping} \end{cases}\)

sb_slipb

\(s_b\)

Bend slip state [-]

BOOL

{false,true}

false

NO

N/A

\(\;\;\;\;\;\;\begin{cases} \mbox{true: slipping} \\ \mbox{false: not slipping} \end{cases}\)

sb_slipt

\(s_t\)

Twist 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

(28)\[\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

{1,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 [stress] (\(\sigma_c\) or \(\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,” International Journal of Rock Mechanics and Mining Sciences, 102, 109-119, 2018.