Abstract
The multibody system dynamics approach allows describing equations of motion for a dynamic system in a straightforward manner. This approach can be applied to a wide variety of applications that consist of interconnected components which may be rigid or deformable. Even though there are a number of applications in multibody dynamics, the contact description within multibody dynamics still remains challenging. A user of the multibody approach may face the problem of thousands or millions of contacts between particles and bodies. The objective of this article is to demonstrate a computationally straightforward approach for a planar case with multiple contacts. To this end, this article introduces a planar approach based on the cone complementarity problem and applies it to a practical problem of granular chains.
Introduction
A multibody system consists of a number of bodies which can interact via constraints or forces. The forces can be described conditionally if, for example, there is physical contact between the bodies. Accordingly, a number of individual solid bodies in a bulk of granular material 1 can move freely until they establish contact with other bodies or solid walls during which the contact (collision) forces (impulses) alter the response of the bodies.
Granular chains 2 are shown to be proper models for polymers driven far from equilibrium. 3 In the application of granular chains, it is important to obtain an accurate multiple impact models with a numerical method. Models which are governed by Newton’s and Poisson’s restitution law are widely used in describing the contact laws. Coulomb’s unilateral contact law with dry friction can be used to model the interaction between multiple particles. 4 Multibody dynamics and collision dynamics can be simultaneously applied to describing the behavior of granular chains. Individual multiple pendulums have been studied in the literature solely as a physics problem5,6 with different practical applications in the analysis of walking7–9 or bearings absorbing earthquake shocks. 10
Regardless of the applications, the problem of interacting pendulums is theoretically challenging and fascinating. Techniques of multibody dynamics can be combined with the collision dynamics of colliding pairs to obtain the mutual interactions of pendulums in time. Obviously, the time integrals of interactions are dependent on a number of geometric and physical parameters in the system under investigation. If one wants to simulate the granular with many contacts successfully, small time steps which can achieve numerical stability may be needed. Therefore, these issues motivate researchers to investigate the innovative time integration method to deal with the multiple contacts. In this field, Pang 11 has investigated in-depth time integration methods for calculating multiple frictional contacts with local compliance.
Using unilateral constraints, complementarity formulas can compute contact impulses to avoid penetration between rigid bodies. Simulations of multiple contacts can be performed with linear complementarity problem (LCP) and nonlinear complementarity problem (NCP) methods. When solving the time integration problem, LCP can unify linear and quadratic programmer solvers. 12 The methods of Gauss–Seidel and Jacobi are widely used to solve LCP. For the numerical solution of a large-scale symmetric positive-definite LCP, Kocvara and Zowe 13 have proposed an algorithm. Yao et al. 14 have established a linear complementary model to describe the non-holonomic system with friction by LCP. However, while the friction is nonzero or minor, the time integration interpretation will be lost, which makes the LCP solver imprecise. 15 Therefore, a more complex NCP which can be seen as an extension of LCP was proposed. DE Stewart and Trinkle 16 have proposed an implicit time-stepping method for simulating rigid body contact with Coulomb friction and inelastic impacts. The method is based on the NCP, which calculates the generalized position at the end of each time step. In this article, a semi-implicit time-stepping method is utilized with the complementarity principle to calculate the generalized position at the end of the time step. Tasora and Anitescu 17 have implemented C++ into the NCP solver to solve multiple unilateral contacts with friction with more than 100,000 colliding rigid bodies, which shows remarkable performance compared with other algorithms. However, when dealing with a large number of contacts and polyhedral approximation in friction, LCP and NCP solvers remain limited. 18
An alternative approach for solving contact problems is the so-called penalty method (i.e. continuous method contact force model 19 or complaint contact force model), 20 which can be used to analyze contact forces as a continuous function of indentation and compliance of the contact surface. 21 This method typically needs small time step in the time integration scheme because of the stability limitations. 16 It is also noteworthy that choosing parameters requires little effort, because the selection of parameters depends on the contact case. Moreover, the selection of parameters’ value may lead to high stiffness of the ordinary differential equation (ODE), which can make time differentiation slower due to small time step requirements. Therefore, the selection has to be done with care keeping in mind that the system does not lead to unnecessary high eigenfrequencies.
In the two-dimensional Coulomb case, this article introduces an optimization-based method of the cone complementarity problem (CCP) for the simulation of interacting multiple pendulums. This method is used for the simulation of non-smooth rigid multibody dynamics with collision, contact, and friction, solving a convex quadratic program based on a fixed time step. 22 Tasora et al. have chosen to use the interior point method with a CCP, which turned out to be more accurate than the Gauss-Jacobi. 21 M Anitescu and colleagues23,24 have proposed a time integration formulation method and a fixed-point iteration algorithm to solve a large CCP with low calculation which can handle large-scale contacts and large granular flow problems. Alessandro Tasora et al. have found that the fixed-point iteration algorithm displays linear complexity when solving a large CCP. In other words, the simulation time could increase linearly when the number of bodies increases in the model. 21 The complementarity condition to build a Coulomb dry friction model combined with a non-penetration condition in a spatial case is introduced in Negrut et al. 18
This article provides an important opportunity to advance the understanding of multibody contact in planar cases. The differential complementarity approach is utilized to analyze the contact dynamics of the two flexible quadruple pendulums. Comparing with the three-dimensional (3D) Coulomb friction model,18,23,24 the explicit two-dimensional (2D) expressions in this article are much simpler. The changes of kinetic energy and potential energy have been explained by comparing the introduced approach with penalty method.
This article reviews and analyzes basic methods and formulations used in contact dynamics with the CCP. The overall structure of the study is as follows. Section “Methods and formulations” begins by laying out the theoretical methods and formulations of the research, including the friction model, motion, and CCP. The application of multibody contacts is studied through the contact description of multiple pendulums in section “Dynamic simulation of multiple pendulum interactions.” The contact dynamics is separated into three parts: contact with the ground, contact with each other, and the rope inextensibility constraint with the explanation of force transformation matrices and gap functions. Section “Performance investigation” displays the numerical results of contacts two pendulum. The paper gives some conclusions of the method for solving the CCP and a short discussion of the future direction of the study in the final section.
Methods and formulations
This article uses a complementarity approach to express the Coulomb friction model. The approach employs a non-penetration condition, and it is based on a set of differential equations and algebraic inequalities, which characterize the dynamics of multibody systems with friction and contact. The resulting problem is expressed in the form of a CCP.
System state
In the planar multibody case, the position of a particle of a body with respect to the global coordinate system can be described with the help of a body reference coordinate system. Therefore, a set of generalized coordinates for a multibody system can be written as
where
where
Non-penetration contact constraints
If two rigid bodies come into contact, they should not penetrate. This means that any two bodies that are closer than a prescribed distance are considered to produce an active contact event. Accordingly, it is assumed that gap function
where i represents the ith contact.
Modern collision detection algorithms can be utilized to define the contact points of the bodies with arbitrary shapes. Different methods of contact detection for several shape descriptors in a 2D and 3D case are proposed in Hogue, 25 such as polygons, ellipses, and discrete function representations. It is important to note that the description of contact points for bodies with arbitrary shapes is often a challenging task. For example, there may be multiple contact points or the shape of the body may be concave, making it impossible to define the gap function between contact points.
In this study, circular bodies are considered for the sake of simplicity, whose gap function description is shown in Figure 1. Accordingly, the non-penetration constraint becomes

Gap function descriptions between two circular bodies.
Coulomb friction model
The frictional contact model used in this article is based on the Coulomb dry friction model. For a contact event i, when the contact is active between bodies, that is
As for the normal contact force, if there is no contact
The frictional force at the contact point changes instantaneously from sticking to sliding. If the contact model is sliding26,27—that is, the relative tangential velocity
For a contact event i, when assuming
Here,
Notation problem setup
In each configuration at time

Illustration of rigid body A and B in contact. An arbitrary contact point is located via local constant vectors
If the contact is active, then
where
is the multiplier vector and is not known at time
The position of the contact point P on body A can be written as
where
The virtual displacement of the contact point is
where the vector
Here,
So, the virtual displacement can be rewritten as
The virtual work associated with the contact force
Correspondingly, the virtual work for body B is
Then, the virtual work that the presence of the frictional contact force
where
Therefore, the frictional contact force associated with the presence of
Finally, note that
where
represents the relative velocity at the contact point between two bodies; that is,
Equations of motion
Assume that there are
where mass matrix
Discretized equations of motion
Using a semi-implicit Euler numerical scheme
18
at time step
where
An approximation of the signed gap function at
Reformulation as a CCP
Using the force balance condition in equation (19b), the velocity within time step
Next,
At the initial time, the velocity at the contact is all zero, so the initial term of
According to equation (17), the matrix
Then, equation (22) can be submitted into equation (25) as
Here,
Therefore,
Below, the vector
Analogously, also matrix
Quadratic optimization problem
The CCP represents the first-order optimality conditions 11 for the convex quadratic optimization problem with conic constraints
where
With time integration, the new contact impulse
Dynamic simulation of multiple pendulum interactions
In this section, the contact description explained above is applied to study multiple pendulums. Multiple bodies may come into contact with each other in three possible situations: (1) the bodies hit the ground; (2) the bodies collide with each other; (3) adjacent bodies are restricted by a rope. Constraints and contact scenarios used are explained in the following sections of the paper.
Case of bodies hitting the ground
The first type of multibody contact is between bodies and the ground, as shown in Figure 3.

Case of body hitting the ground. The gap function
Each contact point results in two orthogonal forces
Therefore, the external force and torque can be calculated as
Here, the matrix
Each body can potentially make contact with the ground. Therefore, matrix
The gap function
where
Case of bodies colliding with each other
As shown in Figure 4, when bodies collide with each other, two contact forces appear the normal force

Case of bodies colliding with each other. The gap function
The force acting on body i at point P is
The distance of the center mass of two contact bodies can be written as
The tangential vector
Accordingly, matrix
From equation (15), it can be concluded that
Considering that each body can potentially collide with all others, the number of contacts is
The gap function
where
Rope inextensibility constraint
The adjacent bodies are connected pair-wise by a rope. Therefore, the adjacent bodies are restricted by the rope inextensibility constraint, as shown in Figure 5. The normal force

Case of rope inextensibility constraint. The gap function
The force acting on body i at the contact point is
where
The normal vector
Thus, matrix
It can be deduced that
The number of contacts of this kind in one branch is equal to
The gap function is computed as follows
Then, put all
Solving the CCP
The overall solution scheme can be expressed with Algorithm 1.
According to equation (23), inserting the gap function which can be calculated in equation (36), (41), and (46), one can obtain
This article employs the Coulomb friction model. When bodies hit the ground or collide with each other, there are two contact forces,
When adjacent bodies are loaded with the rope inextensibility constraint, only one contact force
Combining the
where
Performance investigation
The numerical method proposed in this article can be utilized to simulate granular pendulum contact. This problem occurs in plenty of engineering applications; for example, a tree harvester truck can be assumed and simplified into a chain structure concept, which can be divided into several arbitrary bodies. 28
In this section, two types of examples have been discussed. The CCP method developed in this article has been compared with one optimization-based method proposed in Kleinert et al. 22 in the first example. The second example investigates the simulation of multiple pendulum contact with CCP solvers.
Comparison between the CCP method and the optimization-based method
The dynamic example studies one particle fall on the horizontal ground. The initial position of the particle follows
Figure 6 presents the displacements of the x and y directions for one particle with frictional contact. Some points at

Displacements of X and Y directions for one particle with frictional contact. The coefficient of restitution is 0. Some points at
To show how the value of the time step affects the precision of the solution, Figure 7 shows numerical solutions of the Y coordinate of one particle contact with an initial condition of

Numerical stability of the CCP approach. Y coordinate of one particle contact with different time steps from

Errors for numerical results of Y coordinates associated with Figure 7. The solution of
Comparison between the CCP method and penalty method
To compare the CCP method with the penalty method, a simple case of two pendulums with two balls illustrated in Figure 9 has been analyzed. Aim of this simple contact problem is to clarify importance of the contact parameters of the penalty method in dynamic response after contact. The parameters for the problem are given in Figure 9. The gravity is

Initial position of the two pendulum system with two rigid balls.
The penalty method is based on dissipative contact force models, combining a linear spring with a linear damper. The contact force can be calculated as
where K is the stiffness coefficient and D is the damping coefficient. Indentation
The difference of vertical position Y between the contact approaches is shown in Figure 10. An explicit Runge–Kutta method of order 4 has been used as numerical time integrator scheme for solving penalty method. In case of the CCP approach, the semi-implicit Euler has been used. The time step is

Y coordinates and the error of the pendulum ball from CCP approach and penalty method.
Potential and kinetic energy associated with the CCP approach and penalty method have been shown separately in Figures 11 and 12. As the two figures illustrate, the coefficient of restitution is 0. A change in the sum of kinetic and potential energy exists after inelastic contact. The material damping of the contact bodies is assumed to be the reason which causes energy loss. 19 In Figure 11, the energy changes instantly because of the nonlinear behavior of the CCP approach. However, in Figure 12, the energy changes continuously with the penalty method.

Energies of two-pendulum contact with CCP approach.

Two-pendulum contact with penalty method. Contact stiffness coefficient
Analysis of multiple pendulums
As shown in Figure 13, two pendulums of 20 bodies are fixed in the ceiling. The whole system is affected by the gravity force whose acceleration is

Initial position of the two pendulum system with multiple rigid balls.
Figure 14 displays the energies of the two pendulums when they fall down with zero initial velocity. The figure also shows the number of contacts during the process of two-pendulum contact. The sum of kinetic energy and potential energy decreases when the contact occurs between two pendulums. The change in the sum of kinetic and potential energy exists after each inelastic contact because the coefficient of the restitution is effectively zero with the cone complementarity approach.

Energies and the number of contact of the whole system. The total number of the contact is 63 during an 8 s simulation.
Figure 15 shows the frames of the two pendulums from

Frames of the simulation of two pendulums with inelastic collisions at
Contact impulse

Normal contact impulse happened on body 10 during 8 s. Contact bodies and neighbor bodies at
In Figure 16, the contact impulse between body 10 and body 20 at
Figure 17 shows the inertial force of body 10. The inertial force increases significantly when the contact takes place at the first contact when
where

Inertial force of body 10.
The numerical simulations presented have been performed with MATLAB. These simulations show the convergence of the introduced algorithm and formulations in the case of multiple unilateral contacts.
Conclusion
The method studied in this article can solve non-smooth rigid multibody frictional contacts. This article aims for a solution to a planar system with thousands of dynamical contacts and presents a novel method for solving the CCP that appears in the time integration approach. The introduced method is able to simulate colliding rigid bodies on a large scale. In addition, this article proposed and analyzed a method to analyze the contact dynamics of two pendulums. The Coulomb friction model utilized in this article is simplified into two equations, which is simpler than Coulomb friction model for the 3D case. 18 The coefficient of restitution after contact is 0, which agrees with the conclusion made in Stewart and Trinkle. 16 It is also the reason why CCP is widely used in contact applications of powder composites, granular flows. 18 The energy change has been explained by comparing the introduced approach with penalty method.
In the future, this work can be combined with the implicit time-stepping method and elastic contacts which could be utilized in a virtual interactive environment for training, clinical therapies, military purposes, and video games.
Footnotes
Acknowledgements
The authors would like to thank the Academy of Finland (application no. 299033 for the funding of Academy Research Fellows) for supporting Marko K. Matikainen.
Handling Editor: James Baldwin
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
