1 Introduction

The motion of granular materials is observed in a myriad of natural processes and engineering applications, ranging from the flow of cosmic dust and rock sliding to piles of grains and fine powders, from mounds of sand and construction materials to compact agglomerates of high added-value in the pharmaceutical, chemical, food, and microelectronics industries. Granular materials interacting with thin flexible rods, in particular, may be observed in many such processes, like the bombardment of grains on beam structures [13], the flow of grains over surfaces covered by short threads of hair in many biological processes [4, 5], the flow of grains through filters and strainers in various industrial segregation processes [68], and many others. The study of these processes is a complex task involving the motion and deformation of discrete- and continuum-like materials, always with multiple localized phenomena (mainly contacts) and often involving different physics, which invariably requires the use of computational models. In the last decades, the possibilities opened by the evolution of computer hardware and the advancement of computational methods, especially the discrete element method (DEM) and the finite element method (FEM), have allowed the development of robust simulation tools. None of these tools, however (at least to the authors’ knowledge), is aimed specifically at the modeling of granular materials when they interact with flexible rods.

Many different types of models exist to study the behavior of granular materials and the motion of granular flows. The most commonly known are based either on DEM descriptions [916] or the SPH formalism [1720] (though lately this latter has become more popular to the study of fluid flows), to cite just a very few. On the other hand, the modeling of thin flexible rods has been made possible in a consistent manner since the late 1980s or early 1990s, with the appearance of several geometrically (or kinematically) exact rod formulations, and their related FEM implementations (see e.g., [2127]).

In this context, the purpose of this work is to develop an efficient computational model for the simulation of granular materials interacting with thin flexible rods. We treat these materials as a collection of spherical particles following the DEM formulation of [28, 29], whereas the deformation and motion of flexible rods are described by the continuum-like large deformation FEM rod model of [23, 30, 31]. The two types of materials (discrete and continuum) are allowed to interact via contact/collision forces. A simple, efficient strategy is proposed for coupling the motion of these materials within a time-stepping iterative solution scheme. Implementation details are shown and discussed. We validate the model and illustrate its applicability by means of a few numerical examples.

We remark that the DEM formulation adopted in this work is aimed at the simulation of particle systems wherein rotational motion is relevant, either locally or globally. This encompasses (but is not restricted to) granular materials, granular flows, and granular compacts. In cases where the particles are small enough so that the effect of their rotations with respect to their center of mass is unimportant to their overall motion, a translation-only model (e.g., [3234]) may be more appropriate. For an early history of the discrete element method, we refer the reader to [9, 13, 15] and [16], and references therein; for reviews on the modeling of granular media, see e.g., [11, 14]; and for an overview on the modeling of flexible rods, see e.g., [26] and [27].

The paper is organized as follows. In Sect. 2, we describe briefly the DEM formulation that we adopt, including the force terms that represent the interactions of the particles with neighboring rods. In Sect. 3, we describe (also briefly) the rod model that we use, including a contact formulation that allows for contact between rods. In Sect. 4, we present our rod-to-grain contact model. In Sect. 5, we present our coupled FEM-DEM solution strategy, including an algorithmic overview (we emphasize that this is one of the major contributions of our work). In Sect. 6, we show examples of numerical simulations to validate our model and illustrate its applicability, and in Sect. 7, we draw some conclusions and discuss ideas for future work. Throughout the text, plain italic letters \(\left( {a,b,\ldots ,\alpha ,\beta ,\ldots ,A,B,\ldots } \right) \) denote scalar quantities, boldface lowercase italic letters \(\left( {{\varvec{a}},{\varvec{b}},\ldots , \varvec{\alpha } ,\varvec{\beta } ,\ldots } \right) \) denote vectors, and boldface italic capital letters \(({\varvec{A}},{\varvec{B}},\ldots )\) denote second-order tensors in a three-dimensional Euclidean space. The (standard) inner product of two vectors is denoted by \({\varvec{u}}\cdot {\varvec{v}}\), and the norm of a vector by \(\left\| {\varvec{u}} \right\| =\sqrt{{\varvec{u}}\cdot {\varvec{u}}}\).

2 Brief description of the dem model

We treat granular materials as a collection of particles forming a discrete dynamical system within a DEM approach, wherein each particle interacts with the others and the surrounding media (including neighboring structures and solids, such as rods and rigid walls) via a combination of gravity forces, drag forces, near-field (attractive and repulsive) forces, and contact and friction forces due to touching and collisions. Time evolution of the system follows the laws of classical dynamics, the equations of which are solved via a numerical (time-stepping) integration scheme. The particles are allowed to have both translational and rotational motions. For the sake of simplicity, but without any loss of generality, we consider here only spherical particles. The model summarized in what follows is a slight generalization of the model presented in [28, 29].

Let the system be consisted of \(N_\mathrm{P}\) particles of mass \(m_i\), radius \(r_i\), and rotational inertia \(j_i =\frac{2}{5}m_i r_i^2\) \((i=1, \ldots ,N_\mathrm{P} )\). Let us denote the position vector of a particle by \({\varvec{x}}_i\), the velocity vector by \({\varvec{v}}_i\), and the spin vector by \({\varvec{\omega }}_i\), as depicted in Fig. 1. The rotation vector relative to the beginning of the motion is denoted by \({\varvec{\alpha }}_i\), whereas the incremental rotation vector (rotation vector relative to two consecutive configurations at discrete time instants, see [28] and [35]) by \({\varvec{\alpha }}_i^\Delta \).

Fig. 1
figure 1

Motion of a particle. Point P is a point on the particle’s surface

We denote the total force vector acting on particle i by \({\varvec{f}}_i^\mathrm{tot}\) and the total moment (with respect to the particle’s center) by \({\varvec{m}}_i^\mathrm{tot}\). From the Euler’s laws, the following equations must hold for each particle at every time instant t:

$$\begin{aligned}&m_i \ddot{{\varvec{x}}}_i ={\varvec{f}}_i^\mathrm{tot} , \nonumber \\&j_i \dot{\varvec{\omega }}_i = {\varvec{m}}_i^\mathrm{tot} , \end{aligned}$$
(1)

where the superposed dot denotes differentiation with respect to time. The total force vector is made up of several force contributions as follows

$$\begin{aligned} {\varvec{f}}_i^\mathrm{tot} =m_i {\varvec{g}}+ {\varvec{f}}_i^\mathrm{drag} +{\varvec{f}}_i^\mathrm{nf} +{\varvec{f}}_i^\mathrm{con} +{\varvec{f}}_i^\mathrm{fric} +{\varvec{f}}_i^\mathrm{str} , \end{aligned}$$
(2)

where \({\varvec{g}}\) is the gravity acceleration vector, \({\varvec{f}}_i^\mathrm{drag}\) is the drag force vector (standing for viscous effects of surrounding fluids on the motion of the particle), \({\varvec{f}}_i^\mathrm{nf}\) are the forces due to near-field interactions with other particles, \({\varvec{f}}_i^\mathrm{con}\) the forces due to mechanical contacts (or collisions) with other particles and/or rigid walls, \({\varvec{f}}_i^\mathrm{fric}\) the forces due to friction that arise from these contacts or collisions, and \({\varvec{f}}_i^\mathrm{str}\) the forces applied by neighboring structures (which are due, e.g., to contact or collision with these structures). The total moment vector, in turn, has contributions only from the friction forces and neighboring structures, which means that all other forces are assumed to be central forces, i.e., they act with no eccentricity relative to the center of the particle, such that

$$\begin{aligned} {\varvec{m}}_i^\mathrm{tot} = {\varvec{m}}_i^\mathrm{fric} +{\varvec{m}}_i^\mathrm{str} , \end{aligned}$$
(3)

where \({\varvec{m}}_i^\mathrm{fric}\) is shown later in Eq. (16) and \({\varvec{m}}_i^\mathrm{str}\) is the moment applied by neighboring structures.

We adopt standard expressions for the force contributions in Eq. (2). The drag force, for example, is given by

$$\begin{aligned} {\varvec{f}}_i^\mathrm{drag} =-c_\mathrm{F} ({\varvec{v}}_i -{\varvec{v}}_\mathrm{F} )\;, \end{aligned}$$
(4)

where \(c_\mathrm{F}\) is a damping parameter depending on the viscosity of the surrounding fluid and \({\varvec{v}}_\mathrm{F}\) is the (local) velocity of the fluid. The forces due to near-field interactions with other particles, on their turn, are given by

$$\begin{aligned} {\varvec{f}}_i^\mathrm{nf}= & {} \sum _{j=1,j\ne i}^{N_\mathrm{P} } {{\varvec{f}}_{ij}^\mathrm{nf} } \;, \nonumber \\ {\varvec{f}}_{ij}^\mathrm{nf}= & {} \left( {\kappa _1 \left\| {{\varvec{x}}_i -{\varvec{x}}_j } \right\| ^{-\lambda _1 }-\kappa _2 \left\| {{\varvec{x}}_i -{\varvec{x}}_j } \right\| ^{-\lambda _2 }} \right) {\varvec{n}}_{ij} \;, \end{aligned}$$
(5)

where \({\varvec{f}}_{ij}^\mathrm{nf}\) is the near-field force between particle i and particle j, in which the \(\kappa \)’s and \(\lambda \)’s are scalar parameters dictating the intensity of the force for the pair \(\{i,j\}\) (\(\kappa _1\) and \(\lambda _1\) are related to the attractive part of the force, whereas \(\kappa _2\) and \(\lambda _2\) to the repulsive part), and \({\varvec{n}}_{ij}\) is the unit vector that points from the center of particle i to the center of particle j, i.e.,

$$\begin{aligned} {\varvec{n}}_{ij} =\frac{{\varvec{x}}_j -{\varvec{x}}_i }{\left\| {{\varvec{x}}_j - {\varvec{x}}_i} \right\| }\;, \end{aligned}$$
(6)

which is referred to as the pair’s central direction. The forces due to contact/collisions with other particles and/or rigid walls are described following Hertz’s elastic contact theory (see e.g., [36]), according to which

$$\begin{aligned} {\varvec{f}}_i^\mathrm{con}= & {} \sum _{j=1}^{N_\mathrm{C} } {{\varvec{f}}_{ij}^\mathrm{con} } , \nonumber \\ {\varvec{f}}_{ij}^\mathrm{con}= & {} \frac{4}{3}\sqrt{r^{{*}}}E^{{*}}\delta _{ij}^{3/2} {\varvec{n}}_{ij} +d^{{*}}\dot{\delta }_{ij} {\varvec{n}}_{ij} \;, \end{aligned}$$
(7)

where \({\varvec{f}}_{ij}^\mathrm{con}\) is the contact force between particle i and particle (or wall) j and \(N_\mathrm{C}\) is the number of particles (and/or walls) that are in contact with particle i. Here,

$$\begin{aligned} r^{{*}}=\frac{r_i r_j }{r_i +r_j }\quad \hbox {and}\quad E^{{*}}=\frac{E_i E_j }{E_j \left( 1-\nu _i^2 \right) +E_i \left( 1-\nu _j^2 \right) }\nonumber \\ \end{aligned}$$
(8)

are the effective radius and the effective elasticity modulus of the contacting pair \(\{i,j\}\) (with \(E_i ,\;E_j\); and \(\nu _i ,\;\nu _j\) as the elasticity modulus and the Poisson coefficient of i and j, respectively),

$$\begin{aligned} \delta _{ij} =\left\| {{\varvec{x}}_i -{\varvec{x}}_j } \right\| -\left( {r_i +r_j } \right) \end{aligned}$$
(9)

is the geometric overlap (or penetration) between the pair in the pair’s central direction, \(\dot{\delta }_{ij}\) is the rate of this penetration, and

$$\begin{aligned} d^{{*}}=2\xi \sqrt{2\sqrt{r^{{*}}}E^{{*}}m^{{*}}}\delta _{ij}^{1/4} \end{aligned}$$
(10)

is a damping constant that is introduced to allow for energy dissipation in the pair’s central direction. This constant is taken following the ideas of [37], wherein \(\xi \) is the damping ratio of the collision (which must be specified) and \(m^{{*}}\) is the effective mass of the contacting pair, i.e.,

$$\begin{aligned} m^{{*}}=\frac{m_i m_j }{m_i +m_j }\;. \end{aligned}$$
(11)

We note that, in case j is a rigid wall, Eqs. (8) and (11) are considered with \(r_j \rightarrow \infty \), \(E_j \rightarrow \infty \) and \(m_j \rightarrow \infty \), implying that they collapse to

$$\begin{aligned} r^{{*}}=r_i \;,\quad E^{{*}}=\frac{1-\nu _i^2 }{E_i }\quad \hbox {and}\quad m^{{*}}=m_i , \end{aligned}$$
(12)

with the overlap being computed through \(\delta _{ij} =d_{ij} -r_i\), where \(d_{ij}\) is the distance between the center of particle i and wall j.

The forces due to friction are given by assuming that the friction coefficients of all contacting pairs are small enough such that a continuous sliding (with an opposing dynamic friction force and a corresponding moment) is to be expected during the entire duration of a contact/collision. By continuous sliding, we mean that there is to be no sticking between particles and between particles and walls. This assumption is not valid in the general case, but is acceptable for particles (and walls) of very smooth surface, like glass beads and some types of metallic spheres—precisely the types of particles we will consider in our examples. Thus, although a stick-slip model could be adopted without difficultiesFootnote 1 (following e.g., the scheme recently proposed by [28], which is based on [38]), here we write

$$\begin{aligned} {\varvec{f}}_i^\mathrm{fric}= & {} \sum _{j=1}^{N_\mathrm{C} } {{\varvec{f}}_{ij}^\mathrm{fric} } , \nonumber \\ {\varvec{f}}_{ij}^\mathrm{fric}= & {} \mu _\mathrm{d} \left\| {{\varvec{f}}_{ij}^\mathrm{con} } \right\| {\varvec{\tau }}_{ij} \;, \end{aligned}$$
(13)

where \({\varvec{f}}_{ij}^\mathrm{fric}\) is the friction force between the contacting pair i and j, \(\mu _\mathrm{d}\) is the coefficient of dynamic friction for the pair and

$$\begin{aligned} {\varvec{\tau }}_{ij} =\frac{{\varvec{v}}_{j,\tau } -{\varvec{v}}_{i,\tau } }{\left\| {{\varvec{v}}_{j,\tau } -{\varvec{v}}_{i,\tau } } \right\| } \end{aligned}$$
(14)

is the tangential direction of the contact (or sliding direction), which is the direction of the tangential relative velocity of i and j, obtained with

$$\begin{aligned} {\varvec{v}}_{i,\tau }= & {} {\varvec{v}}_i -({\varvec{v}}_i \cdot {\varvec{n}}_{ij} ){\varvec{n}}_{ij} \nonumber \\ {\varvec{v}}_{j,\tau }= & {} {\varvec{v}}_j -({\varvec{v}}_j \cdot {\varvec{n}}_{ij} ){\varvec{n}}_{ij} \end{aligned}$$
(15)

(subscript “\(\tau \)” above stands for tangential direction).

The forces applied by neighboring structures,  \({\varvec{f}}_i^\mathrm{str}\),  are supposed to be known (given). In effect, they have to be obtained from the deformation of the structure, which requires the solution of the corresponding initial boundary value problem in a separate (but coupled) scheme. Section 5 ahead outlines how we do this in our model.

The moment generated by the friction forces with other particles and/or rigid walls (relative to the center of the particle) is given by

$$\begin{aligned} {\varvec{m}}_i^\mathrm{fric} =\sum _{j=1}^{N_\mathrm{C} } {{\varvec{r}}_i^{C_{j}} \times {\varvec{f}}_{ij}^\mathrm{fric}} , \end{aligned}$$
(16)

where \({\varvec{r}}_i^{C_{j}} =r_i {\varvec{n}}_{ij}\) is the vector that connects the center of particle i to the contacting point \(C_{j}\) with particle (or wall) j. The moment applied by neighboring structures, in turn, is supposed to be known (given) (as for \({\varvec{f}}_i^\mathrm{str}\), it follows from the deformation of the structure).

Numerical integration of Eq. (1) provides the time evolution of the particles’ motion. This is done here following the integration algorithm proposed in [28], which has both implicit and explicit versions, and remarkably does not involve any system matrix in either case. For the sake of conciseness, it will be omitted here. We refer the interested reader to the abovementioned reference.

Fig. 2
figure 2

Rod kinematics. Reference (left), current (middle), and next (right) configurations (taken from [30])

3 Brief description of the rod model

This section provides only an outline of the rod model used in this work, and its related contact formulation. Only the basic kinematical quantities are shown, along with a few variables that are needed subsequently in Sect. 4. Detailed expressions and derivations are omitted, and the reader is referred to appropriate references wherever necessary.

3.1 Rod kinematics

We describe flexible rods following a geometrically exact theory, discretized and solved by the finite element method. Each cross section is considered as a rigid body undergoing large displacements and finite rotations. Warping is not considered. The rotation field is parameterized using the so-called Rodrigues rotation vector \({\varvec{\alpha }}\), which, if \({\varvec{\theta }} =\theta {\varvec{e}}\) is the classical Euler rotation vector (with \(\theta \) as the magnitude of the rotation and \({\varvec{e}}\) as the unit rotation axis), reads as \({\varvec{\alpha }} =\alpha {\varvec{e}}\), with \(\alpha =2\tan \left( {\theta /2} \right) \). The rotation tensor then reads as

$$\begin{aligned} {\varvec{Q}} = {\varvec{I}}+\frac{4}{1+\alpha ^{2}}\left[ {{\varvec{A}}+\frac{1}{2}{\varvec{A}}^{2}} \right] , \end{aligned}$$
(17)

with \({\varvec{A}}=\hbox {Skew}({\varvec{\alpha }})\). Since we want to allow for arbitrarily large rotations, tensor \({\varvec{Q}}\) may present singularities at \(\theta =\pm \pi \). To avoid this, we make use of an updated-Lagrangian description. Figure 2 shows the adopted configurations and corresponding kinematical quantities. Therein, \({\varvec{z}}\) is the position vector of points of the rod axis, \({\varvec{x}}\) the position vector of points of the cross sections, and \({\varvec{u}}\) the displacement vector of points of the rod axis. Superscripts “r,” “i,” and “\(i + 1\)” are used to refer to the different configurations, with “r” referring to the reference, “i” to the current, and “i+1” to the next (still not achieved) configurations; symbol “\(\Delta \)” refers to incremental quantities between configurations “i” and “\(i+1\).”

Based on the above, and assuming the rod comprises a linear elastic material, the rod formulation (strains, stresses, constitutive equation, weak form, and related tangent operator) is derived. Since our focus in this work is not on this derivation, we will omit it here and refer the interested reader to [23, 31] and [30]. Finite element implementation of the model using two- and three-node Lagrangian isoparametric elements within a Newton iterative scheme, along with an implicit Newmark [39] time integration algorithm for solution of the rod’s dynamics, is also shown therein.

Fig. 3
figure 3

Contact of two approaching rod finite elements. The minimum distance problem (left) and the parameterization of the elements’ axes as straight curves (right) (taken from [39])

3.2 Contact between rods

A rod model that is intended to be sufficiently general must be able to describe multi-rod systems wherein rods may touch other rods as well as experience self-contact. For this purpose, we adopt here a rod-to-rod contact formulation, based on the one proposed in [39]. This latter, in turn, is based on the seminal ideas of [40] and [41], who were pioneers (to the authors’ knowledge) on the modeling of contact between beams. By looking at the FEM mesh of each rod, one can identify pairs of finite elements that are candidates to develop contact interaction. The formulation described next is to be understood in the context of pairs of elements, and follows a master–master approach for each such pair. Accordingly, each element axis is considered as a 3D curve dependent on a single convective coordinate \(\zeta _i\) (\(i=\) element number). To resolve a contact pair, the solution of a minimum distance problem is required, aiming at finding the two convective coordinates associated with the material points that are candidates to contact. The master–master approach refers to this kind of model (in other words, it refers to contact models that focus on determining two candidate points, as opposed to others that would elect one of the elements as a master entity and the other as a slave one, the latter having a set of pre-defined candidate points—the so-called “master–slave” contact approach, widely used e.g., in surface-to-surface contact formulations). We also assume that the rods are of circular cross section (this is suitable to the kinds of problems we are interested in this work, but more general models allowing for other types of cross sections are also possible). Following the notation introduced in Fig. 3, one can write a parameterization for the axes of two approaching finite elements as (see also Fig. 3)

$$\begin{aligned} {\varvec{z}}_1^{i+1} ({\zeta }_1 ) = {\varvec{z}}_1^i (\zeta _1) + {\varvec{u}}_1^\Delta (\zeta _1)\;, \nonumber \\ {\varvec{z}}_2^{i+1} (\zeta _2 ) = {\varvec{z}}_2^i (\zeta _2) +{\varvec{u}}_2^\Delta (\zeta _2 )\;. \end{aligned}$$
(18)

Here, for simplicity, we assume that the axes are straight curves and, by using the coordinates of their end points at the next (unknown) configuration, namely, \(\left[ {{\varvec{N}}_A^{i+1} } \right] _1\) and \(\left[ {{\varvec{N}}_B^{i+1} } \right] _1\) for rod 1, and \(\left[ {{\varvec{N}}_A^{i+1} } \right] _2\) and \(\left[ {{\varvec{N}}_B^{i+1} } \right] _2\) for rod 2 (see Fig. 3, right side), we write the following expression for their parameterization:

$$\begin{aligned} {\varvec{z}}_1^{i+1} (\zeta _1 )= & {} \frac{1}{2}\left( {1-\zeta _1 } \right) \left[ {{\varvec{N}}_A^{i+1} } \right] _1 +\frac{1}{2}\left( {1+\zeta _1 } \right) \left[ {{\varvec{N}}_B^{i+1} } \right] _1 \;, \nonumber \\ {\varvec{z}}_2^{i+1} (\zeta _2 )= & {} \frac{1}{2}\left( {1-\zeta _2 } \right) \left[ {{\varvec{N}}_A^{i+1} } \right] _2 +\frac{1}{2}\left( {1+\zeta _2} \right) \left[ {{\varvec{N}}_B^{i+1} } \right] _2 \;,\nonumber \\ \end{aligned}$$
(19)

with \(\zeta _i \in (-1,+1)\). A minimum distance problem between \({\varvec{z}}_1^{i+1}\) and \({\varvec{z}}_2^{i+1}\) is then addressed, seeking for the contact-candidate material points \(\zeta _{1c}\) and \(\zeta _{2c}\) on the finite elements’ axes. Accordingly, the following orthogonality relations are enforced [40]:

$$\begin{aligned}&\left( {\varvec{z}}_1^{i+1} -{\varvec{z}}_2^{i+1} \right) \cdot {{\varvec{z}}_1^{i+1}}_{,\zeta _1 } =0\;, \nonumber \\&\left( {\varvec{z}}_1^{i+1} -{\varvec{z}}_2^{i+1} \right) \cdot {{\varvec{z}}_2^{i+1}}_{,\zeta _2 } =0\;, \end{aligned}$$
(20)

where notation “\({\varvec{a},}_{b}\)” stands for the derivative of “\({\varvec{a}}\)” with respect to “b.” Introduction of (19) into (20) yields \(\zeta _{1c}\) and \(\zeta _{2c}\), which in turn must be tested to ensure they fall within the range \(-\)1 to +1 (a value out of range means that no contact will play a role for the pair of elements considered). With these points, and with the radii \(R_1\) and \(R_2\) of the cross sections, we define a normal gap function as given below:

$$\begin{aligned} g_n =\Vert {\varvec{z}}_1^{i+1} (\zeta _{1c} )-{\varvec{z}}_2^{i+1} (\zeta _{2c} )\Vert -\left( {R_1+R_2 } \right) \;. \end{aligned}$$
(21)

Contact happens only when this gap has a negative value. In such case, the contact adds a contribution \(W_\mathrm{c}^\mathrm{rr}\) to the potential energy of the rods to which the elements belong (this is done using a penalty parameter), which in turn implies a corresponding term in the weak form of the model as follows

$$\begin{aligned} \delta W_\mathrm{c} ^\mathrm{rr}=\epsilon _n g_n \delta g_n \;, \end{aligned}$$
(22)

where \(\epsilon _n\) is the penalty parameter and “\(\delta \)” stands for variations or virtual quantities (superscript “rr” above refers to rod–rod interactions). The detailed expression of (22), along with implementation aspects, can be found in [39, 42]. A discussion on how to include friction between the rods can also be found therein (in our work, we do not consider such friction). Normal damping between the rods may be included as well, but we do not consider it here.

Fig. 4
figure 4

Contact involving the tip of a rod and another rod

Solution of the minimum distance problem and evaluation of the normal gap function are necessary to decide whether or not the contact happens for the pair of elements considered. These operations, however, can be computationally expensive if not performed in a rational way. In our scheme, we speed up the decision by identifying a priori the pairs of elements that are candidates to touch each other, and then perform the operations only over these candidates. This is achieved via a simple (but effective) geometric search around each element of each rod, within a proximity region given by the so-called pinball sphere (see [43]).

Remark 1

A special situation, to which we draw the attention of the reader, occurs when the contact involves the tip of a rod (see Fig. 4). In such case, contact may happen even if the orthogonality relations (20) are not fulfilled. To handle this, we perform a special check as follows: if \(\zeta _{1c}\) or \(\zeta _{2c}\) are out of the expected range, and the finite elements to which they belong are at either ends the rod, an arbitrary value, say \(\zeta _{1c} =0\) and/or \(\zeta _{2c} =0\), is adopted, emulating a node-to-node contact situation. The gap function is then evaluated in the usual way and, in case of penetration, the contact is addressed. This helps to avoid losing contact detections when the beginning of the contact takes place at the tip of one of the rods, or even at both. Once the contact is established, the rods may experience deformation and thereby the orthogonality relations (20) turn to be verifiable, thus leading to the above presented rod-to-rod contact model. If, on the contrary, the rods separate from each other, the contact condition is switched off. Other possibilities to handle such situation are possible, e.g., the creation of two simultaneous contact models, (a) the one presented above and (b) a node-to-node one, with one of the nodes being the tip of the rod and the other a given node of the other rod.

Fig. 5
figure 5

Contact of grains with a rod. The rod is represented by several overlapping spheres, the centers of which are lying on a node of the FEM mesh

Remark 2

Self-contact (i.e., contact of a rod with itself) can be included in this model with minor modifications. In such case, multiple contact points must be allowed, instead of only two as in the master–master approach described above. Details on how to handle this situation are presented in [39]. Self-contact may show up e.g., in the deformation of very long flexible rods, which may be susceptible to loop formation.

4 Contact between grains and rods

The interaction between grains (particles) and rods is modeled here following a very simple strategy. Since the rods are assumed to be of circular cross section, each one may be treated as a set of spheres (with same radius as the rod’s cross section) whose centers lie along the rod axis. In the FEM mesh that discretizes the rod, each node is the center of a sphere. By using a sufficiently fine mesh, the spheres overlap and eventually reproduce an approximate cylindrical shape. Figure 5 illustrates the strategy. This is an approximation to the rod’s geometry adopted only for contact purposes, i.e., for detection of the contacts of the rods with grains or particles. It is very practical since these turn to be essentially the contacts of spheres. It must be said, though, that such strategy may introduce artificial “ridge-like” patterns on the rods’ surface, which in turn can affect the detection and evaluation of the contacts. Mesh refinement clearly resolves such issue. The downside is that it leads us to work with excessively fine meshes only for geometrical reasons. The FEM solution of the rod’s deformation does not need such level of mesh refinement, and the strategy turns to be not optimal in terms of computational efficiency. Yet, we consider it very useful due to its simplicity and easiness of implementation. One may think of it as a “first approach” model of many more elaborate models, for instance one with an exact cylindrical description for the geometry of the rod, or even a more general approach, considering non-circular cross sections. This will obviously require more complex contact detection schemes, such as the one described in Sect. 3.2, for which the solution of a minimum distance problem is invariably necessary.

Fig. 6
figure 6

Coupling of GIRAFFE and PSY

Fig. 7
figure 7

Problem definition: schematic side view (left) and FEM model used in reference solution (right). In this latter, number of solid elements is 1650 for the rod and 3659 for the particle (both with linear shape functions)

Fig. 8
figure 8

Validation results: evolution of the particle’s displacements (left) and translational velocities (right). For the reference solution, results refer to the particle’s center of mass

A frictionless sphere-to-sphere contact model is then invoked, as described below. The normal gap function g is defined as a function of the positions of the spheres’ centers at the next configuration, \({\varvec{x}}_1^{i+1}\) and \({\varvec{x}}_2^{i+1}\), and the spheres’ radii, \(r_1\) and \(r_2\):

$$\begin{aligned} g=\left\| {{\varvec{x}}_1^{i+1} -{\varvec{x}}_2^{i+1} } \right\| -\left( {r_1 +r_2 } \right) \end{aligned}$$
(23)

(for the sake of simplicity, here we omit the indices related to the rod node number and the particle number, and use “1” to refer to the rod’s sphere and “2” to refer to the particle’s sphere). Contact occurs if g assumes a negative value for any two spheres 1 and 2, meaning that there is penetration between the bodies. In such case, the physical constraint of impenetrability is imposed by means of a penalty parameter \(\epsilon _n\), in the same way as done for rod-to-rod contacts in the previous section. Accordingly, the contribution of each contact pair to the potential energy of the rod is

$$\begin{aligned} W_\mathrm{c}^\mathrm{gr} =\frac{1}{2}\epsilon _n g^{2} \end{aligned}$$
(24)

(with superscript “gr” standing for grain-rod interactions), and the corresponding term on the rod’s weak form is

$$\begin{aligned} \delta W_\mathrm{c}^\mathrm{gr} = \epsilon _n g\delta g\;, \end{aligned}$$
(25)

with

$$\begin{aligned} \delta g = {\varvec{n}}\cdot \left( {\delta {\varvec{x}}_1^{i+1} -{\updelta } {\varvec{x}}_2^{i+1} } \right) \;, \end{aligned}$$
(26)

wherein

$$\begin{aligned} {\varvec{n}} =\frac{{\varvec{x}}_1^{i+1} - {\varvec{x}}_2^{i+1}}{\left\| {{\varvec{x}}_1^{i+1} -{\varvec{x}}_2^{i+1} } \right\| }\;. \end{aligned}$$
(27)

Likewise, the contact force on the particle is

$$\begin{aligned} {\varvec{f}}_2^\mathrm{con,gr} = \epsilon _n g {\varvec{n}}\;, \end{aligned}$$
(28)

which in the dynamics of the particle, enters the force \({\varvec{f}}_i^\mathrm{str}\) of Eq. (2). In case there is friction between the particle and the rod’s surface, a friction force would need to be computed, which in turn would generate a corresponding moment that enters \({\varvec{m}}_i^\mathrm{str}\) of Eq. (3). As said above, however, here we assume a frictionless model for this type of contact.

Fig. 9
figure 9

Numerical test to calibrate structural damping. Small magnitude impulse at point B (left) and time history of y-displacements of point B (right)

Fig. 10
figure 10

Numerical test to calibrate structural damping. High-intensity impulse at point B (left) and time history of y-displacements of point B (right)

Fig. 11
figure 11

Snapshots of the motion at selected time instants

Linearization of (25) (indicated by symbol \({\Delta })\) provides the contribution of the contact on the tangent operator of the rod, which is needed within the Newton scheme for solution of the rod’s deformation. The result is as follows:

$$\begin{aligned}&{\Delta }(\delta W_\mathrm{c}^\mathrm{gr} )= \epsilon _n {\Delta }g{\varvec{n}}\cdot \left( {\delta {\varvec{x}}_1^{i+1} -{\updelta }{\varvec{x}}_2^{i+1} } \right) \nonumber \\&\quad +\,\epsilon _n g{\Delta }{\varvec{n}}\cdot \left( {\delta {\varvec{x}}_1^{i+1} -{\updelta }{\varvec{x}}_2^{i+1} } \right) \;, \end{aligned}$$
(29)

wherein the first term on the right-hand side reads as

$$\begin{aligned}&\epsilon _n {\Delta }g{\varvec{n}}\cdot \left( {\delta {\varvec{x}}_1^{i+1} -{\updelta }{\varvec{x}}_2^{i+1} } \right) = \epsilon _n {\varvec{n}}\otimes {\varvec{n}}\left( {{\Delta }{\varvec{x}}_1^{i+1} -{\Delta }{\varvec{x}}_2^{i+1} } \right) \nonumber \\&\quad \cdot \left( {\delta {\varvec{x}}_1^{i+1} -{\updelta }{\varvec{x}}_2^{i+1} } \right) \;, \end{aligned}$$
(30)

and the second term as

$$\begin{aligned}&\epsilon _n g{\Delta }{\varvec{n}}\cdot \left( {\delta {\varvec{x}}_1^{i+1} -{\updelta } {\varvec{x}}_2^{i+1} } \right) \nonumber \\&=\epsilon _n \frac{g}{\left\| {{\varvec{x}}_1^{i+1}- {\varvec{x}}_2^{i+1} } \right\| }\left( {{\varvec{I}}-{\varvec{n}}\otimes {\varvec{n}}} \right) \left( {\Delta }{\varvec{x}}_1^{i+1}-{\Delta }{\varvec{x}}_2^{i+1} \right) \nonumber \\&\quad \cdot \left( {\delta {\varvec{x}}_1^{i+1} -{\updelta }{\varvec{x}}_2^{i+1} } \right) \;, \end{aligned}$$
(31)

with symbol “\(\otimes \)” standing for dyadic or tensor product. We can define a factor f by

$$\begin{aligned} f=\frac{g}{\left\| {{\varvec{x}}_1^{i+1} -{\varvec{x}}_2^{i+1} } \right\| }=1-\frac{(r_1 +r_2 )}{\left\| {{\varvec{x}}_1^{i+1} - {\varvec{x}}_2^{i+1} } \right\| }. \end{aligned}$$
(32)

Equations (30), (31), and (32) lead to the expression of the linearization as

$$\begin{aligned}&{\Delta }(\delta W_\mathrm{c}^\mathrm{gr} )= \epsilon _n \left[ {f{\varvec{I}}+(1-f){\varvec{n}}\otimes {\varvec{n}}} \right] \left( {{\Delta }{\varvec{x}}_1^{i+1} -{\Delta }{\varvec{x}}_2^{i+1} } \right) \nonumber \\&\quad \cdot \left( {\delta {\varvec{x}}_1^{i+1} -{\updelta }{\varvec{x}}_2^{i+1} } \right) \;. \end{aligned}$$
(33)

We also include in the contact formulation a viscous dissipation contribution. This is done with the aid of an extra term \(\delta W_\mathrm{d}\) on the rod’s weak form, given by

$$\begin{aligned} \delta W_\mathrm{d} =c_n (\dot{{\varvec{x}}}_1^{i+1} -\dot{{\varvec{x}}}_2^{i+1} )\cdot {\varvec{n}}\delta g\;, \end{aligned}$$
(34)

in which \(c_n\) is a normal damping coefficient. This expression can be developed into

$$\begin{aligned} \delta W_\mathrm{d} =c_n (\dot{{\varvec{x}}}_1^{i+1} -\dot{{\varvec{x}}}_2^{i+1} )\cdot {\varvec{n}}\left[ {{\varvec{n}}\cdot (\delta {\varvec{x}}_1^{i+1} -\delta {\varvec{x}}_2^{i+1} )} \right] \;, \end{aligned}$$
(35)

and finally into

$$\begin{aligned} \delta W_\mathrm{d} =\left[ {{\begin{array}{l@{\quad }l} {\delta {\varvec{x}}_1^{i+1,T} }&{} {\delta {\varvec{x}}_2^{i+1,T} } \\ \end{array} }} \right] c_n \left[ {{\begin{array}{l@{\quad }l} \,{{\varvec{n}}\otimes {\varvec{n}}}&{} {-{\varvec{n}}\otimes {\varvec{n}}} \\ {-{\varvec{n}}\otimes {\varvec{n}}}&{} \,{{\varvec{n}}\otimes {\varvec{n}}} \\ \end{array} }} \right] \left[ {{\begin{array}{l} {\dot{{\varvec{x}}}_1^{i+1} } \\ {\dot{{\varvec{x}}}_2^{i+1} } \\ \end{array} }} \right] . \end{aligned}$$
(36)

Equation (36) presents a clear damping contribution that can be directly used to evaluate the contact (grain-to-rod) damping forces in the Newmark time integration scheme. A corresponding term within the Newton’s tangent operator also follows.

Fig. 12
figure 12

Time histories of the coordinates (top) and velocities (middle) of the particle, and reactions at the clamped base of the rod (bottom)

Fig. 13
figure 13

Problem definition. Isometric view (top), top view (middle), and side view (bottom). The jet comprises \(N_\mathrm{P} =60\) grains randomly generated within a planar rectangular region of dimensions \(0.7\hbox {m }\times 0.08\hbox {m}\)

Fig. 14
figure 14

Snapshots of the motion at selected time instants (top) and details at \(t = 0.005513\hbox { s}\) (bottom). Bottom left shows the rods and the particles and bottom right only the rods (particles omitted). Total simulation time is 0.05 s

Fig. 15
figure 15

Snapshots of the system at \(t = 0.010212\hbox { s}\) including the coordinate system (SI units). Side view (left) and back view (right)

5 Coupled DEM–FEM solution scheme

The models presented in the preceding sections were implemented in our in-house codes PSY [44] (for DEM analysis particle systems) and GIRAFFE [45] (for FEM analysis of solids and structures). This section explains how we perform the coupling between the two codes at every time step of our solution scheme.

GIRAFFE is rendered as the “host” code, being responsible for handling all the input data, such as all environment conditions, forces, boundary conditions, initial conditions, material properties, and solution parameters (i.e., time step size, convergence tolerances). It performs time integration of the rods’ FEM problem using a Newmark implicit scheme, as mentioned in Sect. 3.1, and this includes solution of the contacts between rods and detection of the contacts between particles and rods. PSY, in turn, is called from within GIRAFFE and is used to compute the dynamics of the particles, which includes the contacts between particles with themselves and also between particles and rigid walls. This computation has to take into account the interaction forces (and related moments) between particles and rods, whenever they occur, i.e., the forces \({\varvec{f}}_i^\mathrm{str}\) and moments \({\varvec{m}}_i^\mathrm{str}\) of Eqs. (2) and (3), respectively. These are passed from GIRAFFE as arguments. In summary, before calling PSY, GIRAFFE detects whether there are contacts between particles and rods and, in case there are, the corresponding forces \({\varvec{f}}_i^\mathrm{str}\) and moments \({\varvec{m}}_i^\mathrm{str}\) are passed to PSY. PSY, therafter, computes the particles’ new positions, velocities, and accelerations, and passes these back to GIRAFFE.

A more detailed description is as follows. At every time step, the FEM solution within GIRAFFE treats all particles as fixed geometric entities in space, with positions given from the previous (converged) time step. Then it computes the reaction forces and moments at the surface of the rods necessary to keep the particles fixed at these positions, whenever they make contact with the rods. The opposite of these reactions are \({\varvec{f}}_i^\mathrm{str}\) and \({\varvec{m}}_i^\mathrm{str}\), which are then passed to PSY for the DEM solution of the particles at the beginning of the next time step. The result of such coupling leads to displacements and rotations experienced by the particles during each time step, which in turn lead to possible new contacts and new reaction forces and moments to keep them at their new positions. Algorithmically, in the FEM solution of the rods, we treat the particles that are in contact with rods as if they were imposing prescribed displacements on the rods. One may summarize this as follows: everything occurs for the FEM routines as if we moved a set of points by a known time-series of prescribed displacements (a “displacement-controlled” solution approach). The key-point is that this displacement series is evaluated as a particle dynamics problem at the beginning of every time step (more precisely, at the beginning of the first iteration of the Newton’s method), the forces and moments of which being a function of the reactions supplied by the FEM model at the time step considered. The process is repeated until the desired end time is achieved. Figure 6 provides an outline.

Remark 3

The time-step size for the FEM solution does not need to be the same as for the DEM solution. Indeed, depending on the physics of the problem at hand, each may be solved with its own time increment, allowing for a more efficient (and/or more accurate) solution whenever necessary. For dense systems (i.e., systems of several particles and rods), though, it is recommended that the same time step be adopted, in order not to miss any possible new contacts that are formed as the system evolves. In other words, the expected frequency of contacts between rods and particles shall dictate whether to use the same or different time steps.

6 Numerical examples

In this section, we provide examples of numerical simulations to validate our coupled DEM–FEM computational model, and also to illustrate its applicability. Selection of appropriate time step sizes is crucial in order to capture the systems dynamics (with its multiple contacts and collisions) in an accurate and efficient way. Here, we select \(\Delta t\) according to the duration \(t_\mathrm{c}\) of a typical contact/collision for the problem at hand, using the following guideline:

$$\begin{aligned} t_\mathrm{c} \cong 2.87\left[ {\frac{(m^{{*}})^{2}}{r^{{*}}(E^{{*}})^{2}v_\mathrm{rel} }} \right] ^{1/5}\Rightarrow \;\;\Delta t\le \frac{t_\mathrm{c} }{20}\;, \end{aligned}$$
(37)

where \(v_\mathrm{rel}\) is the relative velocity of a typical contacting pair in the pair’s central direction immediately before the contact/collision is initiated. This is based on Hertz’s contact theory [36] and ensures that at least twenty time steps are used for a typical contact/collision. Hertz’s theory is also used to select appropriate values for the penalty parameter \(\epsilon _n\) in the rod-to-rod and rod-to-particle contacts. Accordingly, we compute the Hertz’s contact stiffness for a typical contacting pair by means of equation \((7)_{2}\), assuming an average penetration of 5 % of the pair’s effective radius, and transform the obtained value into an equivalent linear spring model of stiffness \(\epsilon _n\). The normal damping coefficient \(c_n\) (of Eq. (34)) is selected following a similar procedure, by considering Eq. (10) for a typical contacting pair (with a given damping ratio \(\xi \) and an average penetration of 5 %) and then taking the resulting value of \(d^{{*}}\) as \(c_n\). We adopt the same time step for the FEM and DEM solutions in all examples that follow. Other data (common to all examples) are:

  • Drag force parameters: \(c_\mathrm{F} =0.005\) \(\hbox {N} \hbox {s/m}\) and \({\varvec{v}}_\mathrm{F} ={\varvec{0}}\);

  • Near-field forces parameters: \(\kappa _1 =\kappa _2 =\lambda _1 =\lambda _2 =0\);

  • Convergence tolerance within Newton iterations of the FEM solver: \({ TOL}_\mathrm{F,D} =10^{-8}\) in examples 1 and 2 (for both the unbalanced forces and incremental displacement/rotation vectors), and \({ TOL}_\mathrm{F} =10^{-8}\) and \({ TOL}_\mathrm{D} =10^{-6}\) in example 3 (for the unbalanced forces and incremental displacement/rotation vectors, respectively).

Fig. 16
figure 16

Problem definition. Total number of particles is \(N_\mathrm{P} =3990\) (sample 1) and \(N_\mathrm{P} =4140\) (sample 2)

Fig. 17
figure 17

Snapshots of the sieving for sample 1 (same-sized grains) under shaking, at selected time instants. Total simulation time is 10.0 s

Fig. 18
figure 18

Snapshots of the sieving for sample 2 (grains’ size following Gaussian distribution) under shaking, at selected time instants. Total simulation time is 10.0 s

Fig. 19
figure 19

Snapshots of the sieving for sample 1 (same-sized grains) under gravity (no shaking), at selected time instants. Total simulation time is 10.0 s

Fig. 20
figure 20

Snapshots of the sieving for sample 2 (grains’ size following Gaussian distribution) under gravity (no shaking), at selected time instants. Total simulation time is 20.0 s

6.1 Single particle interacting with a flexible rod

This is a very simple example with the aim to verify our implementations. A spherical particle is bombarded against a flexible cylindrical rod that is clamped at the base (point A) and free at all other points, as shown in Fig. 7 (left part). The particle has diameter \(\phi =0.02\hbox { m}\), mass density \(\rho =1300 \hbox { kg/m}^{3}\), and elastic properties \(E=10\) GPa and \(\nu =0.45\), whereas the rod has cross-sectional diameter \(\phi _\mathrm{rod} =0.005\) m, length \(L=0.05\) m, mass density \(\rho _\mathrm{rod} =8000\hbox { kg/m}^{3}\), and elastic properties \(E_\mathrm{rod} =210\) GPa and \(\nu _\mathrm{rod} =0.3\). The particle is shot with initial translational velocity \({\varvec{v}}(0)=(0,-60,0)\) [m/s], with the rod held still in upright position. Gravity is not considered. The collision is assumed to be perfectly elastic, in the sense that no normal damping \((c_n =0)\) and no friction are considered upon contact. Besides, the rod is considered as perfectly elastic, meaning there is no structural damping during its deformation. In order to have a reference solution, we analyzed the problem with a commercial FEM software (ANSYS\(^\circledR \)), whereby we discretized both the rod and the particle with three-dimensional solid finite elements. Figure 8 provides results of our simulation as compared to the reference solution. As it can be seen, excellent agreement is found. It is worth mentioning that it takes roughly 20 seconds to run our simulation on a standard desktop computer, whereas for the reference solution it takes up to 10 minutes in the same machine. We hope these results may be useful to other researchers interested in benchmarking their codes. In both simulations, the time step size is \(\Delta t=10^{-6}\) s and the contact penalty parameter is \(\epsilon _n =1.41\times 10^{7}\) N/m. The number of rod elements (3-node elements) used to discretize the rod in our simulation is 10.

Once the model is validated, we consider a second version of the problem by including damping. We changed the material properties of the particle to \(E=210\) GPa, \(\nu =0.3\), and \(\rho =8000\hbox { kg/m}^{3}\), and of the rod to \(E_\mathrm{rod} =1\) GPa, \(\nu _\mathrm{rod} =0.45\), and \(\rho _\mathrm{rod} =1300\hbox { kg/m}^{3}\), since these are the data that we will use in the forthcoming example (the particle is to resemble a steel ball and the rod a nylon bar). Accordingly, we now assume the collision is highly dissipative, with normal damping coefficient \(c_n =5.45\hbox { N} \hbox {s/m}\) (this value is selected based on a damping ratio of  \(\xi =0.2\)). Friction is still not considered. We also include structural damping (i.e., damping on the rod’s deformation), and to do this in a somewhat realistic way we assume a Rayleigh type of dampingFootnote 2 and perform a simple calibration test prior to the simulation of the collision. The test is described in what follows. First, we impose a damping ratio of \(\xi _\mathrm{rod} =0.2\) in the Rayleigh expression, leading to a stiffness multiplier of \(2.55\times 10^{-4}\) s (the mass multiplier is assumed to be zero). Then we run two simulations on the rod (no particle) causing it to experience bending deformations upon two applied triangular impulses, one of low magnitude (leading to a small-displacements/rotations situation) and another of very high intensity, both corresponding to an applied force at the rod’s tip (point B) in the y-direction. We monitor the y-position of the rod’s tip along time. This permits quantifying and calibrating the damping to a desired value. The results of the test are shown in Figs. 9 and 10. One can see that the expected damping is accurately reproduced in both situations (note an overdamping in Fig. 10 until the system achieves a small-displacement behavior—approximately until 0.01 s).

With these data, we run the bombardment of the particle on the rod. The results obtained are depicted in Figs. 11 and 12. Therein, snapshots of the motion at selected instants are shown, along with time histories of the particle’s position, velocity, and the rod’s y-reaction at the clamped base. One can see that the interaction between the particle and the rod is appropriately captured, with the rod undergoing very large deformations upon collision. The particle, in turn, is deviated by the rod and acquires velocity in the z-direction, with a significant decrease in the total kinetic energy. The time step size adopted is \(\Delta t=1.25\times 10^{-6}\) s, the contact penalty parameter is \(\epsilon _n =1.46\times 10^{6}\) N/m and the number of elements (3-node elements) used to discretize the rod is 10.

6.2 Motion of grains over a surface covered by rods

A jet of grains moves over a flat surface toward a region covered by short thin rods, as shown in Fig. 13. The grains are spherical with diameter \(\phi _i =0.02\) m and mass density \(\rho _i =8000\hbox { kg/m}^{3}\), resembling steel beads, whereas the rods have diameter \(\phi _\mathrm{rod} =0.005\hbox { m}\), length \(L=0.05\hbox { m}\), mass density \(\rho _\mathrm{rod} =1300\hbox { kg/m}^{3}\), and elastic properties \(E=1\) GPa and \(\nu =0.45\) (exactly like in the previous example), resembling threads of nylon of synthetic grass. The rods are clamped at the base. The jet moves with initial velocity \({\varvec{v}}_i (0)=(0,-60,0)\) [m/s]. Gravity is not considered. At \(t\approx 0.00063\) s, the grains hit the rods and they all start to interact. Figures 14 and 15 depict snapshots of the system as obtained with our simulation. One can see that grain-to-rod, grain-to-grain, and rod-to-rod contacts are fully captured and resolved. Upon collision, the rods are seen to bend strongly to give way to the grains, whereas the grains are diverted slightly upwards (as expected), bouncing off the surface with reduced kinetic energy. As in the previous example, collisions are assumed to be highly dissipative, with damping parameters \(c_n =5.45\hbox { N} s/m\) (for grain-to-rod contacts) and \(\xi =0.9\) (for grain-to-grain contacts) (no damping for rod-to-rod contacts). Friction is considered only between grains, with \(\mu _\mathrm{d} =0.2\) (no friction between grains and rods nor between rods with themselves). The penalty parameter (for both grain-to-rod and rod-to-rod contacts) is \(\epsilon _n =1.46\times 10^{6}\) N/m. The rods are discretized by 20 elements each. The time step is \(\Delta t=1.0\times 10^{-6}\) s and the total simulation time is \(t=0.05\) s.

6.3 Sieving of a granular material

In this example, we analyze the sieving of a granular material by dropping a sample of grains of known granulometric distribution over a screen, which is modeled as a grid of thin rods as illustrated in Fig. 16. The screen (of sides \(L = 1.54\hbox { m}\)) is mounted on top of an empty box (of sides \(L_{\mathrm{b}} = 1.4\hbox { m}\) and height \(H_{\mathrm{b}} = 1.0\hbox { m}\)), being fixed at the corners in the vertical (i.e., z-) direction. The sample, in turn, has a cubic shape of side \(L_{\mathrm{s}} = 1.0\hbox { m}\). Gravity acts downwards with magnitude \(g=9.81\hbox { m/s}^{2}\). The screen is set to shake horizontally in the x-direction for 10 seconds, following a (sinusoidal) imposed displacement of amplitude (peak-to-peak) 0.05 m and frequency 4.0 Hz. Two different samples are considered: (1) one consisted of same-sized grains of diameter \(\phi _i =0.05\hbox { m}\), and (2) another whose grains’ diameter follows a Gaussian distribution of mean \(\bar{\phi }=0.05\hbox { m}\) and standard deviation \(\sigma _\phi =0.005\hbox { m}\), truncated at three standard deviations from \(\bar{\phi }\) such that \(\phi _i \in \left[ {0.035; 0.065\;\hbox {m}} \right] \) (this encompasses more than 99 % of the distribution). Both are generated following a random sequence addition procedure, with packing density (ratio of grains’ volume to total cubic volume) of 0.25. The rods of the screen are cylindrical with diameter \(\phi _\mathrm{rod} =0.025\) m, being evenly spaced at 0.077 m (distance between axes), which allows a void of \(e=0.052\hbox { m}\) for the grains to pass. The grains are assumed to be of \(\rho =2000\hbox { kg/m}^{3}\), \(E=1\hbox { MPa}\), and \(\nu =0.2\), reproducing a soft material, whereas the screen is of a metal with \(\rho =8000\hbox { kg/m}^{3}\), \(E=200\) GPa, and \(\nu =0.3\). Again, we assume the contacts to be highly dissipative, with damping parameters \(c_n =17.6\hbox { N} \hbox { s/m}\) for grain-to-rod contacts, \(\xi =0.9\) for grain-to-grain contacts, and \(\xi =0.5\) for contacts of the grains with the walls of the box. Friction is considered only between grains (with \(\mu _\mathrm{d} =0.2\)) and between grains and the walls of the box (with \(\mu _\mathrm{d} =0.1\)) (no friction between grains and rods). The penalty parameter used for grain-to-rod contacts is \(\epsilon _n =4.73\times 10^{3}\) N/m. Figures 17 and 18 show snapshots of our simulation for samples 1 and 2 respectively, at approximately the same time instants. It is interesting to notice the evolution of the grains’ deposition. At the end of the simulation time, all particles of sample 1 are seen to pass across the screen, as expected, whereas for sample 2 nearly 5 % of the particles are retained, in agreement with the sample’s diameter distribution, the void size of the screen and particles’ stiffness. We also performed a second simulation, by not shaking the screen and instead leaving the grains to pass solely under the action of gravity. The corresponding results are shown in Figs. 19 and 20. Notice the poorer sieving performance in this case. For sample 1, differences are not meaningful (except for the total time required for sieving, which is higher as expected), since the grains are all of smaller size than the screen’s voids. For sample 2, however, besides the longer time needed for the particles to pass, a much larger number of grains (10 %) is seen to be retained, as a consequence of the small force chains that are developed but not overcome by gravity, leading to localized clogging effectsFootnote 3. This illustrates how the model presented in this work may be utilized to, e.g., optimize sieving processes in industrial applications. A total of 2520 3-node rod elements was used to discretize the whole screen. The time step used is \(\Delta t=10^{-3}\hbox { s}\) (with adaptivity whenever needed).

7 Conclusions

The main purpose of this work was to present a computational scheme for the simulation of problems wherein granular materials interact with thin flexible rods. We wanted the scheme to be simple and efficient, such that it can (1) be easily implemented by researchers and engineers interested in these problems and (2) allow for fast simulations with which various natural and industrial processes may be studied. In this sense, grain-to-grain, grain-to-rod, and rod-to-rod contacts are permitted in the model and resolved in a simple and efficient way. As it has been shown from simple numerical examples, the scheme proved to properly couple the motion of the two types of materials (discrete and continuum), allowing for multiple contacts and complex collision situations in a reliable way. As future steps to our work, we may cite incorporation of a damage model for the rods (such that they may be broken or leave their supports upon collision with the grains), incorporation of stick-slip phenomena in the contacts (e.g., following the ideas of [35, 38], and [28]), consideration of other types of flexible structures (such as thin plates and shells, which would allow for the simulation of several other types of problems), and coupling the motion of the grains and deformable structures with that of surrounding fluids. These developments are currently in progress in our group. We believe that robust, efficiently coupled DEM–FEM schemes can be a very useful tool to the simulation of problems wherein granular materials interact with thin flexible structures, such as (but not restricted to) thin flexible rods.