Skip to main content

Unified primal-dual active set method for dynamic frictional contact problems

Abstract

In this paper, we propose a semi-smooth Newton method and a primal-dual active set strategy to solve dynamical contact problems with friction. The conditions of contact with Coulomb’s friction can be formulated in the form of a fixed point problem related to a quasi-optimization one thanks to the semi-smooth Newton method. This method is based on the use of the primal-dual active set (PDAS) strategy. The main idea here is to find the correct subset \(\mathcal{A}\) of nodes that are in contact (active) opposed to those which are not in contact (inactive). For each case, the nonlinear boundary condition is replaced by a suitable linear one. Numerical experiments on both hyper-elastic problems and rigid granular materials are presented to show the efficiency of the proposed method.

1 Introduction

Nowadays, understanding dynamic contact problems and their behaviour, both deformable and rigid, is a major challenge for industries in several sectors. The scientific community is particularly interested in studying these problems because of the complex nature of the interactions governing their dynamics and their simulations, which involve a large number of degrees of freedom. Some derivations for a model of contact dynamics and their specific numerical methods can illustrated by these works [14].

According to the theory of sweeping process of Moreau [59], the dynamic contact problems can be written as a measure differential inclusion due to multi-valued mappings between contact reactions/impulses and the contact distances/velocities that introduce a nonsmoothness contact law. In this way, convenient formulations for nonsmooth dynamic problems can be derived. This appears to be well adapted for problems involving rigid bodies and elastodynamic problems.

The nonsmooth contact dynamics (NSCD) approach is an alternative simulation strategy that works for both rigid body interactions and deformable problems [3, 4, 811]. According to Moreau’s sweeping process, it leads to implicit numerical schemes based on a nonregular formulation of the contact laws. There are many numerical methods in the literature for solving these problems. In the case of rigid body problems, one can refer to the well-known nonlinear Gauss–Seidel method (NLGS) developed by M. Jean and J. J. Moreau [810, 12]. Moreover, there are several sophisticated approaches based on the bi-potential theory and the augmented Lagrangian theory, see [1317] for more details. Concerning the deformable bodies, several methods have also been successfully tested, namely, the penalty method (cf. [18, 19]), the quasi-augmented Lagrangian [20], the bi-potential method (cf. [13, 17]), the conjugate gradient method (cf. [1, 2]), the Uzawa method (cf. [21, 22]), and the Nitsche finite element method (cf. [2325]). Recently proposed methods of semi-smooth Newton and primal-dual active (PDAS) type appear to be some of the most relevant methods for solving friction contact problems [2634]. They are based on the following principle: the conditions of contact and friction are reformulated in terms of nonlinear complementarity functions whose solution is provided by the semi-smooth Newton method. In practice, the conditions of contact with Coulomb’s friction can be formulated in the form of a problem of fixed point related to quasi-optimisation problem [26, 27, 34]. In fact, the boundary conditions are directly imposed thanks to a semi-smooth Newton method, and therefore their implementation could be achieved without much effort. On the basis of these prerequisites, the objective of this work is to provide a generalisation of the semi-smooth Newton method-PDAS approach for hyperelastic contact problems [34, 35] and for those in rigid multi-body dynamics [33, 36]. Particular care is paid to the development of these algorithms for solving contact and friction laws in the nonregular framework. Several numerical experiments are reported for verification and validation purposes, but also to assess the efficiency and performance of PDAS methods compared to other numerical methods [13, 17, 20].

The paper is organised as follows. Section 2 presents the sweeping process in the context of deformable and rigid bodies. Section 3 is devoted to the semi-smooth Newton approach for solving the frictional contact conditions. In Sect. 4, we present the numerical treatment of frictional contact conditions by using two primal-dual active set methods. This section is divided into two parts. First, an exact PDAS strategy for unilateral contact with Coulomb’s law of friction is considered. Next, an iterative PDAS with a fixed point method related to the friction bound is introduced. In the last section, the results of some simulations are presented in order to illustrate the numerical PDAS.

2 Sweeping process for frictional contact problems

According to Moreau’s sweeping process, the dynamic frictional contact problem can be written as a measure differential inclusion due to multi-valued mappings between contact reactions and the contact velocities that introduce a nonsmoothness in the contact law. This formulation allows us to write nonsmooth dynamic problems such as dynamics contact problems for rigid bodies and elastodynamic problems.

2.1 Dynamics of deformable bodies

Let us consider a deformable body occupying a domain Ω R d \((d=1,2,3)\). The boundary Γ of Ω is assumed to be Lipschitz continuous and consists in three disjoint measurable parts \(\Gamma _{1}\), \(\Gamma _{2}\) and \(\Gamma _{3}\) such that \({ \operatorname{meas}}\,(\Gamma _{1})>0\). The notations \(\boldsymbol{x}=(x_{i})\) and \(\boldsymbol{n}=(n_{i})\) stand for a point in \(\Omega \cup \Gamma \) and the inner unit normal at Γ, respectively. The dynamic of a deformable body is a time-dependant problem with \(t>0\) denoting the time variable. The primary variable is the displacement field u from which one can define the normal and the tangential components of u on Γ by \(u_{n}=\boldsymbol{u}\cdot \boldsymbol{n}\) and \(\boldsymbol{u}_{t}=\boldsymbol{u}-u_{n}\boldsymbol{n}\).

In the following, we consider the dynamic frictional contact of a deformable body with a perfectly rigid obstacle, the so-called foundation. Figure 1 shows the configuration and the considered notations (see Fig. 1). The displacements are driven by the body force and the boundary conditions. The displacement and the surface traction are prescribed on the boundary \(\Gamma _{1}\) and \(\Gamma _{2}\), respectively. The contact condition is assumed to occur on \(\Gamma _{3}\). The dynamic of the body is investigated on the time interval \([0,T]\) with \(T>0\). For the sake of clarity, the dependence of the functions on x and t is not formally expressed, and the derivatives with respect to the time read \(\dot{(\cdot)}\).

Figure 1
figure 1

Physical setting of a deformable body against a foundation

2.1.1 Equations of motion

According to the fundamental principle of dynamics of deformable bodies, after a spatial discretization using a standard finite element method, the equations of motion formulated in terms of differential measures can be written as follows:

Md U ˙ +A(U)dt= F ext (t)dt+dΛ,
(2.1)

where

  • U R d × N is the generalised displacement vector (where \(d = 3\) for a 3D problem and \(d = 2\) for a 2D problem and N is the total number of degree of freedom);

  • M represents the generalised mass matrix;

  • A represents the internal force vector;

  • \(\boldsymbol{F}^{\mathrm{ext}}\) represent external forces;

  • dΛ is a nonnegative real measure, representing the reaction forces between the body in contact.

2.1.2 Frictional contact laws

Here we expressed the contact law by using the local contact variables with the vertex \(\alpha \in [1, N_{\alpha}]\) (where \(N_{\alpha} \) is the total number of potential contacts between the body to the foundation). For each \(\alpha \in [1, N_{\alpha}]\), we have to consider the local relative displacements \(u^{\alpha}_{n}\) and \(\boldsymbol{u}^{\alpha}_{t}\) between the body to the foundation involved in the contact α, as a part of the generalised vector u R d × N . Likewise, the local contact reactions λ α R d are represented by a vector Λ R d × N . We recall that \(\boldsymbol{\lambda }^{\alpha}\) can be decomposed into the sum of a normal component \(\lambda ^{\alpha}_{n}\) and a tangential component \(\boldsymbol{\lambda }^{\alpha}_{t}\) as follows: \(\boldsymbol{\lambda }^{\alpha} = \lambda ^{\alpha}_{n} \boldsymbol{n} + \boldsymbol{\lambda }^{\alpha}_{t}\). From there, the idea would be to project the global vector from Λ and u to the local vector \(\boldsymbol{\lambda }^{\alpha}\) and \(\boldsymbol{u}^{\alpha}\). In other words, \(\boldsymbol{\lambda }^{\alpha}\) and \(\boldsymbol{u}^{\alpha}\) denote the coefficient vector of Λ and u associated with the vertex α.

Consider for a while that the normal reaction exerted between the deformable body against a foundation at the contact α of the boundary \(\Gamma _{3}\), and with these considerations, the unilateral conditions on the contact boundary point are

$$ u_{\boldsymbol{n}}^{\alpha}\ge g, \lambda _{\boldsymbol{n}}^{ \alpha}\ge 0,\quad \bigl(u_{\boldsymbol{n}}^{\alpha}-g \bigr)\lambda _{ \boldsymbol{n}}^{\alpha}= 0, $$
(2.2)

where the gap g measures the distance between a point on \(\Gamma _{3}\) and its projection onto the rigid obstacle.

Now for the friction, we considered Coulomb’s law as follows:

$$ \textstyle\begin{cases} \Vert \boldsymbol{\lambda }_{\boldsymbol{t}}^{\alpha} \Vert \le \,\mu \vert \lambda _{\boldsymbol{n}}^{\alpha} \vert , \\ \Vert \boldsymbol{\lambda }_{\boldsymbol{t}}^{\alpha} \Vert < \,\mu \vert \lambda _{ \boldsymbol{n}}^{\alpha} \vert \Longrightarrow \dot{\boldsymbol{u}}_{ \boldsymbol{t}}^{\alpha}=0, \\ \Vert \boldsymbol{\lambda }_{\boldsymbol{t}}^{\alpha} \Vert =\,\mu \vert \lambda _{ \boldsymbol{n}}^{\alpha} \vert \Longrightarrow \exists \beta \ge 0: \boldsymbol{\lambda }_{\boldsymbol{t}}^{\alpha}=\beta \dot{\boldsymbol{u}}_{\boldsymbol{t}}^{\alpha}, \end{cases} $$
(2.3)

where μ is the friction coefficient.

Note that conditions (2.2) are equivalent to the following subdifferential inclusion (cf. [6, 9]):

λ n α I R ( u n α g ) ,
(2.4)

where represents the subdifferential operator in the sense of the convex analysis and \(I_{A}\) denotes the indicator function of the set AR. A similar consideration for the frictional stress leads to

$$ \boldsymbol{\lambda }_{\boldsymbol{t}}^{\alpha}\in \partial I^{*}_{C( \lambda _{\boldsymbol{n}}^{\alpha})}\bigl(\dot{u}_{\boldsymbol{t}}^{\alpha} \bigr), $$
(2.5)

which is equivalent to (2.3). \(I^{*}\) represents the Fenchel conjugate of the indicator function.

Finally, the objective frictional contact constitutive law can be written jointly in the subdifferential inclusion form as

λ α I R ( u n α g ) n+ I C ( λ n α ) ( u ˙ t α ) .
(2.6)

As a result, the generalised frictional contact forces dΛ can also take this form. The so-called Moreau’s sweeping process [5, 9, 37] is a special kind of differential inclusion with a maximal monotone operator, which appears to be a very nice formulation for the unilateral dynamics with friction.

2.1.3 Nonlinear elastodynamic contact problems

First, we recall some preliminary material concerning the time discretization step. Let N be an integer, let \(\Delta \tau =\frac{T}{N}\) be the time step and define

$$ t^{n}=n\,\Delta t,\quad 0\le n\le N. $$

Finally, for a sequence \(\{w^{n}\}_{n=1}^{N}\), we denote the midpoint divided differences by

$$ \dot{w}^{n-\frac{1}{2}}=\bigl(w^{n}-w^{n-1} \bigr)/\Delta t = \frac{1}{2}\bigl(\dot{w}^{n} + \dot{w}^{n-1}\bigr), $$
(2.7)

and, equivalently, we have \(\dot{w}_{n}=-\dot{w}^{n-1}+\frac{2}{\Delta t}(w^{n}-w^{n-1})\). Hereinafter, we use the notation \(\Box ^{n-\frac{1}{2}} = \frac{1}{2}(\Box ^{n} + \Box ^{n-1})\), where \(\Box ^{n}\) represents the approximation of \(\Box (t^{n})\). Note that the time integration scheme we use is based on the implicit second order midpoint rule given in (2.7).

Problem \({\mathcal {P}}_{S}\). Find a global displacement vector \(\{\boldsymbol{u}^{n,\Delta t}\}_{n=0}^{N}\), a global normal stress vector \(\{{\Lambda _{n}}^{n,\Delta t}\}_{n=0}^{N}\) and a global tangential stress vector \(\{{\boldsymbol{\Lambda }_{t}}^{n,\Delta t}\}_{n=0}^{N}\) such that, for all \(n=1\),

M u ¨ n 1 2 , Δ t +A ( u n 1 2 , Δ t ) F ext , n 1 2 , Δ t Λ n 1 2 , Δ t =0,
(2.8)
λ n α , n 1 2 , Δ t I R ( u n α , n 1 2 , Δ t g ) ,
(2.9)
$$\begin{aligned} & \boldsymbol{\lambda }_{\boldsymbol{t}}^{\alpha ,n-\frac{1}{2}, \Delta t}\in \partial I^{*}_{C(\lambda _{\boldsymbol{n}}^{\alpha},n- \frac{1}{2},\Delta t)}\bigl(\dot{u}_{\boldsymbol{t}}^{\alpha ,n- \frac{1}{2},\Delta t} \bigr), \\ & \boldsymbol{u}^{0,\Delta t}=\boldsymbol{u}^{0}, \qquad \dot{ \boldsymbol{u}}^{0,\Delta t}=\dot{\boldsymbol{u}}^{0}, \end{aligned}$$
(2.10)

where \({\ddot{\boldsymbol{u}}}^{n-\frac{1}{2},\Delta t} = \frac{\dot{\boldsymbol{u}}^{n,\Delta t}-\dot{\boldsymbol{u}}^{n-1,\Delta t}}{\Delta t}\) is the midpoint time approximation of the acceleration \({\ddot{\boldsymbol{u}}}\) at the time \(t^{n-\frac{1}{2}}\).

To solve the global Problem \({\mathcal {P}}_{S}\), we can use the so-called Newton–Raphson method. For more details about this method, see the books [1, 2].

2.2 Dynamics of rigid bodies

2.2.1 Equations of motion

To describe the motion of a multi-contact system between rigid bodies, we use the following writing conventions. Assuming that a particle P among \(N_{p}\) particles is described by the position of its centre of gravity and its rotation, we will denote by q the generalised coordinate describing its position in space (q R d ¯ × N p , where \(\bar{d} = 6\) for a 3D problem and \(\bar{d} = 3\) for a 2D problem). As a consequence of the possible shocks between particles, we introduce the generalised velocity denoted by \(\boldsymbol{\dot{q}}\) as a function of bounded variations and its associated differential \(d\boldsymbol{\dot{q}}\). According to the fundamental principle of rigid dynamics, the equations of motion formulated in terms of differential measures can be written as follows:

Md q ˙ =F(t,q, q ˙ )dt+dP,
(2.11)

where

  • M represents the generalised mass matrix;

  • F represents external forces;

  • dP is a nonnegative real measure, representing the reaction forces and impulses between particles in contact.

2.2.2 Frictional contact laws

As the contact law is expressed using the contact variables, we have to express the equations of motion using these same variables. Thus, a local-global mapping is defined from the global frame to the local one for each contact node \(\alpha \in [1, N_{\alpha}]\) (where \(N_{\alpha} \) is the total number of potential contacts between two rigid particles) to write the corresponding local contact law. Local relative velocities \(v^{\alpha}_{n}\) and \(\boldsymbol{v}^{\alpha}_{t}\) between the two rigid bodies involved in the contact α can be generalised as a vector q ˙ =v R d × N c (where \(d = 3\) for a 3D problem and \(d = 2\) for a 2D problem). Likewise, the local contact impulses \(\boldsymbol{p^{\alpha }}\) are represented by a vector P R d × N c . We recall that \(\boldsymbol{p^{\alpha }}\) can be decomposed into the sum of a normal component \(p_{n}^{\alpha}\) and a tangential component \(\boldsymbol{p^{\alpha }_{t}}\) as follows: \(\boldsymbol{p^{\alpha }} = p^{\alpha}_{n} \boldsymbol{n} + \boldsymbol{p^{\alpha }_{t}}\). From there, the idea would be to transform the equations of motion seen in (2.11) from P and \(\boldsymbol{\dot{q}}\) to \(\boldsymbol{p}^{\alpha}\) and \(\boldsymbol{v}^{\alpha}\).

The gap \(D^{\alpha}=D(q_{i}, q_{j})\) represents the signed distance from particle i to particle j.

The contact and particles velocities (\(\boldsymbol{v}^{\alpha}\) and \(\boldsymbol{\dot{q}}\)) being linearly related, the local-global mapping to compute v to \(\boldsymbol{\dot{q}}\) at a contact node α is

$$ \boldsymbol{v}^{\alpha} = H^{*}(\boldsymbol{q},\alpha ) \boldsymbol{\dot{q}}, $$
(2.12)

where \(H^{*}(\boldsymbol{q},\alpha )\) is a local-global mapping matrix \(d N_{c} \times \bar{d} N_{p}\) carrying the information on the geometry of the contact network. Identically, we have for the impulses

$$ \boldsymbol{P} = H(\boldsymbol{q},\alpha ) \boldsymbol{p}^{\alpha}, $$
(2.13)

where \(H(\boldsymbol{q},\alpha )\) is the transpose of matrix \(H^{*}(\boldsymbol{q},\alpha )\).

The inelastic shock law can be written as follows:

$$\begin{aligned}& \text{if} \quad D^{\alpha} > 0 \quad \text{then} \quad p^{\alpha}_{n} = 0, \end{aligned}$$
(2.14)
$$\begin{aligned}& \text{if} \quad D^{\alpha} \leq 0 \quad \text{then} \\& \textstyle\begin{cases} {v}^{\alpha}_{n} \ge 0, \\ p^{\alpha}_{n} \ge 0, \\ {v}^{\alpha}_{n} p^{\alpha}_{n} = 0. \end{cases}\displaystyle \end{aligned}$$
(2.15)

Coulomb’s law of friction is written as follows:

$$\begin{aligned}& \boldsymbol{p}^{\alpha}_{t} \neq \boldsymbol{0}, \end{aligned}$$
(2.16)
$$\begin{aligned}& \textstyle\begin{cases} p^{\alpha}_{\boldsymbol{n}} = 0 \Longrightarrow {v}^{ \alpha}_{\boldsymbol{n}} \ge 0, \\ p^{\alpha}_{\boldsymbol{n}} > 0 \quad \text{and} \quad \Vert \boldsymbol{p}^{ \alpha}_{\boldsymbol{t}} \Vert < \mu p^{\alpha}_{n} \Longrightarrow \boldsymbol{v^{\alpha }_{\boldsymbol{t}}} = 0, \\ p^{\alpha}_{\boldsymbol{n}} > 0 \quad \text{and} \quad |\boldsymbol{p}^{ \alpha}_{\boldsymbol{t}} \vert \vert = \mu p^{\alpha}_{\boldsymbol{n}} \Longrightarrow \exists \beta \ge 0, \boldsymbol{v^{\alpha }_{\boldsymbol{t}}} = \beta \frac{\boldsymbol{p}^{\alpha}_{\boldsymbol{t}}}{ \Vert \boldsymbol{p}^{\alpha}_{\boldsymbol{t}} \Vert }, \end{cases}\displaystyle \end{aligned}$$
(2.17)

where μ is the friction coefficient.

The frictional contact laws (2.15) and (2.17) can been also formulated in subdifferential inclusions as

p α I R ( v n α ) n+ I C ( p n α ) ( v t α ) .
(2.18)

2.2.3 Nonlinear Gauss–Seidel (NLGS) method for nonsmooth contact dynamics (NSCD)

This section is devoted to the description of the method used to solve the rigid body dynamic contact problems [14]. Following the ideas of Jean and Moreau (see for example [6, 8, 38]), we use the NLGS method, which consists in considering successively each contact until the convergence.

Considering that the time interval of interest is \([0,T]\), we discretize for numerical purposes the previous equation (2.11). For that, we introduce uniform time instants \(t^{n}\) defined by \(t^{n+1} = t^{n} + \Delta{t}\) for \(n = 0,\ldots,N_{T} - 1\), where

  • \(\Delta{t} = T / N_{T}\) is the time step;

  • \(N_{T}\) is the total number of time steps.

Equation (2.11) is then integrated on each time interval \([t^{n},t^{n+1}]\) and approximated using a θ-scheme, with \(\theta \in [\frac{1}{2},1]\) for stability reasons (see [9, 39]). Therefore, the classical approximation of equation (2.11) yields

{ M ( q ˙ n + 1 q ˙ n ) = Δ t ( θ F n + 1 + ( 1 θ ) F n ) + P n + 1 , q n + 1 = q n + Δ t θ q ˙ n + 1 + Δ t ( 1 θ ) q ˙ n ,
(2.19)

where

  • \(\boldsymbol{P}^{n+1}\) represents the value of the total impulsion over the time step \([t^{n},t^{n+1}]\);

  • \(\boldsymbol{F}^{n}\) (resp. \(\boldsymbol{F}^{n+1}\)) is the external force computed at time \(t^{n}\) (resp. \(t^{n+1}\)).

Denoting by q ˙ n , free = q ˙ n + M 1 Δt(θ F n + 1 +(1θ) F n ) the velocity when the contact impulses vanish, the first equation of (2.19) becomes

q ˙ n + 1 = q ˙ n , free + M 1 P n + 1 .
(2.20)

By combining (2.15), (2.12), (2.13), and (2.19), the discretization of the multi-contact system’s motion with contact between rigid bodies can be written for each contact α:

{ v ˜ α , n + 1 = v ˜ n , α , free + W p α , n + 1 , contact_law ( v ˜ n α , n + 1 , p n α , n + 1 ) = . true . α [ 1 , , N α ] , friction_law ( v ˜ α , n + 1 , p α , n + 1 ) = . true . α [ 1 , , N α ] .
(2.21)

The matrix W is called the Delassus matrix, which represents the mass matrix reduced to local variables.

The time-stepping method combined with the NLGS algorithm takes the following form:

  • Loop on the step time n

    • Prediction of a position (for the computation of the local-global mapping):

      $$ {\mathbf{q}}^{n+\frac{1}{2}}={\mathbf{q}}^{n}+ \frac{\Delta t}{2}\dot{\mathbf{q}}^{n}; $$
      (2.22)
    • Initialization of the motion: \(\dot{\mathbf{q}}^{0,n+1}=\dot{\mathbf{q}}^{n,\mathrm{free}}\) (initialization of the contact impulses with \({\mathbf{P}}=0\)).

    • Loop on \(j\geq 0\) (NLGS) until convergence

      1. Loop on the contacts α:

        1. +

          Computation of the local-global mapping

          $$\begin{aligned}& {\mathbf{v}}^{-}=H^{*}\bigl({ \mathbf{q}}^{n+\frac{1}{2}},\alpha \bigr)\dot{\mathbf{{q}}}^{n} ; \end{aligned}$$
          (2.23)
          $$\begin{aligned}& {\mathbf{v }}^{{\alpha ,j}^{+}}=H^{*}\bigl({\mathbf{q}}^{n+\frac{1}{2}}, \alpha \bigr) \dot{\mathbf{{q}}}^{j,n+1}. \end{aligned}$$
          (2.24)
        2. +

          Newton shock law (using formal Moreau velocity)

          $$\begin{aligned}& \tilde{{v}}_{n}^{\alpha ,j+1}= \frac{{v}_{n}^{{\alpha ,j}^{+}}+e_{n} {v}_{n}^{-}}{1+e_{n}}\ ; \end{aligned}$$
          (2.25)
          $$\begin{aligned}& \boldsymbol{\tilde{{v}}}_{t}^{\alpha ,j+1}= \frac{\boldsymbol{{\mathbf{v}}}_{t}^{{\alpha ,j}^{+}}+e_{t}{\boldsymbol{\mathbf{v}}}_{t}^{-}}{1+e_{t}}. \end{aligned}$$
          (2.26)
        3. +

          Computation of the frictional contact law:

          $$\begin{aligned}& \textstyle\begin{cases} \text{contact\_law}(\tilde{{v}}^{\alpha ,j+1},p^{\alpha ,j+1}) = .\mathrm{true}. \\ \text{friction\_law}(\boldsymbol{\tilde{{v}}}^{\alpha ,j+1},\boldsymbol{p}^{ \alpha ,j+1}) = .\mathrm{true}. \end{cases}\displaystyle \end{aligned}$$
          (2.27)
        4. +

          Actualisation of the generalised displacement:

          q ˙ j + 1 , n + 1 = q ˙ j , n + 1 + M 1 P ( q n + 1 2 , α ) p α , j + 1 .
      2. End of the loop on contacts α.

    • End of the loop on j of NLGS. When the convergence is reached, actualisation of the velocity: \(\dot{\mathbf{q}}^{n+1}=\dot{\mathbf{q}}^{n+1,j+1}\).

    • Actualisation of the generalised displacements: \({\mathbf{q}}^{n+1}={\mathbf{q}}^{n+\frac{1}{2}}+\frac{\Delta t}{2}\dot{\mathbf{q}}^{n+1}\).

  • End of the loop on the step time k.

3 Semi-smooth Newton approach for solving the frictional contact conditions

The semi-smooth Newton-PDAS methods appear to be one of the most relevant methods for solving friction contact problems (cf. [27, 29, 30]). These methods are based on the following principle: the conditions of contact and friction are reformulated in terms of nonlinear complementarity functions whose solution is provided by the semi-smooth iterative method of Newton [26, 27]. To this end, we need the generalised derivative of complementary functions for contact and friction. In practice, the conditions of contact with Coulomb’s friction can be formulated in terms of a fixed point problem related to a quasi-optimisation one. From a purely algorithmic point of view, the main goal of these methods is to separate the nodes potentially in contact into two subsets (active and inactive) and to find the correct subset of all the nodes actually in active contact (subset \(\mathcal{A }\)), as opposed to those that are inactive (subset \(\mathcal{I }\)). In practice, the semi-smooth Newton-PDAS methods do not require the use of Lagrange multipliers. In fact, the boundary conditions on the subsets \(\mathcal{A }\) and \(\mathcal{I }\) are directly imposed thanks to a semi-smooth Newton method, and consequently, their implementation could be achieved without much effort.

In order to generalise the frictional contact conditions for deformable and rigid problems, we will make a change of variables. Let us take the following sthenic and kinematic variables:

$$\begin{aligned} & - \text{For deformable problems:} \quad \phi _{n}=\lambda ^{\alpha}_{n}, \ \boldsymbol{\phi }_{t}=\boldsymbol{\lambda }^{\alpha}_{t}, \ w_{n}=u^{ \alpha}_{n}, \ \boldsymbol{w}_{t}= \dot{\boldsymbol{u}}^{\alpha}_{t}, \end{aligned}$$
(3.1)
$$\begin{aligned} & - \text{For rigid problems:} \quad \phi _{n}=p^{\alpha}_{n}, \ \boldsymbol{\phi }_{t}=\boldsymbol{p}^{\alpha}_{t}, \ w_{n}=v_{n}, \ \boldsymbol{w}_{t}={ \boldsymbol{v}}^{\alpha}_{t}. \end{aligned}$$
(3.2)

3.1 Complementary function for frictional contact

Signorini’s conditions (2.2) or (2.15) can be formulated from the following nonlinear complementary function \({\mathcal{C}}_{n}^{\phi}(w_{n},\phi _{n})\):

$$\begin{aligned} {\mathcal{C}}_{n}^{\phi}(w_{n},\phi _{n})=\phi _{n} - [\phi _{n} - \gamma _{n} w_{n}]_{+} \quad \forall \alpha \in {\mathcal{S}}, \end{aligned}$$
(3.3)

where \({\mathcal{S}}\) is the set of all potential contact nodes and \(\gamma _{n}>0\) is the normal active set parameter. Let us state a first result.

Proposition 3.1

The unilateral contact conditions (2.2) or (2.15) for each potential contact are equivalent to \({\mathcal{C}}_{n}^{\phi}(w_{n},\phi _{n})=0\), where \(\phi _{n}\) is the normal reaction (or impulse) force.

For the proof, see [35] for deformable problems and see [34] for rigid problems.

Frictional Coulomb’s conditions (2.3) or (2.17) can be formulated from the following nonlinear complementary function \({\mathcal{C}}_{t}^{\phi}(w_{n},\boldsymbol{\phi }_{t},\phi _{n}, \boldsymbol{\phi }_{t})\):

$$\begin{aligned} {\mathcal{C}}_{t}^{\phi}(w_{n}, \boldsymbol{w}_{t},\phi _{n}, \boldsymbol{\phi }_{t})=\max{\bigl(\mu \phi _{n}, \Vert \boldsymbol{ \phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert \bigr)}\boldsymbol{\phi }_{t} - \mu \phi _{n}( \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t}) \quad \forall \alpha \in {\mathcal{S}}, \end{aligned}$$
(3.4)

where \(\gamma _{t}>0\) is the tangential active set parameter. Then, let us present this result.

Proposition 3.2

The frictional contact conditions (2.3) or (2.17) for each contact are equivalent to \({\mathcal{C}}_{t}^{\phi}(w_{n},\boldsymbol{w}_{t},\phi _{n}, \boldsymbol{\phi }_{t})=0\), where \(\boldsymbol{\phi }_{t}\) is the tangential reaction (or impulse) force between two particles in contact.

For the proof, see [34] for deformable problems and see [35] for rigid problems.

3.2 Generalised derivative of complementary functions

Now, we provide the generalised derivative of the complementary functions in the gap, stick and slip cases.

\(\underline{\bullet \text{ Gap case: }\phi _{n} - \gamma _{n} w_{n}\le 0}\)

According to the complementary functions \({\mathcal{C}}_{n}^{\phi}(w_{n},\phi _{n})=\phi _{n}\) and \({\mathcal{C}}_{t}^{\phi}(w_{n},\boldsymbol{w}_{t},\phi _{n},\boldsymbol{\phi }_{t})=\| \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t}\|\boldsymbol{\phi }_{t}\), we have the following derivatives:

$$\begin{aligned} &d_{w_{n}} {\mathcal{C}}_{n}^{\phi}=0 , \end{aligned}$$
(3.5)
$$\begin{aligned} &d_{\phi _{n}} {\mathcal{C}}_{n}^{\phi}=d{\phi _{n}} , \end{aligned}$$
(3.6)
$$\begin{aligned} &d_{w_{n}} {\mathcal{C}}_{t}^{\phi}=0, \end{aligned}$$
(3.7)
$$\begin{aligned} &d_{\boldsymbol{w}_{t}} {\mathcal{C}}_{t}^{\phi}=-\gamma _{t} \boldsymbol{\phi }_{t} \frac{(\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t})^{T}}{ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert }\,d{ \boldsymbol{w}_{t}}=0, \end{aligned}$$
(3.8)
$$\begin{aligned} &d_{\phi _{n}} {\mathcal{C}}_{t}^{\phi}=0, \end{aligned}$$
(3.9)
$$\begin{aligned} &d_{\boldsymbol{\phi }_{t}} {\mathcal{C}}_{t}^{\phi}= \biggl( \boldsymbol{\phi }_{t} \frac{(\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t})^{T}}{ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert }+ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert \boldsymbol{I}_{2} \biggr)\,d{\boldsymbol{\phi }_{t}}. \end{aligned}$$
(3.10)

\(\underline{\bullet \text{ Stick case: }\mu \phi _{n}\ge \|\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t}\|> 0}\)

Given the complementary functions \({\mathcal{C}}_{n}^{\phi}(w_{n},\phi _{n})=\gamma _{n} w_{n}\) and \({\mathcal{C}}_{t}^{\phi}(w_{n},\boldsymbol{w}_{t},\phi _{n},\boldsymbol{\phi }_{t})= \mu \gamma _{t} \phi _{n}\boldsymbol{w}_{t}\), we have

$$\begin{aligned} &d_{w_{n}} {\mathcal{C}}_{n}^{\phi}=\gamma _{n} \,d{w_{n}} , \end{aligned}$$
(3.11)
$$\begin{aligned} &d_{\phi _{n}} {\mathcal{C}}_{n}^{\phi}=0 , \end{aligned}$$
(3.12)
$$\begin{aligned} &d_{w_{n}} {\mathcal{C}}_{t}^{\phi}=0, \end{aligned}$$
(3.13)
$$\begin{aligned} &d_{\boldsymbol{w}_{t}} {\mathcal{C}}_{t}^{\phi}=\mu \gamma _{t} \phi _{n} \,d{ \boldsymbol{w}_{t}}, \end{aligned}$$
(3.14)
$$\begin{aligned} &d_{\phi _{n}} {\mathcal{C}}_{t}^{\phi}=\mu \gamma _{t} \boldsymbol{w}_{t} \,d{ \phi _{n}}, \end{aligned}$$
(3.15)
$$\begin{aligned} &d_{\boldsymbol{\phi }_{t}} {\mathcal{C}}_{t}^{\phi}=0 . \end{aligned}$$
(3.16)

\(\underline{\bullet \text{ Slip case: }\|\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t}\|> \mu \phi _{n}> 0}\)

From \({\mathcal{C}}_{n}^{\phi}(w_{n},\phi _{n})=\gamma _{n} w_{n}\) and \({\mathcal{C}}_{t}^{\phi}(w_{n},\boldsymbol{w}_{t},\phi _{n},\boldsymbol{\phi }_{t})=\| \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t}\|\boldsymbol{\phi }_{t}- \mu \phi _{n} ( \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t})\), it comes

$$\begin{aligned} &d_{w_{n}} {\mathcal{C}}_{n}^{\phi}=\gamma _{n} \,d{w_{n}} , \end{aligned}$$
(3.17)
$$\begin{aligned} &d_{\phi _{n}} {\mathcal{C}}_{n}^{\phi}=0 , \end{aligned}$$
(3.18)
$$\begin{aligned} &d_{w_{n}} {\mathcal{C}}_{t}^{\phi}=0, \end{aligned}$$
(3.19)
$$\begin{aligned} &d_{\boldsymbol{w}_{t}} {\mathcal{C}}_{t}^{\phi}= \biggl(- \gamma _{t} \boldsymbol{\phi }_{t} \frac{(\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t})^{T}}{ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert }+ \mu \gamma _{t} \phi _{n}\boldsymbol{I}_{2} \biggr)\,d{ \boldsymbol{w}_{t}}, \end{aligned}$$
(3.20)
$$\begin{aligned} &d_{\phi _{n}} {\mathcal{C}}_{t}^{\phi}=- \mu (\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t})\,d \phi _{n}, \end{aligned}$$
(3.21)
$$\begin{aligned} &d_{\boldsymbol{\phi }_{t}} {\mathcal{C}}_{t}^{\phi}= \biggl( \boldsymbol{\phi }_{t} \frac{(\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t})^{T}}{ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert } + \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert \boldsymbol{I}_{2} - \mu \phi _{n}\boldsymbol{I}_{2} \biggr)\,d{\boldsymbol{\phi }_{t}} . \end{aligned}$$
(3.22)

By combining (3.5)–(3.22) with \({\mathcal{D}}_{{\mathcal{C}}_{n}^{\phi}}\) and \({\mathcal{D}}_{{\mathcal{C}}_{t}^{\phi}}\) the generalised derivatives of \({\mathcal{C}}_{n}^{\phi}\) and \({\mathcal{C}}_{t}^{\phi}\), respectively, we obtain

$$\begin{aligned} &{\mathcal{D}}_{{\mathcal{C}}_{n}^{\phi}}(w_{n},\phi _{n}) ( \delta w_{n},\delta \phi _{n})= \gamma _{n}({1}_{\mathrm{Stick}}+ {1}_{\mathrm{Slip}})\delta w_{n} + {1}_{\mathrm{Gap}} \delta \phi _{n}, \end{aligned}$$
(3.23)
$$\begin{aligned} &{\mathcal{D}}_{{\mathcal{C}}_{t}^{\phi}}(w_{n},\boldsymbol{w}_{t}, \phi _{n}, \boldsymbol{\phi }_{t}) (\delta w_{n},\delta \boldsymbol{w}_{t},\delta \phi _{n}, \delta \phi _{t}) \\ &\quad = {1}_{\mathrm{Gap}} \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert \delta \boldsymbol{\phi }_{t} + {1}_{\mathrm{Stick}} ( \mu \gamma _{t} \phi _{n} \delta{ \boldsymbol{w}_{t}} + \mu \gamma _{t} \boldsymbol{w}_{t}\delta \phi _{n} ) \\ &\qquad {} + {1}_{\mathrm{Slip}} \biggl( \biggl(- \gamma _{t} \boldsymbol{\phi }_{t} \frac{(\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t})^{T}}{ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert }+ \mu \gamma _{t} \phi _{n}\boldsymbol{I}_{2} \biggr)\delta{ \boldsymbol{w}_{t}} - \mu (\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t})\delta \phi _{n} \\ &\qquad {} + \biggl( \boldsymbol{\phi }_{t} \frac{(\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t})^{T}}{ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert } + \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert \boldsymbol{I}_{2} - \mu \phi _{n} \boldsymbol{I}_{2} \biggr)\delta{\boldsymbol{\phi }_{t}} \biggr), \end{aligned}$$
(3.24)

where

$$\begin{aligned} &{1}_{\mathrm{Gap}} =1, \qquad {1}_{\mathrm{Stick}} = 0,\qquad {1}_{\mathrm{Slip}} = 0\quad {\mathrm{if}}\ \phi _{n} - \gamma _{n} w_{n}\le 0, \\ &{1}_{\mathrm{Gap}} =0,\qquad {1}_{\mathrm{Stick}} = 1,\qquad {1}_{\mathrm{Slip}} = 0\quad {\mathrm{if}}\ \mu \phi _{n} \ge \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert > 0, \\ &{1}_{\mathrm{Gap}} =0,\qquad {1}_{\mathrm{Stick}} = 0,\qquad {1}_{\mathrm{Slip}} = 1\quad {\mathrm{if}}\ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}_{t} \Vert > \mu \phi _{n}> 0. \end{aligned}$$

3.3 Fixed point conditions from Newton’s semi-smooth approach

Using now the semi-smooth Newton formalism (indexed by the subscript k) at the current fixed point \((w^{k}_{n},\boldsymbol{w}^{k}_{t},\phi ^{k}_{n},\phi ^{k}_{t})\) of the complementary functions \({\mathcal{C}}_{n}^{\phi}\) and \({\mathcal{C}}_{t}^{\phi}\), one can derive the new iterate \((w^{k+1}_{n},\boldsymbol{w}^{k+1}_{t},\phi ^{k+1}_{n},\phi ^{k+1}_{t})\)

$$\begin{aligned} &{\mathcal{D}}_{{\mathcal{C}}_{n}^{\phi}}\bigl(w^{k}_{n},\phi ^{k}_{n}\bigr) \bigl(\delta w^{k+1}_{n}, \delta \phi ^{k+1}_{n}\bigr)= - {\mathcal{C}}_{n}^{\phi} \bigl(w^{k}_{n},\phi ^{k}_{n} \bigr), \end{aligned}$$
(3.25)
$$\begin{aligned} &{\mathcal{D}}_{{\mathcal{C}}_{t}^{\phi}}\bigl(w^{k}_{n}, \boldsymbol{w}^{k}_{t}, \phi ^{k}_{n}, \boldsymbol{\phi }^{k}_{t}\bigr) \bigl(\delta w^{k+1}_{n}, \delta \boldsymbol{w}^{k+1}_{t}, \delta \phi ^{k+1}_{n},\delta \boldsymbol{\phi }^{k+1}_{t} \bigr) \\ &\quad = - {\mathcal{C}}_{t}^{\phi} \bigl(w^{k}_{n}, \boldsymbol{w}^{k}_{t}, \phi ^{k}_{n}, \boldsymbol{\phi }^{k}_{t}\bigr) , \end{aligned}$$
(3.26)
$$\begin{aligned} & \bigl(w^{k+1}_{n},\boldsymbol{w}^{k+1}_{t}, \phi ^{k+1}_{n},\boldsymbol{\phi }^{k+1}_{t} \bigr) \\ &\quad =\bigl(w^{k}_{n},\boldsymbol{w}^{k}_{t}, \phi ^{k}_{n},\boldsymbol{\phi }^{k}_{t} \bigr) +\bigl(\delta w^{k+1}_{n},\delta \boldsymbol{w}^{k+1}_{t},\delta \phi ^{k+1}_{n}, \delta \boldsymbol{\phi }^{k+1}_{t}\bigr) . \end{aligned}$$
(3.27)

\(\underline{\bullet \text{ Gap case: }{1}_{\mathrm{Gap}} =1, {1}_{\mathrm{Stick}} = 0, {1}_{\mathrm{Slip}} = 0}\)

From equations (3.25) and (3.26) we have

$$\begin{aligned} &\phi ^{k+1}_{n}-\phi ^{k}_{n}=- \phi ^{k}_{n}, \end{aligned}$$
(3.28)
$$\begin{aligned} & \bigl\Vert \boldsymbol{\phi }^{k}_{t}- \gamma _{t} \boldsymbol{w}^{k}_{t} \bigr\Vert \bigl(\boldsymbol{\phi } ^{k+1}_{t}- \boldsymbol{\phi }^{k}_{t}\bigr) = - \bigl\Vert \boldsymbol{\phi } ^{k}_{t}- \gamma _{t} \boldsymbol{w}^{k}_{t} \bigr\Vert \boldsymbol{\phi }^{k}_{t}. \end{aligned}$$
(3.29)

Next, the gap conditions of the semi-smooth Newton formalism are as follows:

$$\begin{aligned} &\phi ^{k+1}_{n}=0, \end{aligned}$$
(3.30)
$$\begin{aligned} &\boldsymbol{\phi }^{k+1}_{t}=\boldsymbol{0}, \end{aligned}$$
(3.31)

since \(\|\phi ^{k}_{t}- \gamma _{t} \boldsymbol{w}^{k}_{t}\|>0\).

\(\underline{\bullet \text{ Stick case: }{1}_{\mathrm{Gap}} =0, {1}_{\mathrm{Stick}} = 1, {1}_{\mathrm{Slip}} = 0}\)

From equations (3.25) and (3.26) we have

$$\begin{aligned} &\gamma _{n}\bigl(w^{k+1}_{n}-w^{k}_{n} \bigr)=-\gamma _{n}w^{k}_{n}, \end{aligned}$$
(3.32)
$$\begin{aligned} & \mu \gamma _{t} \phi ^{k}_{n}\bigl( \boldsymbol{w}^{k+1}_{t}- \boldsymbol{w}^{k}_{t} \bigr)+\mu \gamma _{t} \boldsymbol{w}^{k}_{t} \bigl(\phi ^{k+1}_{n}- \phi ^{k}_{n} \bigr) = -\mu \gamma _{t} \phi ^{k}_{n} \boldsymbol{w}^{k}_{t}. \end{aligned}$$
(3.33)

Next,

$$\begin{aligned} &w^{k+1}_{n}=0, \end{aligned}$$
(3.34)
$$\begin{aligned} & \boldsymbol{w}^{k+1}_{t} - \boldsymbol{w}^{k}_{t} = - \boldsymbol{w}^{k}_{t} \frac{\phi ^{k+1}_{n}}{\phi ^{k}_{n}}. \end{aligned}$$
(3.35)

For dynamics of rigid bodies and for a given contact node α, the fundamental principle of dynamics can be written as follows:

$$\begin{aligned} &\boldsymbol{w}^{\alpha} = \boldsymbol{w}^{\alpha ,\mathrm{free}} + { \mathcal{W}}^{ \alpha \alpha} \boldsymbol{\phi } ^{\alpha} + \sum _{\beta \neq \alpha} {\mathcal{W}}^{ \beta \alpha} \boldsymbol{\phi } ^{\beta}. \end{aligned}$$
(3.36)

Finally, the stick conditions for rigid bodies of the semi-smooth Newton formalism are as follows:

$$\begin{aligned} &w^{k+1}_{n}=0, \end{aligned}$$
(3.37)
$$\begin{aligned} &\boldsymbol{\phi }_{t}^{k+1} + \frac{\frac{\phi ^{k+1}_{n}}{\phi ^{k}_{n}}\boldsymbol{w}^{k}_{t}}{{\mathcal{W}}^{\alpha \alpha}_{tt}} = \boldsymbol{\phi } _{t}^{k}. \end{aligned}$$
(3.38)

\(\underline{\bullet \text{ Slip case: }{1}_{\mathrm{Gap}} =0, {1}_{\mathrm{Stick}} = 0, {1}_{\mathrm{Slip}} = 1}\)

For \({\mathcal{C}}_{n}^{\phi}\), we get once again

$$\begin{aligned} &w^{k+1}_{n}=0. \end{aligned}$$
(3.39)

For \({\mathcal{C}}_{t}^{\phi}\), we obtain

$$\begin{aligned} & \biggl(- \gamma _{t} \boldsymbol{\phi }^{k}_{t} \frac{(\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t})^{T}}{ \Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \Vert }+ \mu \gamma _{t} \phi ^{k}_{n} \boldsymbol{I}_{2} \biggr) \bigl(\boldsymbol{w}^{k+1}_{t}- \boldsymbol{w}^{k}_{t}\bigr) \\ &\qquad {} - \mu \bigl(\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t}\bigr) \bigl( \phi ^{k+1}_{n}-\phi ^{k}_{n}\bigr) \\ &\qquad {} + \biggl( \boldsymbol{\phi }^{k}_{t} \frac{(\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t})^{T}}{ \Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \Vert } + \bigl\Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \bigr\Vert \boldsymbol{I}_{2} - \mu \phi ^{k}_{n} \boldsymbol{I}_{2} \biggr) \bigl(\boldsymbol{\phi }^{k+1}_{t}- \boldsymbol{\phi }^{k}_{t}\bigr) \\ & \quad = - \bigl\Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \bigr\Vert \boldsymbol{\phi }^{k}_{t}+ \mu \phi ^{k}_{n} \bigl(\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t}\bigr) . \end{aligned}$$
(3.40)

Let us introduce

$$ \boldsymbol{F}^{(k)}= \boldsymbol{\phi }^{k}_{t} \frac{(\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t})^{T}}{ \Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \Vert }, \qquad E^{(k)}= \frac{1}{ \Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \Vert }. $$
(3.41)

Therefore, after an elementary computation

$$\begin{aligned} &- \gamma _{t} E^{(k)} \bigl( \boldsymbol{F}^{(k)}- \mu \phi ^{k}_{n} \boldsymbol{I}_{2} \bigr) \bigl(\boldsymbol{w}^{k+1}_{t}-\boldsymbol{w}^{k}_{t} \bigr) - \mu E^{(k)} \bigl(\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t}\bigr) \phi ^{k+1}_{n} \\ &\qquad {} + \bigl( E^{(k)}\bigl(\boldsymbol{F}^{(k)}- \mu \phi ^{k}_{n} \boldsymbol{I}_{2} \bigr)+ \boldsymbol{I}_{2} \bigr)\boldsymbol{\phi }^{k+1}_{t} -E^{(k)} \bigl( \boldsymbol{F}^{(k)} - \mu \phi ^{k}_{n}\boldsymbol{I}_{2} \bigr)\boldsymbol{\phi } ^{k}_{t}= 0. \end{aligned}$$

Now, let us introduce the following operators:

$$\begin{aligned} &\boldsymbol{M}_{\alpha}^{*(k)}=E^{(k)}\bigl( \boldsymbol{F}^{(k)} - \mu \phi ^{k}_{n} \boldsymbol{I}_{2}\bigr), \\ &\boldsymbol{h}_{\alpha}^{(k)}=E^{(k)} \boldsymbol{F}^{(k)} \bigl(\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \bigr)= \boldsymbol{\phi }^{k}_{t}. \\ &\boldsymbol{L}_{\alpha}^{*(k)}=- \gamma _{t} \bigl(\boldsymbol{I}_{2}+ \boldsymbol{M}_{\alpha}^{*(k)} \bigr)^{-1}\boldsymbol{M}_{\alpha}^{*(k)}, \\ &\boldsymbol{r}_{\alpha}^{*(k)}=\bigl(\boldsymbol{I}_{2}+ \boldsymbol{M}_{ \alpha}^{*(k)}\bigr)^{-1} \boldsymbol{h}_{\alpha}^{(k)}, \\ &\boldsymbol{v}_{\alpha}^{(k)}=\mu \bigl(\boldsymbol{I}_{2}+ \boldsymbol{M}_{\alpha}^{*(k)}\bigr)^{-1}E^{(k)} \bigl(\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t}\bigr). \end{aligned}$$

And, at last after computation, we have

$$\begin{aligned} &\boldsymbol{L}_{\alpha}^{*(k)}\boldsymbol{w}^{k+1}_{t}- \boldsymbol{v}_{\alpha}^{(k)}\phi ^{k+1}_{n}+ \boldsymbol{\phi }^{k+1}_{t}= \boldsymbol{r}_{\alpha}^{*(k)} - \boldsymbol{v}_{\alpha}^{(k)}\phi ^{k}_{n}. \end{aligned}$$

In this specific problem, and for a two-dimensional case, one can obtain a simplified equivalent version of the algorithm. Let \({\mathcal{D}}_{{\mathcal{C}}_{t}^{\phi}}^{\mathrm{slip}}\) be the generalised derivative of \({\mathcal{C}}_{t}^{\phi}\) in the slip case

$$\begin{aligned} {\mathcal{D}}_{{\mathcal{C}}_{t}^{\phi}}^{\mathrm{slip}}\bigl( \boldsymbol{w}^{\alpha}_{t}, \boldsymbol{\phi }_{t}\bigr) \bigl(\delta \boldsymbol{w}^{\alpha}_{t}, \delta \boldsymbol{\phi }_{t}\bigr)= {}&\boldsymbol{\phi }_{t} \frac{(\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}^{\alpha}_{t})^{T}}{ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}^{\alpha}_{t} \Vert }\bigl( \delta \boldsymbol{\phi }_{t} - \delta \boldsymbol{w}^{\alpha}_{t}\bigr) \\ & {} - \mu \phi _{n} \bigl(\delta \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}^{\alpha}_{t}\bigr)+ \bigl\Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}^{\alpha}_{t} \bigr\Vert \delta \boldsymbol{ \phi }_{t} . \end{aligned}$$
(3.42)

Denoting by t the unit slip vector, we have

$$ \boldsymbol{\phi }_{t}=\mu \phi _{n}\mathbf{{t}} , \qquad \frac{\boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}^{\alpha}_{t}}{ \Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}^{\alpha}_{t} \Vert }= \mathbf{{t}},\qquad \delta \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}^{\alpha}_{t}= \eta {\mathbf{{t}}}. $$
(3.43)

Combining (3.42)–(3.43), we get

$$\begin{aligned} &{\mathcal{D}}_{{\mathcal{C}}_{t}^{\phi}}^{\mathrm{slip}}\bigl(\boldsymbol{w}^{\alpha}_{t}, \boldsymbol{\phi }_{t}\bigr) \bigl(\delta \boldsymbol{w}^{\alpha}_{t}, \delta \boldsymbol{\phi }_{t}\bigr)= \mu \phi _{n}\eta \bigl(\mathbf{{t}}\mathbf{t}^{T}- \boldsymbol{I}_{2} \bigr){t}+ \bigl\Vert \boldsymbol{\phi }_{t} - \gamma _{t} \boldsymbol{w}^{\alpha}_{t} \bigr\Vert \delta \boldsymbol{\phi }_{t}. \end{aligned}$$
(3.44)

Since \(\mathbf{{t}}\mathbf{t}^{T}+\mathbf{{n}}\mathbf{n}^{T} = \boldsymbol{I}_{2} \) in the 2D case, we have \((\mathbf{{t}}\mathbf{t}^{T}- \boldsymbol{I}_{2})\mathbf{t} = \mathbf{{n}}\mathbf{n}^{T} \mathbf{t} = \mathbf{{0}}\). Using (3.26), we obtain

$$ \bigl\Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \bigr\Vert \bigl(\boldsymbol{\phi } ^{k+1}_{t} - \boldsymbol{\phi }^{k}_{t} \bigr)= - \bigl\Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \bigr\Vert \boldsymbol{\phi }^{k}_{t} + \mu \phi ^{k}_{n} \bigl(\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t}\bigr). $$
(3.45)

Therefore, (3.45) becomes

$$\begin{aligned} &\boldsymbol{\phi }_{t}^{k+1} = \mu \phi ^{k}_{n} \frac{\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t}}{ \Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \Vert } = \mu \phi ^{k}_{n} \mathbf{t}. \end{aligned}$$
(3.46)

Finally, the slip 2D conditions of the semi-smooth Newton formalism are as follows:

$$\begin{aligned} &w^{k+1}_{n}=0, \end{aligned}$$
(3.47)
$$\begin{aligned} &\boldsymbol{\phi }_{t}^{k+1} = \mu \phi ^{k}_{n} \frac{\boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t}}{ \Vert \boldsymbol{\phi }^{k}_{t} - \gamma _{t} \boldsymbol{w}^{k}_{t} \Vert }. \end{aligned}$$
(3.48)

4 Primal-dual active set methods

This section is devoted to the numerical treatment of the contact conditions using a primal-dual active set method within the framework of dynamic contact problems. After defining the active and inactive subsets of all nodes that are currently in contact, we compute the contact conditions on each subset only in terms of contact reaction or impulses, using the local general equations of motion in the form of (3.3) and (3.4).

4.1 “Exact” primal-dual active set method (EPDAS)

Let us denote by \({\mathcal{S}}\) the set of potential contact and by α a potential contact node belonging to \({\mathcal{S}}\). The frictional contact conditions (2.15)–(2.17) are realised by applying an active set strategy which derives directly from the computation of the fixed point on the nonlinear complementary functions \({\mathcal{C}}_{n}^{\boldsymbol{\phi }}\) and \({\mathcal{C}}_{t}^{\boldsymbol{\phi }}\) based on the Newton semi-smooth scheme derived in part 3. The active and inactive sets are defined as follows:

$$\begin{aligned} &{\mathcal{A}}_{n}^{k+1}=\bigl\{ \alpha \in { \mathcal{S}}:\phi ^{\alpha ,k}_{n} - \gamma _{n} w^{\alpha ,k}_{n} \geq 0\bigr\} , \\ &{\mathcal{I}}_{n}^{k+1}=\bigl\{ \alpha \in { \mathcal{S}}:\phi ^{\alpha ,k}_{n} - \gamma _{n} w^{\alpha ,k}_{n} < 0\bigr\} , \\ &{\mathcal{A}}_{t}^{k+1}=\bigl\{ \alpha \in { \mathcal{S}}: \bigl\Vert \boldsymbol{\phi }^{ \alpha ,k}_{t} - \gamma _{t} \boldsymbol{w}^{\alpha ,k}_{t} \bigr\Vert - \mu \phi ^{\alpha ,k}_{n} \geq 0\bigr\} , \\ &{\mathcal{I}}_{t}^{k+1}=\bigl\{ \alpha \in { \mathcal{S}}: \bigl\Vert \boldsymbol{\phi }^{ \alpha ,k}_{t} - \gamma _{t} \boldsymbol{w}^{\alpha ,k}_{t} \bigr\Vert - \mu \phi ^{\alpha ,k}_{n}\le 0 \bigr\} . \end{aligned}$$

The status of a given potential α at the nonlinear iteration j depends on the set it belongs to. It can be either in the noncontact, slip or stick status.

Remark

For rigid problems, according to Sect. 2.2.3, the numerical computation of the local contact step inside the NLGS iteration loop of index j leads to the following primal-dual active set algorithm indexed by k. That is to say, we make only one iteration of the PDAS algorithm at each NLGS iteration, because the convergence of the NLGS method is slower than the convergence of the PDAS method. Therefore \(k=j\) in the following algorithm.

(i) Choose \((\boldsymbol{w}^{(0)},\boldsymbol{\phi }^{(0)})\), \(\gamma _{n}>0\), \(\gamma _{t}>0\) and set \(k=0\).

(ii) Compute: \(\tau ^{\alpha ,k+1}_{n} = \phi ^{\alpha ,k}_{n} - \gamma _{n} w^{ \alpha ,k}_{n}\) for each \(\alpha \in {\mathcal{S}}\).

(iii) Compute: \(\tau ^{\alpha ,k+1}_{t} = \|\boldsymbol{\phi }^{\alpha ,k}_{t} - \gamma _{t} \boldsymbol{w}^{\alpha ,k}_{t}\| - \mu \phi ^{\alpha ,k}_{n}\) for each \(\alpha \in {\mathcal{S}}\).

(iv) Set the active and inactive sets:

$$\begin{aligned} &{\mathcal{A}}_{n}^{k+1}=\bigl\{ \alpha \in { \mathcal{S}}:\tau ^{\alpha ,k+1}_{n} \geq 0\bigr\} , \\ &{\mathcal{I}}_{n}^{k+1}={\mathcal{S}}\setminus { \mathcal{A}}_{n}^{k+1}, \\ &{\mathcal{A}}_{t}^{k+1}=\bigl\{ \alpha \in { \mathcal{S}}:\tau ^{\alpha ,k+1}_{t} \geq 0\bigr\} , \\ &{\mathcal{I}}_{t}^{k+1}={\mathcal{S}}\setminus { \mathcal{A}}_{t}^{k+1}. \end{aligned}$$

(v) Find \((\boldsymbol{w}^{\alpha ,k+1},\boldsymbol{\phi }^{\alpha ,k+1 })\) such that

$$\begin{aligned} & \phi ^{\alpha ,k+1}_{n}=0, \qquad \boldsymbol{ \phi }^{\alpha ,k+1}_{t}= \boldsymbol{0}\quad \text{for all } \alpha \in {\mathcal{I}}_{n}^{k+1}, \end{aligned}$$
(4.1)
$$\begin{aligned} & w^{\alpha ,k+1}_{n}=0 \quad {\mathrm{for \ all}} \ \alpha \in {\mathcal{A}}_{n}^{k+1}, \end{aligned}$$
(4.2)
$$\begin{aligned} & \boldsymbol{\phi }_{t}^{\alpha ,k+1} =\mu \phi ^{\alpha ,k}_{n} \frac{(\boldsymbol{\phi }^{\alpha ,k}_{t} - \gamma _{t} \boldsymbol{w}^{\alpha ,k}_{t})}{ \Vert \boldsymbol{\phi }^{\alpha ,k}_{t} - \gamma _{t} \boldsymbol{w}^{\alpha ,k}_{t} \Vert } \quad {\mathrm{for \ all}} \ \alpha \in {\mathcal{A}}_{t}^{k+1}\cap { \mathcal{A}}_{n}^{k+1}, \end{aligned}$$
(4.3)
$$\begin{aligned} & \boldsymbol{w}^{\alpha ,k+1}_{t} - \boldsymbol{w}^{\alpha ,k}_{t} = - \boldsymbol{w}^{\alpha ,k}_{t} \frac{\phi ^{\alpha ,k+1}_{n}}{\phi ^{\alpha ,k}_{n}}. \end{aligned}$$
(4.4)

(vi) If \(\|(\boldsymbol{w}^{\alpha ,k+1},\boldsymbol{\phi }^{\alpha ,k+1})-( \boldsymbol{w}^{\alpha , j},\boldsymbol{\phi }^{\alpha ,k})\|\leq \epsilon \), \({\mathcal{A}}_{n}^{k+1}={\mathcal{A}}_{n}^{k}\) and \({\mathcal{A}}_{t}^{k+1}={\mathcal{A}}_{t}^{k}\) stop, else go to (ii).

4.2 “Iterative” primal-dual active set method (IPDAS)

Since we have noticed that (4.4) can lead to numerical instabilities when \(\phi ^{\alpha ,k}_{n}\) is small, we introduce a variant of the previous method. For that purpose, we have to introduce the couple \((\boldsymbol{w}^{i,j+1},\boldsymbol{\phi }^{i,k+1})\), which represents the value of \((\boldsymbol{w},\boldsymbol{\phi })\) at the ith fixed point iteration and at the kth active set iteration. Moreover, \((\boldsymbol{w}^{(i-1,.)},\boldsymbol{\phi }^{(i-1,.)})\) represents the values of \((\boldsymbol{w},\boldsymbol{\phi })\) obtained at the convergence of the active set method for the fixed point iteration \(i-1\). Therefore, for each active set iteration, we fix \(\phi _{n}^{\alpha ,(i,k+1)}\) to the value \(\phi _{n}^{\alpha ,(i-1,.)}\) obtained at the previous fixed point iteration. Then, condition (4.4) leads to \({\boldsymbol{w}^{\alpha ,k}_{t}}=\boldsymbol{0}\).

(i) Choose \((\boldsymbol{w}^{(0)},\boldsymbol{\phi }^{(0)})\), \(\gamma _{n}>0\), \(\gamma _{t}>0\) and set \(k=0\).

(ii) Compute: \(\tau ^{\alpha ,(i,k+1)}_{n} = \phi ^{\alpha ,(i,k)}_{n} - \gamma _{n} w^{\alpha ,(i,k)}_{n}\) for each \(\alpha \in {\mathcal{S}}\).

(iii) Compute: \(\tau ^{\alpha ,(i,k+1)}_{t} = \|\boldsymbol{\phi }^{\alpha ,(i,k)}_{t} - \gamma _{t} \boldsymbol{w}^{\alpha ,(i,k)}_{t}\| - \mu \phi ^{ \alpha ,(i,k)}_{n}\) for each \(\alpha \in {\mathcal{S}}\).

(iv) Set the active and inactive sets:

$$\begin{aligned} &{\mathcal{A}}_{n}^{k+1}=\bigl\{ \alpha \in { \mathcal{S}}:\tau ^{\alpha ,(i,k+1)}_{n} \geq 0\bigr\} , \\ &{\mathcal{I}}_{n}^{k+1}={\mathcal{S}}\setminus { \mathcal{A}}_{n}^{k+1}, \\ &{\mathcal{A}}_{t}^{k+1}=\bigl\{ \alpha \in { \mathcal{S}}:\tau ^{\alpha ,(i,k+1)}_{t} \geq 0\bigr\} , \\ &{\mathcal{I}}_{t}^{k+1}={\mathcal{S}}\setminus { \mathcal{A}}_{t}^{k+1}. \end{aligned}$$

(v) Find \((\boldsymbol{w}^{\alpha (i,k+1) },\boldsymbol{\phi }^{\alpha (i,k+1) })\) such that

$$\begin{aligned} & p^{\alpha ,(i,k+1)}_{n}=0, \qquad \boldsymbol{\phi }^{\alpha ,(i,k+1)}_{t}= \boldsymbol{0}\quad \text{for all } \alpha \in {\mathcal{I}}_{n}^{k+1}, \end{aligned}$$
(4.5)
$$\begin{aligned} & w^{\alpha ,(i,k+1)}_{n}=0 \quad \text{for all } \alpha \in { \mathcal{A}}_{n}^{k+1}, \end{aligned}$$
(4.6)
$$\begin{aligned} & \boldsymbol{\phi }_{t}^{\alpha ,(i,k+1)} =\mu \phi ^{\alpha ,(i,k)}_{n} \frac{(\boldsymbol{\phi }^{\alpha ,(i,k)}_{t} - \gamma _{t} \boldsymbol{w}^{\alpha ,(i,k)}_{t})}{ \Vert \boldsymbol{\phi }^{\alpha ,(i,k)}_{t} - \gamma _{t} \boldsymbol{w}^{\alpha ,(i,k)}_{t} \Vert } \quad {\mathrm{for \ all}} \ \alpha \in {\mathcal{A}}_{t}^{k+1}\cap { \mathcal{A}}_{n}^{k+1}, \end{aligned}$$
(4.7)
$$\begin{aligned} & {\boldsymbol{w}^{\alpha ,(i,k)}_{t}} = \boldsymbol{0} \quad {\mathrm{for \ all}} \ \alpha \in {\mathcal{I}}_{t}^{k+1} \cap {\mathcal{A}}_{n}^{k+1}. \end{aligned}$$
(4.8)

(vi) If \(\|(\boldsymbol{w}^{\alpha ,(i,k+1)},\boldsymbol{\phi }^{\alpha ,(i,k+1)})-( \boldsymbol{w}^{\alpha ,(i,k)},\boldsymbol{\phi }^{\alpha ,(i,k)})\| \leq \epsilon \), \({\mathcal{A}}_{n}^{k+1}={\mathcal{A}}_{n}^{k}\) and \({\mathcal{A}}_{t}^{k+1}={\mathcal{A}}_{t}^{k}\) stop, else go to (ii).

Remark

For rigid problems, we do not use this fixed point iteration i because the number of iterations of NLGS is very high, it suffices to replace relation (4.4) by

$$ \boldsymbol{\phi }_{t}^{\alpha ,(i,k+1)} + \frac{\boldsymbol{w}^{\alpha ,(i,k)}_{t}}{{\mathcal{W}}_{tt}} = \boldsymbol{\phi }_{t}^{\alpha ,(i,k)} \quad {\mathrm{for \ all}} \ \alpha \in {\mathcal{I}}_{t}^{k+1}\cap { \mathcal{A}}_{n}^{k+1}. $$
(4.9)

Remark

For deformable problems, at the beginning to step (v), we must solve the nonlinear systems (2.8).

Remark

In the case of rigid problem, the stopping criterion (vi) can be enriched with physical considerations, such as the properties of the networks of forces in the granular medium.

5 Numerical experiments

A sweeping process based formulation for the frictional contact problem has been drawn in the previous section. Combining the semi-smooth Newton approach with the primal-dual active set method leads to a specific numerical method to tackle contact mechanics problems. For illustration purpose, some simulations are presented hereafter. This intends to outline the ability of the present numerical scheme to undergo frictional contact problems.

5.1 Bounce of a hyper-elastic ring against a rigid foundation

We first consider a representative application, a hyper-elastic ring bouncing on a perfectly rigid foundation, to assess the performances of the active set type in a large deformation framework. The ring is thrown toward a rigid foundation with an initial velocity at an angle of 45, as depicted in Fig. 2. We provide below a description of the numerical settings:

$$\begin{aligned}& \rho = 1000 \text{ kg/m}^{3}, \qquad T=5\text{ s}, \qquad k=\frac{1}{500}, \\& \boldsymbol{u}_{0}=(0,0)\text{ m}, \qquad \boldsymbol{u}_{1}=(10,-10)\text{ m/s}, \\& c_{1} = 0.5 \text{ MPa}, \qquad c_{2} = 0.05 \text{ MPa}, \qquad a = 0.5\times 10^{-4} \text{ MPa}, \\& c_{\nu}=10, \qquad c_{\tau}=10,\qquad r_{\mathrm{lagrangian}}=0.1, \\& g=50\text{ m}, \qquad \mu = 0.2, \\& \text{stopping criterion:}\quad \epsilon =10^{-6}. \end{aligned}$$
Figure 2
figure 2

Sequence of the deformed hyper-elastic ring before, during and after impact

Concerning the discretization size, it is described by a parameter \(nbc\), which denotes the number of contact nodes on Γ. The number of nodes on the outer contour of the ring is thus taken in order to obtain sufficient regular elements. The boundary \(\Gamma _{3} \) is divided into 128 equal parts, 1664 hyper-elastic finite elements were used for a total number of degrees of freedom equal to 2048.

The compressible material response illustrated here is described by a variant of the Ogden constitutive law (cf. [40]) defined by this energy density function

$$ W({\mathbf{C}}) = c_{1} (I_{1} - 3) + c_{2} (I_{2} - 3) + a (I_{3} - 1) - (c_{1} + 2 c_{2} + a) \ln I_{3} $$

with \(I_{1}\), \(I_{2}\) and \(I_{3}\), the three invariants of the tensor C, with \({\mathbf{C}}={\mathbf{F}}^{\mathbf{T}}{\mathbf{F}}\).

Details on the problem’s physical settings are given as follows:

Ω = { ( x 1 , x 2 ) R 2 : 81 < ( x 1 100 ) 2 + ( x 2 100 ) 2 < 100 } , Γ 1 = , Γ 2 = , Γ 3 = { ( x 1 , x 2 ) R 2 : ( x 1 100 ) 2 + ( x 2 100 ) 2 = 100 } .

Ω represents the section of a three-dimensional deformable body under the plane constraint assumption. The foundation is given by {( x 1 , x 2 ) R 2 : x 2 50}. For the discretization, we use 1664 elastic nodes and 128 contact nodes.

As previously announced, we will compare the results obtained by the active set method and the augmented quasi-Lagrangian method with regard to the convergence and the performances of the methods (see Tables 1 and 2).

Table 1 Results of the Active set method for the unilateral contact and Coulomb friction laws in comparison with the number of degrees of freedom (dof), the number of contact nodes (nbc), the total numbers of Newton iterations (Ntit), the average fixed point iterations (afpit) and the total CPU time (CPU) in seconds
Table 2 Results of the Augmented Lagrangian method for the unilateral contact and Coulomb friction laws in comparison with the number of degrees of freedom (dof), the number of contact nodes (nbc), the total numbers of Newton iterations (Ntit) and the total CPU time (CPU) in seconds

The results obtained above show that the performances of the active set method are slightly better than those of the augmented Lagrangian one. According to Fig. 3, the higher number of nodes in contact we have, the more the gap in CPU time between the methods widens, which confirms the robustness of the active set type methods on complex and relevant configurations. Moreover, even if the convergence of the active set method is ensured only for small values of the numerical parameters \(c_{\nu}\) and \(c_{\tau}\) (see [26, 27]), we do not observe any influence on the results, both in terms of convergence and the quality of the solution.

Figure 3
figure 3

Active set and Augmented Lagrangian CPU time with respect to \(nbc\)

The robustness of PDAS methods lies in the fact that these methods do not use the Lagrange multipliers, unlike the classical augmented Lagrangian method. Avoiding the Lagrange multipliers is a relevant and strong argument in favour of the active set type methods.

5.2 Granular materials in a 2D rotating drum

The second numerical example concerns the rotating drum in which we evaluate the behaviour of a 2D granular flow. The choice of this test case lies in the fact that it is representative of multi-rigid body contact problems due to the large number of simultaneous contacts to deal with and the large amount of CPU time needed to compute the solution. Besides, this test case has been studied in several works using both experiments and simulations, motivating the present choice. Specifically, a collection of 400 particles is considered inside a 450 mm diameter drum with a rotation speed equal to \(6~\text{rpm}\). The uniform random distribution chosen between 7 and 8 mm avoids the blockages during the drum rotation process and the particles are organised in two layers: one in a sticked contact with the inner wall of the drum and the other as a bed.

To assess the correctness of the simulation carried out using NSCD-PDAS, we compare the numerical results with the ones obtained with the well-known discrete element method (DEM) initiated and developed by Cundall and Strack [41], which consists of an explicit treatment of particle-particle collisions using soft-sphere approach (based on the “Spring–Dashpot” model) as detailed in [42], and opposed to the nonsmooth approach. To ease the comparisons with the DEM-CUNDALL approach and to verify the consistency of the numerical results, the NSCD-PDAS was implemented with the MFiX-EXA framework (see [42] for more details). In this way, one can take advantage from the parallel computing to speed up the computations. Thus, all the simulations were performed using 96 processors. A summary of the physical model and numerical parameters of the bidimensional rotating drum test case is reported in Tables 3 and 4. Let us notice that in this example the active set numerical parameters \(c_{\nu}\) and \(c_{\tau}\) can be chosen in a large interval, ranging from 10−8 to 102, in order to obtain a convergence of the fixed point in the active set method.

Table 3 Physical parameters of the flow in a rotating drum
Table 4 Numerical parameters for simulation in a rotating drum for each contact approach

We first evaluate the surface flow obtained by DEM-CUNDALL and NSCD-PDAS in the steady state. For this purpose, we first make a simulation over a time integration of 5 s. Therefore, one can observe according to Fig. 4 that the steady surface flow reached after 5 s of simulations is quite similar for both approaches in parallel, with \(dt_{\mathrm{NSCD}}>dt_{\mathrm{DEM}}\).

Figure 4
figure 4

Perspective views of granular flow profiles in a rotating drum obtained by DEM-CUNDALL [(a) particle diameter, (b) processor rank] and NSCD-PDAS [(c) particle diameter, (d) processor rank] when the steady surface flow is reached

With regard to the interpenetrations generated during a normal persistent contact between two particles, we measure them for both approaches, as depicted in Fig. 5.

Figure 5
figure 5

Visualization of interpenetrations measured (PN) during the simulations of granular flows in a rotating drum obtained by (a) DEM-CUNDALL and (b) NSCD-PDAS when the surface flow is reached

The nonsmooth formulation of the frictional contact conditions in the NSCD framework ensures a non-interpenetrability between the bodies (average penetration of the order of 10−6 m on some contacts)(see Fig. 5(b)), while the DEM-CUNDALL approach is characterised by a more important interpenetrability (average penetration of the order of 10−6 m on a good part of the contacts) for a normal spring constant \(k_{n} = 10^{3}\text{ Nm}^{-1}\), as shown in Fig. 5(a). This is an expected result since the CUNDALL model allows interpenetration.

To highlight the conservation property of the NSCD method, we compare the evolution of the kinetic energy over time between the two approaches. Since the DEM-CUNDALL approach is dependant on the normal spring constant \(k_{n}\), a parametric analysis is performed by taking two values (\(k_{n} = 10^{3}\text{ N}\cdot\text{m}^{-1}\) and \(k_{n} = 10^{5}\text{ N}\cdot\text{m}^{-1}\)). Figure 6 shows that the system’s kinetic energy is conserved with the NSCD-PDAS approach (red curve), whereas the influence of the spring constant is noticeable. The DEM-CUNDALL approach shows a rise of the kinetic energy with respect to increasing normal spring constant \(k_{n}\). One can expect that for higher values of \(k_{n}\) the kinetic energy level will converge to the NSCD-PDAS, but using infinitely small time steps to ensure the numerical stability.

Figure 6
figure 6

Evolution of the kinetic energy in DEM-CUNDALL (for different normal stiffness constants \(k_{n}\)) and NSCD-PDAS simulations of granular flows in a rotating drum over time

6 Conclusion

A unified modelling and numerical treatment of contact problems for both deformable and rigid bodies has been developed in this work. In this context, the complementary functions for both contact and friction formulated using a semi-smooth Newton approach lead to a fixed point problem. Therefore, the numerical treatment by the PDAS method leads for these two problems to an algorithm easy to implement. Numerical experiments of both hyper-elastic ring bouncing and granular materials in a rotating drum reported above have been performed and highlight the relevance of the proposed method and its efficiency in terms of CPU time, in comparison with the well-established DEM approach. Thus, the present method provides a unified modelling framework for the contact mechanics of contact discussed above and will be used for further developments.

Availability of data and materials

Not applicable.

References

  1. Laursen, T.A.: Computational Contact and Impact Mechanics: Fundamentals of Modeling Interfacial Phenomena in Nonlinear Finite Element Analysis. Springer, Berlin (2013)

    MATH  Google Scholar 

  2. Wriggers, P., Zavarise, G.: Computational Contact Mechanics. Encyclopedia of Computational Mechanics (2004)

    Google Scholar 

  3. Brogliato, B.: Impacts in Mechanical Systems: Analysis and Modelling. Springer, Berlin (2000)

    Book  Google Scholar 

  4. Acary, V., Brogliato, B.: Numerical Methods for Nonsmooth Dynamical Systems: Applications in Mechanics and Electronics. Springer, Berlin (2008)

    Book  Google Scholar 

  5. Moreau, J.J.: Application of convex analysis to some problems of dry friction. In: Trends in Applications of Pure Mathematics to Mechanics, pp. 263–280. Pitman, London (1977)

    Google Scholar 

  6. Moreau, J.J.: Unilateral contact and dry friction in finite freedom dynamics. In: Nonsmooth Mechanics and Applications, pp. 1–82. Springer, Berlin (1988)

    Chapter  Google Scholar 

  7. Monteiro Marques, M.D.P.: Differential Inclusions in Nonsmooth Mechanical Problem: Shocks and Dry Friction. Springer, Basel (1993)

    Book  Google Scholar 

  8. Jean, M.: The non-smooth contact dynamics method. Comput. Methods Appl. Mech. Eng. 177(3–4), 235–257 (1999)

    Article  MathSciNet  Google Scholar 

  9. Moreau, J.J.: Numerical aspects of the sweeping process. Comput. Methods Appl. Mech. Eng. 177(3–4), 329–349 (1999)

    Article  MathSciNet  Google Scholar 

  10. Jean, M., Moreau, J.J.: Unilaterality and dry friction in the dynamics of rigid body collections. In: 1st Contact Mechanics International Symposium, pp. 31–48 (1992)

    Google Scholar 

  11. Dubois, F., Acary, V., Jean, M.: The contact dynamics method: a nonsmooth story. C. R., Méc. 346(3), 247–262 (2018)

    Article  Google Scholar 

  12. Moreau, J.J.: Some numerical methods in multibody dynamics: application to granular materials. Eur. J. Mech. A, Solids 13(4–suppl), 93–114 (1994)

    MathSciNet  MATH  Google Scholar 

  13. de Saxcé, G., Feng, Z.-Q.: New inequality and functional for contact with friction: the implicit standard material approach. J. Struct. Mech. 19(3), 301–325 (1991)

    MathSciNet  Google Scholar 

  14. Fortin, J., Millet, O., de Saxcé, G.: Numerical simulation of granular materials by an improved discrete element method. Int. J. Numer. Methods Eng. 62(5), 639–663 (2005)

    Article  MathSciNet  Google Scholar 

  15. Feng, Z.-Q., Joli, P., Cros, J.-M., Magnain, B.: The bi-potential method applied to the modeling of dynamic problems with friction. Comput. Mech. 36(5), 375–383 (2005)

    Article  Google Scholar 

  16. Joli, P., Feng, Z.-Q.: Uzawa and Newton algorithms to solve frictional contact problems within the bi-potential framework. Int. J. Numer. Methods Eng. 73(3), 317–330 (2008)

    Article  MathSciNet  Google Scholar 

  17. Dumont, S.: On enhanced descent algorithms for solving frictional multicontact problems: application to the discrete element method. Int. J. Numer. Methods Eng. 93(11), 1170–1190 (2013)

    Article  MathSciNet  Google Scholar 

  18. Kikuchi, N., Oden, J.T.: Contact Problems in Elasticity: A Study of Variational Inequalities and Finite Element Methods. SIAM Studies in Applied Mathematics, vol. 8. Philadelphia (1988)

    Book  Google Scholar 

  19. Oden, J.T., Kim, S.J.: Interior penalty methods for finite element approximations of the Signorini problem in elastostatics. Comput. Math. Appl. 8(1), 35–56 (1986)

    Article  MathSciNet  Google Scholar 

  20. Alart, P., Curnier, A.: A mixed formulation for frictional contact problems prone to Newton like solution methods. Comput. Methods Appl. Mech. Eng. 92(3), 353–375 (1991)

    Article  MathSciNet  Google Scholar 

  21. Raous, M., Chabrand, P., Lebon, F.: Numerical methods for solving unilateral contact problem with friction. J. Theor. Appl. Mech. 7, 111–128 (1988)

    MATH  Google Scholar 

  22. Joli, P., Feng, Z.-Q.: Uzawa and Newton algorithms to solve frictional contact problems within the bi-potential framework. Int. J. Numer. Methods Eng. 73(3), 317–330 (2008)

    Article  MathSciNet  Google Scholar 

  23. Chouly, F.: An adaptation of Nitsche’s method to the Tresca friction problem. J. Math. Anal. Appl. 411(1), 329–339 (2014)

    Article  MathSciNet  Google Scholar 

  24. Chouly, F., Hild, P., Renard, Y.: A Nitsche finite element method for dynamic contact: 1. Space semi-discretization and time-marching schemes. ESAIM: Math. Model. Numer. Anal. 49(2), 481–502 (2015)

    Article  MathSciNet  Google Scholar 

  25. Chouly, F., Fabre, M., Hild, P., Mlika, R., Pousin, J., Renard, Y.: An overview of recent results on Nitsche’s method for contact problems. In: Geometrically Unfitted Finite Element Methods and Applications, pp. 93–141 (2017)

    Chapter  Google Scholar 

  26. Hintermüller, M., Kovtunenko, V.A., Kunisch, K.: Semismooth Newton methods for a class of unilaterally constrained variational problems. In: Universität Graz/Technische Universität Graz. SFB F003-Optimierung und Kontrolle (2003)

    Google Scholar 

  27. Hintermüller, M., Ito, K., Kunisch, K.: The primal-dual active set strategy as a semismooth Newton method. SIAM J. Optim. 13(3), 865–888 (2002)

    Article  MathSciNet  Google Scholar 

  28. Hintermüller, M., Kovtunenko, V.A., Kunisch, K.: Obstacle problems with cohesion: a hemivariational inequality approach and its efficient numerical solution. SIAM J. Optim. 21(2), 491–516 (2011)

    Article  MathSciNet  Google Scholar 

  29. Hüeber, S., Stadler, G., Wohlmuth, B.I.: A primal-dual active set algorithm for three-dimensional contact problems with Coulomb friction. SIAM J. Sci. Comput. 30(2), 572–596 (2008)

    Article  MathSciNet  Google Scholar 

  30. Hüeber, S., Wohlmuth, B.I.: A primal–dual active set strategy for non-linear multibody contact problems. Comput. Methods Appl. Mech. Eng. 194(27–29), 3147–3166 (2005)

    Article  MathSciNet  Google Scholar 

  31. Koziara, T., Bićanić, N.: Semismooth Newton method for frictional contact between pseudo-rigid bodies. Comput. Methods Appl. Mech. Eng. 197(33–40), 2763–2777 (2008)

    Article  MathSciNet  Google Scholar 

  32. Sharaf, I.M.: An active set algorithm for a class of linear complementarity problems arising from rigid body dynamics. Pak. J. Stat. Oper. Res. 339–352 (2016)

  33. Barboteu, M., Dumont, S.: A primal-dual active set method for solving multi-rigid-body dynamic contact problems. Math. Mech. Solids 23(3), 489–503 (2018)

    Article  MathSciNet  Google Scholar 

  34. Abide, S., Barboteu, M., Cherkaoui, S., Danan, D., Dumont, S.: Inexact primal–dual active set method for solving elastodynamic frictional contact problems. Comput. Math. Appl. 82, 36–59 (2021)

    Article  MathSciNet  Google Scholar 

  35. Abide, S., Barboteu, M., Danan, D.: Analysis of two active set type methods to solve unilateral contact problems. Appl. Math. Comput. 284, 286–307 (2016)

    MathSciNet  MATH  Google Scholar 

  36. Abide, S., Barboteu, M., Cherkaoui, S., Dumont, S.: A semi-smooth Newton and primal-dual active set method for non-smooth contact dynamics. Comput. Methods Appl. Mech. Eng. 387, 114153 (2021)

    Article  MathSciNet  Google Scholar 

  37. Moreau, J.J.: Standard inelastic shocks and the dynamics of unilateral constraints. In: Del Piero, G., Maceri, F. (eds.) Unilateral Problems in Structural Analysis. CISM Course and Lectures, vol. 288. pp. 173–221. Springer, Berlin (1985)

    Chapter  Google Scholar 

  38. Jourdan, F., Alart, P., Jean, M.: A Gauss-Seidel like algorithm to solve frictional contact problems. Comput. Methods Appl. Mech. Eng. 155(1–2), 31–47 (1998)

    Article  MathSciNet  Google Scholar 

  39. Renouf, M., Alart, P.: Conjugate gradient type algorithms for frictional multi-contact problems: applications to granular materials. Comput. Methods Appl. Mech. Eng. 194(18–20), 2019–2041 (2005)

    Article  MathSciNet  Google Scholar 

  40. Ciarlet, P.G., Geymonat, G.: Sur les lois de comportement en élasticité non-linéaire compressible. C. R. Acad. Sci. 295, 423–426 (1982)

    MathSciNet  MATH  Google Scholar 

  41. Cundall, P.A., Strack, O.D.L.: A discrete numerical model for granular assemblies. Geotechnique 29(1), 47–65 (1979)

    Article  Google Scholar 

  42. Garg, R., Galvin, J., Li, T., Pannala, S.: Documentation of open-source MFIX–DEM software for gas–solids flows. From https://mfix.netl.doe.gov/download/mfix/mfix_current_documentation/dem_doc_2012-1.pdf (2012)

Download references

Acknowledgements

Not applicable.

Funding

The project has received funding from the European Commission Horizon 2020 Research and Innovation Programme under the Marie Sklodowska-Curie grant agreement No. 823731 - CONMECH. This work was also realized with the support of MESO@LR, a Center of Competence in High-Performance Computing from the Languedoc-Roussillon region.

Author information

Authors and Affiliations

Authors

Contributions

All authors contributed equally in writing this article. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Stéphane Abide.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Abide, S., Barboteu, M., Cherkaoui, S. et al. Unified primal-dual active set method for dynamic frictional contact problems. Fixed Point Theory Algorithms Sci Eng 2022, 19 (2022). https://doi.org/10.1186/s13663-022-00729-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s13663-022-00729-4

MSC

Keywords