Smooth-Joint Model

The smooth-joint model can be installed at ball-ball contacts and is referred to in commands and FISH by the name smoothjoint.

Introduction

The smooth-joint model simulates the behavior of a planar interface with dilation regardless of the local particle contact orientations along the interface. The behavior of a frictional or bonded joint can be modeled by assigning smooth-joint models to all contacts between particles that lie on opposite sides of the joint.

Behavior Summary

The smooth-joint model provides the macroscopic behavior of a linear elastic and either bonded or frictional interface with dilation (see Figure 1). The behavior of the bonded interface is linear elastic until the strength limit is exceeded and the bond breaks, making the interface unbonded; the behavior of an unbonded interface is linear elastic and frictional with dilation, with slip accommodated by imposing a Coulomb limit on the shear force. The interface does not resist relative rotation (Mc0). The force is updated as described in the force-displacement law below.

../../../../../_images/smoothjoint_fig1.png

Figure 1: Behavior and rheological components of the smooth-joint model.

Activity-Deletion Criteria

If in small-strain mode (Sl=false), a contact with the smooth-joint model is always active. In this mode, the contact will never be deleted. If in large-strain mode (Sl=true), a contact with the smooth-joint model is active if the contact is bonded or if the contact gap is negative (i.e., the two pieces are overlapping).

Kinematic Variables

A typical smooth-joint contact is shown in Figure 2. The joint geometry consists of a planar interface separating two surfaces (denoted as surface 1 and surface 2). The interface orientation is defined by the unit-normal vector ˆnj, and surface 2 is defined such that ˆnj points into surface 2. The unit normal is defined as:

(1)ˆnj=(sin(θp),cos(θp))(2D)ˆnj=(sin(θp)sin(θd),sin(θp)cos(θd),cos(θp))(3D)

where θp is the dip angle and θd the dip direction.

Joint orientation is fixed with respect to the global axes, and can only be changed by modifying the dip angle or dip direction. Whenever the joint orientation is changed (or is set initially), the two contacting entities (called piece 1 and piece 2) are associated with the appropriate joint surfaces. The contact unit-normal vector, ˆnc, is directed from the center of piece 1 to the center of piece 2. The dot product of ˆnc and ˆnj is used to determine in which surface each piece lies, such that piece 2 lies in surface 2 if and only if ˆncˆnj0.


../../../../../_images/smoothjoint_fig2.png

Figure 2: Joint and smooth-joint contact.


A smooth joint can be envisioned as a set of elastic springs uniformly distributed over a circular cross-section, centered at the contact point and oriented parallel with the joint plane. The area of the smooth-joint cross-section is given by:

(2)A=πR2withR=λmin(R(1),R(2))

where R(1) and R(2) are the piece radii.

Force-Displacement Law

As the smooth-joint orientation is not aligned with the contact normal, the relative displacement increment is resolved into joint normal and shear directions:

(3)Δδδ=Δδnˆnj+Δδδs

The accumulated normal and shear displacements are updated as:

(4)δn=δnΔδnδδs=δδs+Δδδs

The elastic portions of the normal (Δδne) and shear (Δδδse) displacement increments are determined based on the value of the gap (gi where gi=0 when the smooth joint is created). If bonded, then the entire displacement increment is elastic; if not bonded, then only the portion of the displacement increment that occurs while gi<0 is elastic.

The force-displacement law for the smooth-joint model updates the contact force:

(5)Fc=F

where F is the smooth-joint force. The force is resolved into normal and shear forces:

(6)F=Fnˆnj+Fs

where Fn>0 is tension.

The force-displacement law consists of the following steps (see Figure 3 and Figure 4):

  1. Update the normal force:

    (7)Fn=(Fn)o+knAΔδne

    where (Fn)o is the smooth joint normal force at the beginning of the timestep and A is the bond cross-sectional area.

  2. Calculate a trial shear force:

    (8)Fs=(Fs)oksAΔδδse

    where (Fs)o is the shear force at the beginning of the timestep.

    The frictional shear-strength limit is also computed:

    (9)Fμs=μFn.
  3. The forces, slip state, and bonding state are updated based on the bonding status.

    • If the smooth-joint model is unbonded (Sj<3), the shear force is updated:

      (10)Fs={Fs,FsFμsFμs(Fs/FsFsFs),otherwise.

      The slip state is updated:

      (11)s={true,Fs=Fμsfalse,otherwise.

      If the slip state is true, then the contact is sliding. Whenever the slip states changes, the slip_change callback event occurs. While slipping, shear displacements produce an increase in normal force due to dilation:

      (12)Fn=(Fn)o+[δstanψ]knA=(Fn)o+(FsFμsks)kntanψ

      where μ is the friction coefficient and ψ is the dilation angle.

    • If the smooth-joint model is bonded (Sj=3), one updates the bonding status:

      (13)Sj={1,FnσcA(brokenintension)2,FsτcA(brokeninshear)3,otherwise.

      where σc is the bond normal strength and τc is the bond shear strength (τc=c(FnA)tanϕ). The following conditions are applied in each case:

      • If the bond has broken in tension (Sj=1), the normal and shear forces are reset:

        (14)Fn=Fs=0.
      • If the bond has broken in shear (Sj=2) and the bond is in tension, the normal and shear forces are reset as in Equation (14). If the bond is not in tension, the shear force is limited by Equation (10) but no dilation can occur. The slip state is updated as in Equation (11).

      • If the bond remains intact (Sj=3), the shear force is set to the trial shear force:

        (15)Fs=Fs.
../../../../../_images/smoothjoint_fig3.png

Figure 3: Force-displacement law for an unbonded joint: (a) normal force versus normal displacement; (b) shear force versus shear displacement; (c) strength envelope; and (d) normal displacement versus shear displacement during sliding.

../../../../../_images/smoothjoint_fig4.png

Figure 4: Force-displacement law for a bonded joint: (a) normal force versus normal displacement; (b) shear force versus shear displacement; and (c) strength envelope.

Energy Partitions

The smooth-joint model provides two energy partitions:

  • strain energy, Ek, stored in the linear springs; and
  • slip energy, Eμ, defined as the total energy dissipated by frictional slip.

If energy tracking is activated, these energy partitions are updated as follows:

  1. Update the strain energy:

    (16)Ek=12((Fn)2kn+Fs2ks)
  2. Update the slip energy:

    (17)Eμ:=Eμ+12((Fs)o+Fs)Δδδμs[3mm]withΔδδμs=ΔδδsΔδδes=Δδδs(Fs(Fs)oks)

    where (Fs)o is the shear force at the beginning of the timestep, and the relative shear-displacement increment of this equation of the “Contact Resolution” section has been decomposed into an elastic (Δδδes) and a slip (Δδδμs) component. The dot product of the slip component and the average shear force occurring during the timestep gives the increment of slip energy.

Additional information, including the keywords by which these partitions are referred to in commands and FISH, is provided in the table below.


Table 1: Smooth-Joint Contact Model Energies
Name Symbol Description Range Accumulated
energy‑strain Ek Strain energy [0.0,+) NO
energy‑slip Eμ Total energy dissipated by slip [0.0,+) YES

Properties

The properties defined by the smooth-joint contact model are listed in the table below as 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: Smooth-Joint Model Properties
Keyword Symbol Description Type Range Default Modifiable Inheritable
smoothjoint Model name
sj_kn kn Normal stiffness per unit area [force/volume] FLT [0.0,+) 0.0 YES YES
sj_ks ks Shear stiffness per unit area [force/volume] FLT [0.0,+) 0.0 YES YES
sj_fric μ Friction coefficient [-] FLT [0.0,+) 0.0 YES YES
sj_da ψ Dilation angle [degrees] FLT [0.0,+) 0.0 YES NO
sj_state Sj Joint bond state [-] INT {0;1;2;3} 0 YES NO
    {0: unbonded1: unbonded \& broke in tension2: unbonded \& broke in shear3: bonded          
sj_large Sl Large strain flag [-] BOOL {false,true} false YES NO
sj_ten σc Tensile strength [stress] FLT [0.0,+) 0.0 YES NO
sj_coh c Cohesion FLT [0.0,+) 0.0 YES NO
sj_fa ϕ Joint friction angle [degrees] FLT [0.0,+) 0.0 YES NO
sj_shear τc Shear strength [stress] FLT [0.0,+) 0.0 NO NO
sj_rmul λ Joint radius multiplier [-] FLT [0.0,+) 1.0 YES NO
sj_radius R Joint radius [length] FLT [0.0,+) N/A NO N/A
sj_area A Joint area [surface] FLT [0.0,+) N/A NO N/A
sj_slip s Slip state [-] BOOL {false,true} false NO N/A
sj_gap gj Joint gap [length] FLT R 0.0 YES NO
sj_unorm ˆnj Joint unit normal [force] VEC R3 0 NO NO
sj_un δn Normal displacement [length] FLT R 0.0 NO N/A
sj_us δδs Shear displacement [length] VEC R3 0 NO N/A
dip θp Joint dip [degrees] FLT [0.0,360.0] 0.0 YES NO
ddir (3D) θd Joint dip direction [degrees] FLT [0.0,180.0] 0.0 YES NO
sj_fn Fn Normal force magnitude [force] FLT R 0.0 YES NO
sj_fs Fs Shear force vector [force] VEC R3 0 YES NO

Surface Property Inheritance

The linear stiffness per unit area, kn and ks, and the friction coefficient, μ, may be inherited from the contacting pieces. Remember that for a property to be inherited, the inheritance flag for this property must be set to true, and both contacting pieces must hold a property with this name.

The stiffness are inherited assuming that both pieces’ stiffness act in series:

(18)1kn=1k(1)n+1k(2)n1ks=1k(1)s+1k(2)s

where (1) and (2) denote the properties of piece 1 and 2, respectively. The friction coefficient is inherited using the minimum friction coefficient:

(19)μ=min

Methods

Table 3: Smooth-Joint Model Methods
Method Arguments Symbol Type Range Default Description
sj_setforce N/A Set the force
bond Bond the joint if g_j \in G
  gap \mathbb{G} VEC2 \mathbb{R}^2 (-\infty,0] Gap interval
unbond Unbond the joint if g_j \in G
  gap G VEC2 \mathbb{R}^2 (-\infty,0] Gap interval

sj_setforce

Set the smooth-joint normal force (F_n) from the current contact force:

(20)F_n = \mathbf{F_c} \cdot \mathbf{\hat{n}_j}.

Bond

Create a smooth-joint bond (S_j=3) by bonding the interface if the contact gap between the pieces is within the bonding-gap interval. If no gap is specified, then the contact is bonded 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} as the proximity in the contact cmat default command of the Contact Model Assignment Table (CMAT).

Unbond

Remove a smooth-joint bond by unbonding (S_j=0) the interface if the contact gap between the pieces is within the bonding-gap interval. If no gap is specified, then the contact is unbonded if the pieces overlap. A single value can be specified with the gap keyword corresponding to the maximum gap. If the interface becomes unbonded, then the bond state becomes unbonded. The smooth-joint force is unaffected and will be updated during the next cycle.


Callback Events

Table 4: Smooth-Joint Model Callback Events
Event Array slot Value Type Range Description
contact_activated Contact becomes active
  1 C_PNT N/A Contact pointer
slip_change Slip state has changed
  1 C_PNT N/A Contact pointer
  2 INT {0;1} Slip change mode
      {0;1} \;\;\;\;\;\;\begin{cases} \mbox{0: slip has initiated} \\ \mbox{1: slip has ended} \end{cases}
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] (tension or shear, according to the failure mode)

Usage and Verification Examples

The smooth-joint contact model is demonstrated in the “Slip on a Fault” tutorial.

Model Summary

An alphabetical list of the smoothjoint model methods is given here. An alphabetical list of the smoothjoint model properties is given here.