You are on page 1of 29

S. Gttlicha S. Hoherb P. Schindlera V. Schleperc A.

Verlb

Modeling, simulation and validation of material flow on


conveyor belts

Stuttgart, February 2012

a
School of Business Informatics and Mathematics, University of Mannheim,
A 5,6, D-68131 Mannheim, Germany
goettlich@uni-mannheim.de, schindler@math.uni-mannheim.de,
http://lpwima.math.uni-mannheim.de/de/home/
b
Institute for Control Engineering of Machine Tools and Manufacturing Units, University of Stuttgart,
Seidenstrae 36, D-70174 Stuttgart, Germany
{Simon.Hoher, Alexander.Verl}@isw.uni-stuttgart.de
www.isw.uni-stuttgart.de

c
Institute of Applied Analysis and Numerical Simulation, University of Stuttgart,
Pfaffenwaldring 57, D-70569 Stuttgart Germany
Veronik.Schleper@mathematik.uni-stuttgart.de
http://www.mathematik.uni-stuttgart.de/fak8/ians/

Abstract In this paper a model comparison approach based on material flow systems is investigated
that is divided into a microscopic and a macroscopic model scale. On the microscopic model scale
particles are simulated using a model based on Newton dynamics borrowed from the engineering
literature. Phenomenological observations lead to a hyperbolic partial differential equation on the
macroscopic model scale. Suitable numerical algorithms are presented and both models are compared
numerically and validated against real-data test settings.

Keywords particle simulation, conservation laws with nonlocal flow, numerical studies

Preprint Series
Stuttgart Research Centre for Simulation Technology (SRC SimTech)
SimTech Cluster of Excellence
Pfaffenwaldring 5a
70569 Stuttgart
publications@simtech.uni-stuttgart.de
www.simtech.uni-stuttgart.de
Modeling, simulation and validation of material flow on
conveyor belts

Simone Gottlicha,, Simon Hoherb , Patrick Schindlera , Veronika Schleperc ,


Alexander Verlb
a Universityof Mannheim, School of Business Informatics and Mathematics, A 5,6,
D-68131 Mannheim, Germany
b University of Stuttgart, Institute for Control Engineering of Machine Tools and

Manufacturing Units, Seidenstrae 36, D-70174 Stuttgart, Germany


c University of Stuttgart, Institute for Applied Analysis and Numerical Simulation,

Pfaffenwaldring 57, D-70569 Stuttgart, Germany

Abstract
In this paper a model comparison approach based on material flow systems is
investigated that is divided into a microscopic and a macroscopic model scale.
On the microscopic model scale particles are simulated using a model based on
Newton dynamics borrowed from the engineering literature. Phenomenological
observations lead to a hyperbolic partial differential equation on the macroscopic
model scale. Suitable numerical algorithms are presented and both models are
compared numerically and validated against real-data test settings.
Keywords: particle simulation, conservation laws with nonlocal flow,
numerical studies
2000 MSC: 82C22, 35Q70, 35L65

1. Introduction

Reduction of cost for transportation, storage and handling as well as reduc-


tion of processing time with the help of mechatronic product innovations are the
main objectives in planning of in-company material flow systems. To fulfill these
requirements, the VDI-guideline 2206 [1] proposes a multi-stage design concept
based on the V-model, see figure 1. It is thereby recommended to support the
different design stages by virtual prototypes, thus reducing design times, secur-
ing design goals and enabling interdisciplinary cooperations of mechanical and
electrical engineers as well as computer scientists.

Corresponding author
Email addresses: goettlich@uni-mannheim.de (Simone G ottlich),
simon.hoher@isw.uni-stuttgart.de (Simon Hoher), schindler@math.uni-mannheim.de
(Patrick Schindler), veronika.schleper@mathematik.uni-stuttgart.de (Veronika Schleper),
alexander.verl@isw.uni-stuttgart.de (Alexander Verl)

Preprint submitted to Elsevier January 31, 2013


Figure 1: Interactive design process based on the V-model, see [1].

The amount of details included in the virtual prototypes increases hereby


from one design stage to the next. The first phase, called the preparation stage,
aims at estimating the theoretical material flow in order to get a first insight into
material distribution, material density and material storage. The focus of the
following conception and and detailed planning phases is to test concrete design
alternatives using different material flow elements. To this end, the concrete
design alternatives such as material branching, separation and sorting or incli-
nation of transportation devices have to be modeled in the virtual prototype.
The requirements for virtual prototypes are therefore:
The model has to be able to predict the space- and time evolution of
material flow and material density. This is ideally not done at isolated
points in space but continuously over the whole spacial domain of the
material flow system.
At the preparatory stage, the material flow should be characterized through
rough parameters and properties, while the virtual prototypes of the coarse
and fine planning phases have to account for concrete design strategies.
In this paper, we focus therefore on two models for material flow. The mi-
croscopic model, especially suitable for the conception and detailed planning
phases, is reviewed in section 2. This model tracks each part in the material
flow system and uses Newtons law together with a detailed description of the

2
acting forces to simulate the evolution of material distribution and density. This
modeling approach is well known from molecular simulations, see e.g. [2] for a
recent review. In the engineering community, models based on this or similar
principles are state of the art for material flow simulation in the planning phases,
see e.g. [3, 4, 5] as well as for other applications such as granular flow [6, 7],
computer graphics [8, 9] or traffic flow [10].
In section 3, motivated by [11, 12], a phenomenological study of the model
in section 2 yields a macroscopic model, based on a two-dimensional nonlo-
cal hyperbolic partial differential equation (see [13] and the references therein
for an overview), that is designed to fulfill the requirements of the preparation
phase. This model is especially suitable to provide first estimates on the mate-
rial flow and throughput rate of the production line. Similar ideas are used to
rigorously derive macroscopic models from microscopic ones via kinetic models,
see [14, 15, 16]. In section 4, we explain the numerical implementation of the
two proposed material flow models and discuss numerical issues such as com-
putation time. The presentation concludes with section 5 devoted to a detailed
comparison of the microscopic and macroscopic model with experimental data.
The results of this section show very promising agreement of the models with
the experiments in terms of throughput rate and material flow.

2. Microscopic Modeling

In the microscopic material flow model the physical movement of each single
particle or cargo on material flow elements is studied in a general setting, i.e. a
3-dimensional space. Each cargo is described as an unbounded rigid body with
the corresponding mass and moment of inertia. The interactions between the
cargo among themselves or cargo and conveyor belt are presented through the
physical laws of contact mechanics [17]. This approach is mainly used in material
sciences (see e.g. [18, 19]) or granular flow (see e.g. [20]). In the following the
microscopic model for the transport of cylindrical cargo on a conveyor belt is
derived (see figure 2). The cargo is separated by a rigid singularizer.

Conveyor Singularizer

Cargo

Figure 2: Cargo is separated on the conveyor belt by a rigid singularizer.

The material flow process is described as the sum of the unbounded movable
cargo and the contact between other cargo and the material flow elements. The
equation of motion for the movement of the cargo i is derived by means of

3
Newtons law of motion:
dxi (t)
= v i (t), (1a)
dt
Nf
dv i (t) X
mi = f i,n (t), i = 1, . . . , Nn (1b)
dt n=1
xi (0) = xi,0 , v i (0) = v i,0 , i = 1, . . . , Nn (1c)
3 3
where xi R is the cargo position vector, v i R is the cargo velocity vector,
mi R+ is the cargo mass, Nn is the total number of cargo, f i,n R3 is
the sum of Nf forces affecting the conveyed material. In our model especially
the contact forces, the occurring friction force and the gravitation are taken
into account. Note that there is no need to specify boundary conditions, as the
effect of the boundaries is handled by the contact force that occurs when a cargo
collides with the conveyor boundary.
According to the rigid body dynamics, the angular movement of the free
cargo is the result of Eulers equation of motion. The rotation of the cargo i is
described with the quaternion q i R4 .The advantage here is that these deliver
a numerically stable description of the rotation (see [21]):
dq i (t) 1
= [ i (t), 0] q i (t), q i (0) = q i,0 (2a)
dt 2
where i (t) R3 is the angular velocity of the cargo i at the time t and [i (t), 0]
is the associated quaternion. The angular velocity i (t) is given by
Nf Mf
d i (t) X X
i (t) = ri,n (t) f i,n (t) + ti,m (t), i (0) = i,0 (2b)
dt n=1 m=1

where ti,m R3 describes the Mf moments taking effect in the center of gravity.
In our model there occur no moments in the center of gravity. Since we model
a rigid body simulation, the N moments resulting from the cross product of
the contact points ri,n (t) R3 and the forces f i,n for i = 1, . . . , Nn have to be
taken into consideration. i R33 is the moment of inertia of the cargo i.
This is determined from the moment of inertia in the center of gravity G of the
cargo:
(G)
i (t) = Ri (t)i Ri (t)T , (3)
where Ri R33 is the rotation matrix of the cargo. Ri can be directly
calculated from q i (see [21]). The aspect of rotation of the cargo is important in
the later computation of the contact point and also enters in the computation
of friction forces through the relative velocity v i,j in the collision point, see also
section 4.1.
Now, the contact force f contact
i,j will be deduced which results in case of
contact of cargo i with another cargo j. Note, that contact forces always occur
opposed between the cargo i and cargo j.
f contact
i,j = f contact
j,i .

4
In contact between two cylinders with parallel axes, the contact force is linearly
proportional to the penetration depth
 
f contact = k
i,j i,j + d
i,j i,j ni,j ,
(4a)
i,j

with

1 1 i2 1 j2
ki,j = E li,j , = + . (4b)
4 i,j
Ei,j Ei Ej

Here, we are dealing with an analytical model according to [17] with the Youngs
moduli Ei (Ej respectively) and the Poision ratio i (j ) that are described by
the material properties of cargo i and j, see tables 1 and 2 in section 5. The
height of the contact pairs is described by li,j and the penetration depth by i,j .
The temporal change of the penetration depth i,j is given by the difference
of the velocities at the contact point of cargo i and j, denoted by v i,j . The
damping constant di,j is usually determined by experiments based on Lehrs
damping factor. The Young moduli and the Poision ratio were defined for a
multitude of materials and can be taken from relevant mechanical and metal
trades handbooks (see e.g. [22]). The normal direction of the contact pair is
described by ni,j R3 .
The contact force occurring during the contact between a cylindrical cargo
i and the singularizer or the belts can also be described by equation (4a). For
the contact of the cylindrical cargo and the elastic conveyor belt j the following
equation is adequate for ki,j :

ki,j = 2Ei,j i , (5)

with i being the contact radius of the cylindrical cargo i.


In addition, friction can occur in the contact point. The friction force is
orthogonal to the contact force in the direction of the relative velocity and it
is proportional to the contact force. The friction force is approximated by the
Coulomb friction through

if v tan

0, i,j 2 = 0

slip

f i,j = v tan (6)
i,j , otherwise
lin
contact
i,j f i,j

2 v tan
i,j 2

where v tan 3
i,j R is the projection of the relative velocity in the collision point
on the tangential level of the contact pair. lin
i,j is the coefficient of the sliding
slip
friction and is determined experimentally for the contact pairs. If f i,j would
slip
produce an acceleration of the cargo in the opposite direction, f i,j is reduced
until there is no more movement
of the cargo in the direction of the tangential
velocity. In the case of v tan
i,j 2 = 0, equation (6) is discontinuous. Therefore,

the Coulombic friction is extended in equation (6) by a hyperbolic tangent

5
function, in order to eliminate instabilities by discontinuity in the numerical
solution method (see [18]):
v tan
lin contact i,j
 
f slip lin tan

i,j = i,j f i,j 2 v tan
tanh i,j v i,j 2 . (7)
i,j 2

lin
i,j is a numerical parameter and should be selected so that an opposed accel-
eration is not possible. In our case lini,j = 10.0 was an adequate choice.
The contact friction f slip
i,j can if necessary still be extended by further effects
like static, dynamic or viscous friction. A common model is here the Stribeck
friction (see [23]). In our microscopic material flow model this simple descrip-
tion proved to be perfectly sufficient and consequently useful in the context of
an efficient computation.
Furthermore, another friction moment tslip i,j occurs in the contact point which
is also described by means of the Coulomb friction
 
tslip ang contact nor ang nor

i,j = i,j f i,j 2
sgn i,j n i,j tanh i,j i,j 2
ni,j . (8)

nor
i,j is the angular velocity between the bodies i and j in normal direction.
In a final step the contact point ri,j between the objects i and j must
be identified. For special bodies this point can be determined analytically.
For any convex bodies, however, the contact point can only be approximated
numerically. For any three dimensional bodies, various methods for contact
point detection have been developed over the last decades (see [24]). For this
the ideal bodies are approximated with the point set S i . We have applied the
GJK/EPA algorithm based on an implementation by Presson [25] for convex
bodies, because this implementation calculates very precisely and with high
stability the contact point as well as the penetration depth.
Since contact point detection is very computation-intensive, a pre-selection
can be made by a simple test. Thus the number of the precise contact point de-
tection of Nn objects of the order O Nn (N2n 1) can be reduced to O (Cp Nn ),
with Cp being the maximum number of contact points of an object with direct
object pressure. For the pre-selection of the contact point detection we used a
simplified separating-axis test:
abs (xi xj ) < i,j , (9a)
with
q
i,j = i + j , i = a2i + b2i + c2i , (9b)

where ai , bi and ci are the half lengths of any convex body i.


Note that for our further investigations, especially the derivation of the par-
tial differential equation and the numerical experiments, we assume two dimen-
sional rotationally symmetric particles. We will be interested in the evolution
of the particle density allowing for effects such as congestion and deflection in
case of large scale production.

6
3. Macroscopic Modeling
Continuous models relying on conservation laws are used in different en-
gineering areas, e.g. traffic flow [26], manufacturing systems [27], crowd and
evacuation dynamics [11, 12]. Inspired by the work of Colombo et al. [11, 12]
we now derive an observation-based two dimensional hyperbolic partial differ-
ential equation to approximate the physical flow line model in section 2 in an
appropriate way.
We consider again the setting illustrated in figure 2 where we mainly assume
that the number of cargo inside the system should be large. A singularizer
is installed to redirect and sort the cargo to another position on the moving
conveyor belt, i.e. phenomena such as queuing and changes of transport direc-
tions will occur. It is well known that the microscopic model captures the most
accurate dynamics but gets computational extremely costly and produces in-
efficient simulation times. Clearly, the new approach shall represent the right
dynamical behavior of the material flow and provide suitable simulation times
as well. This can be achieved using a macroscopic model avoiding the individual
tracking of parts through the system using averaged quantities as part density
(parts per length) and flux (parts per time). As an approximation, we propose
a two dimensional non-local hyperbolic partial differential equation (PDE), or
conservation law, which determines the motion of the part density.
To derive an appropriate macroscopic model for the conveyor belt, the main
ingredients and assumptions are:
(I) Mass should be conserved, i.e we do not gain or lose cargo.
(II) The model must allow the formation of congestions at obstacles.
(III) Similar to traffic models, a maximal density is needed to deal with over-
crowded situations.
(IV) Two velocities are relevant: the constant velocity of the conveyor belt and
a velocity depending on the part density to decide whether and in which
direction the density will be negotiated or stopped.
The crucial point in modeling these phenomena is a conservation law with a
mass-dependent velocity field, cf. [11, 12]. Therefore, we introduce the part
density as a two dimensional space and time depending function : R+
R+ , with R2 that governs dynamics of the following setting:
t + ((v dyn () + v stat (x))) = 0 (10a)
dyn
v () = H( max ) I() (10b)
( )
I() = p (10c)
1 + k( )k22
(x, 0) = 0 (x), x R2 , (10d)
where = (x, t), H denotes the common Heaviside function assigning zero to
negative arguments and max the fixed maximal density.

7
Corresponding to (I), equation (10a) determines the evolution of the initial
part density (10d) depending on the velocity field consisting of two parts: the
time-independent velocity field v stat (x) and a dynamic velocity field v dyn (),
cf. (IV). The field v stat (x) prescribes the transport velocity induced by the
conveyor belt, cf. discussion in subsection 3.1. Thus v stat (x) defines the velocity
field of single cargo without any interaction between each other. However, the
dynamic component v dyn () in equation (10c) reflects the movement of colliding
objects, similar to [11, 12]. We assume that the objects never move out of the
x1 , x2 -plane, i.e. objects cannot overlay in the third dimension. By observation
(II), the parts accumulate at the singularizer. But in reality colliding objects
do not penetrate each other. This implies that the density could not be larger
than the density of a close-packing of parts max , see (III). That means, we
have to prevent situations that yield densities > max for 0 (x1 , x2 ) < max
in a certain time t > 0 and space x R2 . This scenario is relevant if the
divergence of the velocity field v stat (x) is negative and > 0. To ensure that
the density does not become much larger than max the density dependent
velocity v dyn () is introduced to reduce this effect. The velocity field v dyn ()
disperses clouds with > max . Thus, further compressions are prevented and
the density does not exceed max anymore. The term (10c) is obviously active
if > max , i.e. H( max ) = 1, and 0 (inactive) vice versa.

Remark 3.1. In [28], a basic model without interaction term is introduced, i.e.
t + (H(max )v stat (x)) = 0. The drawback is that such an approach
does not involve force terms pushing densities close to max in less crowded
areas. In total, this leads to a lower throughput rate.

We introduce the non-local operator I() that is controllable with the con-
stant parameter > 0. The negative gradient field yields the steepest descent of
the convolution , where is a sufficiently smooth mollifier. The denominator
of I() ensures that the vector norm is bounded, i.e. kI()k2 . Consequently,
the parts feel a force pushing them in direction to a lower density. Moreover,
inside a fully compressed cloud, the density is constant in space and therefore
the term ( ) does not give any contribution to the force field. This is
in accordance with the physical behavior where the forces inside the congested
region sum up to zero. Thus, the density dependent force term I() will only
act in a small neighborhood of the boundary of a congested region. Finally, the
total throughput rate corresponds to real experiments, see section 4.
Let us summarize: The friction force between the parts and the conveyor
belt implies a strong damping effect. Thus, in the microscopic model, the ve-
locity of non-colliding parts converge to the transport velocity of the conveyor
belt quite fast. In the macroscopic model, due to the Heaviside function, the
non-interacting (or free flow) velocity is immediately v stat (x). This is possible
because the macroscopic model does not consider any inertia. On the other
hand, if parts interact in the microscopic model, a collision force will appear
which repulses interacting parts. In the macroscopic model, a dispersing veloc-
ity field v dyn () is activated which has a repulsive effect by the term I().

8
Remark 3.2. The boundary conditions of (10a) at are imposed by the ge-
ometry of the conveyor belt. We divide the boundary into two areas:
= wall inf low ,
where wall describes solid boundaries and inf low denotes the inflow region.
At inf low , we set homogeneous Dirichlet conditions. Otherwise, at wall ,
we apply free slip conditions.
(x, t) = 0, x inf low (11a)
dyn stat
hv (x, t) + v (x), ni = 0, x wall , (11b)
with n being the normal vector to .
Note that in our experimental setting we do not need an inflow profile since all
experiments are initialized with an initial distribution given by equation (10d),
cf. section 5.

3.1. Static Velocity Field


The static field generates a direction field in R2 which models all trajectories
of moving objects without self-interactions. As one can imagine, the field is
motivated by the experiment introduced in section 2. Ingredients such as the
conveyor belt itself, the singularizer and the boundaries have to be represented
in a correct way. Therefore, the static vector field is subdivided in different
domains A C, see figure 3.

A
C B

Figure 3: Static velocity field of the conveyor belt.

Each domain is assigned to a dominating vector. Domain A prescribes the


movement of objects transported with the velocity of conveyor belt v T . Thus,
within this area, the static field is defined as
 
1
v stat (x) = v T , x A.
0
Domain B characterizes the shape of the singularizer. Since in reality it is not
possible that objects get through the obstacle, the static field should prohibit
trajectories intersecting the obstacle domain. This is done using an outgoing
vector field, i.e. trajectories move out of the domain B. For that reason the
dominating vector is directed to the normal of the obstacle surface.
 
sin()
v stat (x) = v T , x B.
cos ()

9
Generally, cargo move along the singularizer. For that reason, we introduce an
additional velocity domain C to describe the slide effect at obstacles. In domain
C, the dominating vector is introduced as follows:
 
stat cos() cos()
v (x) = v T , x C.
sin () cos()

Remark 3.3. Note that walls can also be integrated in the static velocity field
v stat (x). For instance, consider the construction of domain B and use the
normal vector n of the walls as the dominating vector of the domain.

4. Numerical Methods

To experimentally compare the microscopic and the macroscopic approach,


we discuss suitable numerical methods. We present the main properties and
comment on the computational efficiency.

4.1. Numerical Methods for the Microscopic Model


For the selected modeling approach for the microscopic material flow model
the Verlet method is a commonly used numerical standard solution technique
(see Ref. [29]). Then, the calculation rule for the evolution of cargo for all
i = 1, . . . , Nn according to (1) reads as follows
Nf
X f i,n (t)
xi (t + t) = (2 Dinum t) xi (t) (1 Dinum t) xi (t t) + t 2
,
n=1
mi
(12a)
xi (t + t) xi (t t)
v i (t + t) = . (12b)
2t
The angular movement is calculated using the forward Euler method

Nf Mf
t 1
X X
i (t + t) = (1 Dinum ) i (t) + t (i (t)) r i,n (t) f i,n (t) + ti,m (t) ,
n=1 m=1
(13a)
[ i (t + t), 0] q i (t)
q i (t + t) = (1 Dinum )t q i (t) + t , (13b)
2
where t describing the step size of the numerical solution method. Dinum
[0, 1] is a numerical damping parameter. The Verlet method offers a good ac-
curacy at a suitable step size, sufficient numerical stability and fast computing
times and can therefore be seen as an adequate solution method. In addition
it has to be noted that equation (12) needs to be initialized by an adequate
one-step process (e.g. forward Euler).
Below, we present the pseudo code for the microscopic model. In the func-
tion computeContactPair(...) the contact point detection (as proposed by

10
Presson [25]) is carried out. The equations (4), (7) and (8) are summed up in
the function computeContactForces(...) for computing the contact forces;
one time step of the numerical computation method per object is calculated in
the function computeStep(...). Hereby, Nt describes the number of time steps
to be computed and Nn denotes for the number of objects in the microscopic
model. The pseudo code is realized in vector style.
micro solver()

(1.1) For tk = 0 to Nt 1 (Compute contact force)


(1.2) For n1 = 0 to Nn 1 (Check every object vs. every other object)
(1.3) For n2 = n1 to Nn 1
(1.4) If xn1 + xn2 < i,j Then (Separating Axis Test, (9a))
(1.5) [r n1 ,n2 , n1 ,n2 , nn1 ,n2 ,CcpHasResult]
:=computeContactPair(xn1 , q n1 , S n1 , xn2 , q n2 , S n2 )
(1.6) If CcpHasResult Then
(1.7) [f contact slip slip
n1 ,n2 , f n1 ,n2 , tn1 ,n2 ]:=computeContactForces(rn1 ,n2 ,
n1 ,n2 , nn1 ,n2 , xn1 , xn2 , v n1 , v n2 , n1 , n2 , kn1 ,n2 , dn1 ,n2 )
(1.8) f n1 := f n1 + (f contact slip
n1 ,n2 f n1 ,n2 )
contact slip
(1.9) tn1 := tn1 + (tn1 ,n2 tn1 ,n2 )
(1.10) f n2 := f n2 (f contact slip
n1 ,n2 f n1 ,n2 )
contact slip
(1.11) tn2 := tn2 (tn1 ,n2 tn1 ,n2 )
(1.12) End
(1.13) End
(1.14) End
(1.15) End
(1.16) For n = 0 to Nn 1
(1.17) [xn , q n , v n , n ] := computeStep(t, xn , q n , v n , n , f n , tn , mn ,
(G),1
n , dnum
n )
gravity
(1.18) f n := f n
(1.19) tn := 0
(1.20) End
(1.21) End

computeContactForce(...)

(2.1) v n1 ,n2 := v n1 + n1 (r n1 ,n2 xn1 ) v n2 n2 (r n1 ,n2 xn2 )


(2.2) v nor
n1 ,n2 := (v n1 ,n2 nn1 ,n2 )nn1 ,n2
(2.3) v tan nor
n1 ,n2 := v n1 ,n2 v n1 ,n2
contact
(2.4) f n1 ,n2 :=kn1 ,n2 n1 ,n2 nn1 ,n2 + dn1 ,n2 v nor
n1 ,n2 
slip kf contact
n1 ,n2 k2
 
(2.5) f n1 ,n2 := n1 ,n2 vtan tanh n1 ,n2 v tan
lin
n1 ,n2 2 v tan
n1 ,n2
 k n1 ,n2 k2

slip ang contact
nor

ang nor

(2.6) tn1 ,n2 = n1 ,n2 f n1 ,n2 2 sgn n1 ,n2 nn1 ,n2 tanh n1 ,n2 n1 ,n2 2 nn1 ,n2

11
computeStep(...)

(3.1) 1n := R(q n )n
(G),1 T
R (q n )
n (t)
(3.2) xn,1 := (2 Dn t)xn xn,1 + t2 fm
num
n
xn,1 xn,1
(3.3) v n := 2t
(3.4) xn,1 := xn
(3.5) xn := xn,1
(3.6) n := (1 Dnnum )t n + 1 n ( ttn )
num t t
(3.7) q n := (1 Dn ) q n + 2 [n , 0]q n

Let us now analyze the complexity of our numerical method.


Lemma 4.1 (Microscopic model: Runtime performance). Let the com-
putation times of a single operation be defined by
c1 : Floating Point Addition and Subtraction,
c2 : Floating Point Multiplication and Division,
c3 : Comparison,
c4 : Trigonometric, Square root and Pow operations,
c5 : Negation,
c6 : Jump operation,
c7 : Assignment,
c8 : Integer Increment/Decrement.
micro
Then the runtime computation time Trun of the algorithm is assessable by the
formula

micro 1
Trun = Nn Nt (7761c1 + 8520c2 + 82c3 + 108c4 + 24c6 + 973c7 + c8 (14)
2
+ Nn (3c1 + 4c3 + 2c6 + c7 + c8 ))

Proof. The evaluation of the Axis Separating Test (AST) in code line 1.4 costs
3 additions (c1 ) and 3 comparisons (c3 ). In addition the jump in the control
structure has to be assessed (c6 ). The test is conducted for all objects Nn2 times.
Then, the total execution of the Axis Separating Test costs
Nn (Nn 1)
TAST,1.4 = Nt (3c1 + 3c3 + c6 ).
2
The cylindrical objects in our experiment have an object pressure of a maximum
of 6 contact points (Cp = 6), i.e. the pseudo code in lines 1.5 to 1.12 has to
be executed at the most 6Nn times. For the exact collision point detection in
line 1.5 it is assumed that a convex hull is put around each cargo and is then
described with a number of 32 vertices (corresponding to the number of vertices

12
for a cylinder with octagonal ends). After Gilbert (Ref. [30]), a maximum of 1000
EF (Equivalent Flops) results at an average of 32 vertices for the contact point
detection with his GJK algorithm. Although this value has been determined
using an iterative procedure and depends on specific situations, Gilbert expects
that the contact point is always detected after 1000 EF (Ref. [30]). One EF is
translated by us as follows:
c1 + c2
= EF.
2
For the storage of the computing results, 8 allocations (c7 ) become due. Thus,
for the exact contact point detection in line 1.5 the following costs arise
 c1 + c2 
TGJK,1.5 = 6Nn Nt 1000 + 8c7 .
2
The control structure in line 1.6 needs a jump instruction (c6 )

TIf,1.6 = 6Nn Nt c6 .

In line 1.7 the contact forces are calculated with computeContactForce(...).


The evaluation of this function (lines 2.1-2.6) needs 7 vector additions/vector
subtractions (3c1 ), 2 scalar products (3c2 + 2c1 ), 2 cross products (6c2 + 3c1 ),
5 vector scalar multiplications (3c2 ), 9 scalar multiplications (c2 ), 6 vector as-
signments (3c7 ), 5 norm operations (c4 + 3c2 + 2c1 ), 2 trigonometric operations
(c4 ) and 1 sign operation (c3 + c6 ). Thus, we get

TCCF,1.7 = 6Nn Nt (41c1 + 51c2 + 7c3 + 7c4 + c6 + 18c7 ).

In line 1.8 to 1.12 follow the assignments of the calculated forces to the total
forces of the singular objects. The costs for this result from 8 vector addi-
tions/subtractions and 3 vector assignments to

TAssign,1.81.11 = 6Nn Nt (24c1 + 12c7 ).

According to lines 3.1-3.7, the evaluation of the function computeStep() in code


line 1.17 needs 2 matrix-matrix computations (3c2 + 2c1 ), 7 vector-scalar multi-
plications (3c2 ), 5 scalar-scalar multiplications (c2 ), 1 Quaternion-multiplication
(16c2 + 12c1 ), 3 vector additions (3c1 ), 3 scalar additions (c1 ), 1 Quaternion ad-
dition (4c1 ), 2 conversions of Quaternions to rotation matrices (6c1 + 27c2 ), 2
exponential calls (c4 ), 1 Matrix transposition (9c7 ), 1 matrix assignment (9c7 ),
5 vector assignments (3c7 ) and 1 Quaternion assignment (4c7 ). The function
computeStep() is called 6Nn times per time step, such that we end up with

TCS,1.17 = 6Nn Nt (82c1 + 159c2 + 2c4 + 37c7 ).

In line 1.18 and 1.19 the gravitational force is set and the moment is reset to 0.
The costs with 2 vector assignments result in

TAssign,1.181.19 = 6Nn Nt 6c7 .

13
With this cost estimation the function calls computeContactForce(...) and
computeStep(...) are counted as inline functions, so they do not cause any
costs for the jump to function and for the variable assignment of the functions
return values.
The basic structure of the microscopic model is realized by several interlaced
For loops. A For loop consists of Nt assignments (c7 ), Nt jumps (c6 ), Nt
comparisons (c3 ) and Nt increments (c8 ). The overall performance of a loop is
then
TLoop = Nt (c3 + c6 + c7 + c8 ).
The runtime performance for the overall loop from line 1.1 to 1.21 with the
sub-loops 1.2 to 1.15 and 1.3 to 1.14 is

Nn (Nn 1)
TLoop,1.21.15 = Nt (c3 + c6 + c7 + c8 )
2
and for the overall loop from line 1.1 to 1.21 with the sub-loop from line 1.16
to 1.20
TLoop,1.161.20 = Nt Nn ((c3 + c6 + c7 + c8 ) + c7 ).
Summing up the individual costs of all parts, we get the total runtime perfor-
mance (14).

Remark 4.1. Several components are essential for the runtime performance:
1. The computing effort for contact point detection of polygonal models con-
tributes significantly to the runtime performance per object and time step.
Even though there are many methods for detecting contact points, this ef-
fort could only be reduced by pre-selecting whether a collision detection will
be necessary or not, also in recent research results [31, 32].
2. The runtime performance increases quadratically with the number of ob-
jects to be simulated, i.e. the complexity is O(Nn2 Nt ). Note that a reduc-
tion of the model to two space dimensions will not significantly reduce the
computational effort since all changes will effect only the constants (e.g.
2 instead of 3 multiplications for a scalar-vector product). Furthermore,
from a physical point of view, a reduction to two dimensions does not
seem reasonable due to the different contact points for the present forces
(collision, friction,...).
3. The time step should always be selected within the context to be simulated,
since this has a linear influence on the computing performance. Note
however that the above described method is explicit such that time step
restrictions have to be followed. In the present case, all forces as well as
the maximal velocity of the cargo are known or can be estimated a priori.
Therefore, once an appropriate time step is chosen, no check on the time
step size is needed during the runtime.

14
4.2. Numerical Methods for the Macroscopic Model
Following the structure of subsection 4.1, we now present a suitable numeri-
cal method for the partial differential equation (10). The procedure is based on
the Roe method with dimensional splitting, see [33]. The computation works
with a discrete data set of the density and velocity in space and time. The
two dimensional spatial domain is discretized equidistantly in rectangular cells.
Each cell is identified by the indices i, j. The center of a cell i, j is located at
xi,j = (x1,i , x2,j )T . The lengths of the cells are given by the spatial step sizes
x1 , x2 . Additionally the time t is discretized by step size t. We use the
following space and time grid:

x1,i = ix1 , i = 1, .., Nx1 , x2,j = jx2 , j = 1, .., Nx2 , tk = kt, k = 1, .., Nt .

The cells are presented as Qi,j = [x1,i 12 , x1,i+ 12 ] [x2,j 12 , x2,j+ 12 ]. Note that
for numerical simulations the spatial domain is bounded and has a rectangular
t
shape. Furthermore d = x d
for d = 1, 2 are the grid constants. The density
is now defined as a step function

(x, tk ) = ki,j R for x Qi,j .

A common way to solve two dimensional problems is the application of a di-


mensional splitting, i.e. a fractional-step approach in which one-dimensional
problems are solved sequentially along each coordinate direction. In that way
the multidimensional problem is split into a sequence of one dimensional prob-
lems. Therefore the fluxes (v dyn () + v stat (x)) used in the numerics are split
in each dimension. The gradient and the convolution are parts of the dispersive
term I(). It is necessary to discuss the gradient and the convolution for the
numerical solution method. In detail, the gradient of the convolution term
is a two dimensional vector where the gradient operator can be directly applied
to the mollifier . This eliminates the differential operator if the function
is well-known.

( ) = (x1 , x2 )T . (15)

For clarification, we consider only the first component of the vector (15). For
the numerical method it is necessary to evaluate the flux between the cells. For
that reason we compute the convolution in the spatial point x = (x1,i+ 12 , x2,j )T
at a fixed time tk .
Z
(x1 )(x) = x1 (x )( )d (16a)
R2
X Z
= kp,q x1 (x )d (16b)
p,q Qp,q
X
= kp,q c1ip,jq , (16c)
p,q

15
where the weights cdp,q are defined as
Z Z
c1p,q := x1 ( )d , c2p,q := x2 ( )d .
Qp+ 1 ,q Qp,q+ 1
2 2

Remark 4.2. The expression (16c) is formulated as an infinite sum. For the
numerical implementations, the sum is considered in a finite way with S1 S2
summands.
The numerical flux in one dimension, i.e. d = 1 at points xi+ 21 ,j and tk is a
modified Roe flux combined with the non local term I() :
(
k k ki,j H(ki,j max )I1 ()(xi+ 12 ,j ), I1 ()(xi+ 12 ,j ) 0
F1 (, i,j , i+1,j , xi+ 12 ,j ) =
ki+1,j H(ki+1,j max )I1 ()(xi+ 21 ,j ), I1 ()(xi+ 12 ,j ) 0.

I1 () respectively I2 () are the first and second components of the vector I().
Furthermore, the static flux is chosen as the classical Roe flux
( k stat stat
i,j v1,i+ 1 ,j , v1,i+ 1 0
k k stat 2 ,j
G1 (i,j , i+1,j , v i+ 1 ,j ) = k
2
stat stat
2 i+1,j v1,i+ 1 ,j , v1,i+ 1 ,j 0,
2 2

where the discretized static velocity field is given by

v stat stat stat T


i+ 1 ,j := (v1,i+ 1 ,j , v2,i+ 1 ,j ) := v
stat
(xi+ 12 ,j ).
2 2 2

The fluxes in x2 -direction F2 (, kij , ki,j+1 , xi,j+ 12 ) and G2 (ki,j , ki,j+1 , v stat
i,j+ 12
)
are defined analogously.
The routine macro solver() describes a numerical solver for the macro-
scopic model. The dynamic velocity field is solved explicitly for time tk in
the routine compute velocityfield(...). The static velocity field is time
invariant and an update routine with respect to time is redundant. In lines
1.3 - 1.16 in macro solver(), the continuity equation for the velocity field
(v dyn () + v stat (x)) is solved for the next time step tk+1 by dimension splitting.
macro solver()

(1.1) For k = 0 to Nt 1
(1.2) compute velocityfield()
(1.3) For j = 1 to Nx2
(1.4) For i = 1 to Nx1
(1.5) F1+ := F1 (, ki,j , ki+1,j , xi+ 12 ,j ) + G1 (ki,j , ki+1,j , v stat
i+ 12 ,j
)
k k k k stat
(1.6) F1 := F1 (, i1,j , i,j , xi 12 ,j ) + G1 (i1,j , i,j , v i 1 ,j )
2
(1.7) ki,j = ki,j 1 [F1+ F1 ]
(1.8) End
(1.9) End

16
(1.10) For i = 1 to N1
(1.11) For j = 1 to N2
(1.12) F2+ := F2 (, ki,j , ki,j+1 , xi,j+ 12 ) + G2 (
ki,j , ki,j+1 , v stat
i,j+ 12
)
k k k k stat
(1.13) F2 := F2 (, i,j1 , i,j , xi,j 12 ) + G2 ( i,j1 , i,j , v i,j 1 )
2
(1.14) k+1 ki,j 2 [F2+ F2 ]
i,j =
(1.15) End
(1.16) End
(1.17) End

compute velocityfield()

(2.1) For all i, j


Dx1 i,j := p,q kp,q c1ip,jq
P
(2.2)
Dx2 i,j := p,q kp,q c2ip,jq
P
(2.3)

Dx1 i,j
(2.4) I1 ()(xi+ 12 ,j ) =
1+(Dx1 i,j )2 +(Dx2 i,j )2
Dx2 i,j
(2.5) I2 ()(xi,j+ 12 ) =
1+(Dx1 i,j )2 +(Dx2 i,j )2
(2.6) End

T
Remark 4.3. 1. Using the notation (v dyn ()+v stat (x)) = (F1 (, x), F2 (, x)) ,
we note that the above discrete flux fulfills

F1 ( , , v stat
, , , xi+ 12 ,j ) + G1 ( i+ 1 ,j ) = F1 (
, xi+ 21 ,j )
2

F2 ( , , v stat
, , , xi,j+ 12 ) + G2 ( i,j+ 1 ) = F2 (
, xi,j+ 12 )
2

for all R+ . This is necessary to get a consistent discretization of the


continuous flux (v dyn () + v stat (x)).
2. The presented method is positive preserving as long as the grid constants
1 k
fulfill d < 2(+max{v stat }) . Indeed, let ij > 0 for all i, j. Then we have
d
|Id ()| and can conclude

F1+ := kij ( + v1,i+


stat
1
,j ) 2

F1 := kij ( + v1,i
stat
1
,j ). 2

Therefore,
kij := kij 1 F1+ F1 > 0.


Analogous arguments applied to F2 yield k+1


ij > 0.

17
Lemma 4.2 (Macroscopic Model: Runtime performance). Let cl the com-
putation times of a single operation as defined in Lemma 4.1 for l = 1, . . . , 8.
macro
Then the computation time Trun of the algorithm is expressible by the formula
macro
Trun = Nt (Nx1 Nx2 (S1 S2 (2c1 + c2 + 2c3 + 4c6 + 2c7 + 2c8 ) (17)
+ 16c1 + 24c2 + 13c3 + 2c5 + 3c6 + 5c7 + 3c8 ))

Proof. Each iteration of a For loop costs a comparison, jump operation, as-
signment and an integer increase. A For loop with Nt iterations needs the
following computation time

TLoop = Nt (c3 + c6 + c7 + c8 ).

We estimate the computation time of the procedure compute velocityfield().


The expressions in line 2.2 and line 2.3 have 2 S1 S2 additions, multiplications
and assignments. Note that this calculation is implemented with two convoluted
For loops. Line 2.4 and line 2.5 have 4 additions, 6 multiplications, 2 square
root operations, 2 negations, 2 assignments. The For loop in line 2.1 repeats this
computation Nx1 Nx2 times. This yields the computation time for the procedure
compute velocityfield():

TV el,1.2 = Nx1 Nx2 (2S1 S2 [c1 + c2 + c6 + (c3 + c6 + c7 + c8 )]


+4c1 + 6c2 + 2c3 + 2c5 + 2c6 + (c3 + c6 + c7 + c8 ))

Line 1.5 to line 1.7 in the main routine macro solver() uses 6 additions, 9
multiplications and 1 assignment. Furthermore the call of the function F1 ()
or G1 () needs a comparison operation. The assignments of F + , F are not
necessary and can be neglected. The convoluted For loops in line 1.3 and 1.4
repeat the operations in line 1.5-1.7 (Nx1 Nx2 ) times. This yields a computation
time for line 1.3-1.9:

TLoop,1.31.9 = Nx1 Nx2 (6c1 + 9c2 + 4c3 + c7 + (c3 + c6 + c7 + c8 )).

The computation time of line 1.10 - 1.16 is equal to line 1.3-1.9. The For loop
in line 1 repeats the computation for one time-step Nt times. This yields the
entire computation time for the routine macro solver()
macro
Trun = Nt (TV el,1.2 + 2Nx1 Nx2 (6c1 + 9c2 + 5c3 + 2c7 + c8 ).

This completes our proof.

Remark 4.4. A few remarks are in order.


1. The runtime performance is independent of the total number of objects. It
just depends on the number of time and space steps, i.e. the complexity is
O(Nx1 Nx2 S1 S2 Nt ). Mollifier with non compact support are reduced to a
finite number of grid points. For less computation times, it is recommend-
able to use mollifiers with small supports.

18
2. To ensure stability of the algorithm macro solver(), the CFL condition
t
must be satisfied, i.e. x d
max k( [(v dyn () + v stat (x))]k 1 for
d = 1, 2. In our case this is valid for a smoothed version of the Heaviside
function. A similar expression can also be derived for the use of the (non-
smooth) Heaviside function.

5. Experiments

Some numerical comparisons of the microscopic and macroscopic models are


shown in this section. The results are validated with real world data. Before
discussing the results in detail, let us present the different parameter settings.

Real World Settings. The experiments describe the transport of cargo on a


conveyor belt redirected by a singularizer. To collect real world data, the upper
side of the conveyor belt is filmed by a high speed camera. Image processing
tools use the camera data to determine the positions and velocity of each object.
Obviously, the quality of the real world data depends on several factors, i.e.
ambient light intensity, camera refraction and robustness of the image processing
algorithms. Hence, measuring errors cannot completely excluded. We consider
a total of Nn = 192 cargo in the shape of metal cylinders with a radius of
= 0.012m and a height of l = 0.008m. The maximal cargo density is equal
to the hexagonal packing of two dimensional spheres with radius . Therefore
the maximal density is about max = 2004 parts per m2 . The velocity of the
conveyor belt is vT = 0.395m/s.

Microscopic Model Settings. The microscopic model uses the same data setting
as above. Additionally, the parameterization of the microscopic model is shown
in tables 1 and 2. The values are adopted from relevant literature (Ref. [22]). For
all simulation runs the step size is t = 105 . The elastic modules are reduced
by the factor 106 during the simulation runs, in order to reduce the numerical
stiffness of the differential equation of motion. Due to the lower elastic module,
the cargo can penetrate each other more than in reality.

material Ei i i Dinum
kN 1
[ mm 2] [m ] [m] [1]
cargo 210 0.28 0.012 0.1
conveyor 40 0.05 0.012 0.1
handling 70 0.34 0.012 0.1

Table 1: Material parameters for the different elements of the microscopic model.

Note that the chosen values correspond to the mean values given in the literature
(see Ref. [22]). Varying the parameters inside their respective confidence interval
can certainly yield a better agreement of experiment and simulation. However,
we want to show the capability of the model to predict the behavior of the cargo
transport even with standard parameter choices.

19
lin/ang lin/ang
paring li,j di,j i,j i,j
[m] [N ] [1] [1]
cargo-cargo 0.008 119 0.15 10.0/1.0
conveyor-cargo 0.008 230 1.0 10.0/1.0
handling-cargo 0.008 120 0.19 10.0/1.0

Table 2: Material parameter for different parings in the microscopic model.

Macroscopic Model Settings. The solution of the macroscopic model is com-


puted by the numerical scheme introduced in section 4. The step sizes are set
to x1 = 5 103 , x2 = 5 103 , t = 1.25 103 in the following numerical
computations. The mollifier occurring in the operator I() is set as follows
 1 
(x) = exp kxk22 , = 10000.
2 2
The influence of the operator I() is determined by the factor = 2vT . The
initial density 0 (x) is given by the origin position of the cargo at time t = 0.
Since the vector xi,0 R2 denotes the position of a cargo i at time t = 0, the
initial density 0 (x) can be modeled by
Nn
0 X  1 
0 (x) = exp 0 kx xi,0 k22 , 0 = 2500. (18)
2max i=1 2
R
In addition, the total mass of 0 yields 0 (x)dx = 192.

5.1. Example 1: Microscopic Model vs. Macroscopic Model


We start with the setting that the singularizer angle is is set to 60 de-
gree. The results are shown in figure 4. The left column in figure 4 shows the
measurements of a conveyor experiment. The middle and right column show
the numerical results of the microscopic and macroscopic models. Each Plot
visualize the cargo position for different times. In particular, the yellow and
green cylinders in the left and middle column visualize the cargo objects. The
pictures in the right column show the density functions as a gray-scaled image
plot. Each color specifies a density value. Therefore, a dark color represent
a higher density (black represent the maximal density) and vice versa. In all
results, we observe that the cargo are transported with the velocity vT . A for-
mation of congestion is observable in all results. The cargo in the experimental
data plots moves slower along the singularizer than the cargo of the microscopic
and macroscopic models. The emerging diffusion in the macroscopic plots is an
numerical artefact. The diffusion results from the step sizes in the numerical
schemes. However, from a qualitative point of view, the results are remarkably
good and promising.

20
0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(a) time t = 0.00 (b) time t = 0.00 (c) time t = 0.00

0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(d) time t = 1.00 (e) time t = 1.00 (f) time t = 1.00

0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(g) time t = 2.00 (h) time t = 2.00 (i) time t = 2.00

0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(j) time t = 3.00 (k) time t = 3.00 (l) time t = 3.00

Figure 4: Real world data (left), microscopic model (middle) and macroscopic
model (right).

21
5.1.1. Mass balance and outflow behavior
Let us analyze the experiment quantitatively. We are interested in the
amount of cargo that pass the singularizer. A time-dynamic mass function
U (t) counts all cargo which have not passed the singularizer. The aim is to
compare the amount of passed objects for both models and the real data. For
the real data and the microscopic model, the time-dynamic mass function U (t)
is defined as
Nn
(
X 1 x 0
U (t) = 0 (xi (t)), 0 (x) =
i=1
0 otherwise.

where 0 is the left


sided region in front of the obstacle, i.e. 0 =
(x1 , x2 ) R2 x1 < 0.75 . The time-dependent mass function U (t) for the


macroscopic model is given by


Z
U (t) = (x, t)dx.
0

The evaluation of U and U is shown in figure 5. At the beginning t = 0,


the amount of cargo is 192. After a certain time, cargo pass the obstacle and
the amount U, U decreases. We observe that microscopic and macroscopic
approach fit quite well. There is only a gap between the micro/macro model
and the measurements from time t = 2 to time t = 5. This corresponds to
the time where only the congestion remains inside and the outflow is only
determined by the ability of the models to dissolve the congestion. figure 5
shows that both numerical simulations predict a slightly too large outflow in
this case. After t > 6 all cargo have passed the singularizer and U, U are 0.

200
PDE
180 ODE
Experiment
160
Number of Parts before Obstacle

140

120

100

80

60

40

20

0
0 1 2 3 4 5 6
Time

Figure 5: Comparison of the outflows over time. Each object and quantity is
measured in the conveyor-region x1 < 0.75.

5.2. Example 2: Microscopic Model vs. Macroscopic Model


Again, we use the same parameter as in Example 1 but with the difference
that the singularizer angle is set to 90 degree now. The results are shown in

22
figure 6. The composition of the plots in figure 6 is analogue to figure 4. In all
models, the cargo are transported with the conveyor belt velocity in direction
of the singularizer. Due to the rectangular arrangement of the singularizer, we
recognize more crowded regions and congestions. Note that the rounded shape
of the congestion in figure 6(f) is a result of the convolution ( ).

0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(a) time t = 0.00 (b) time t = 0.00 (c) time t = 0.00

0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(d) time t = 1.00 (e) time t = 1.00 (f) time t = 1.00

0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(g) time t = 2.00 (h) time t = 2.00 (i) time t = 2.00

0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(j) time t = 4.00 (k) time t = 4.00 (l) time t = 4.00

Figure 6: Real world data (left), microscopic model (middle) and macroscopic
model (right).

As in the previous comparison in figure 5 the congestion at the singularizer


dissolves slower in the experiment, than in both numerical models. This effect

23
is emphasized in figure 7. At time t 2, an effect of tilting occurs in the real
data, explaining the small plateau of the blue line in figure 7. Note that this
setting represents a very challenging experiment, since not all cargo can pass
the singularizer. In the experimental setting, vibrations transmitted from the
conveyor belt onto the cargo result in additional small contributions to the ve-
locity of the objects. Due to the 90 degree angle of the singularizer, the overall
outflow velocity of the cargo is lower than in Example 1, such that the effect
of vibration is of higher influence in this setting. However, the additional con-
tribution introduced by vibrations is not represented in the numerical models.
Since these models tend to predict slightly too high throughput rates, but do
not capture the additional velocity contribution, the gap in the outflow rate is
reduced in this example.

200
PDE
180 ODE
Experiment
160
Number of Parts before Obstacle

140

120

100

80

60

40

20

0
0 1 2 3 4 5 6
Time

Figure 7: Comparison of the outflows over time. Each object and quantity is
measured in the conveyor-region x1 < 0.75.

5.3. Example 3: Macroscopic Model


The macroscopic model presented above has a discontinuous component,
namely the Heaviside function H, see (10c). This decision part is included in
the dispersive term v dyn () = H( max )I(). If > max , the term I() will
be active.
In the literature, models for pedestrian flow use a similar model [12], but do
not limit the influence of the dispersive term to a maximum density. Therefore,
these models do not contain the Heaviside function and set v dyn () = I().
In [12], lane formation was observed for the pedestrian model with smooth
dispersive term, whereas this effect seems to be much less present in the above
presented non-smooth material flow model.
Figure 8 shows simulation results using the smooth model of [12]. The
top row corresponds to the setting of Experiment 1 in section 5.1, where we
use a kernel with = 104 . Compared to the results in figure 4, we observe
a line formation of circular shape in figure 8. Further increase of the kernel
size (corresponding to a reduction of to 103 ) results in more pronounced
line formation of now linear shape, see figure 8, bottom row. This is in total

24
agreement with the results in [12]. However it is up to now not understood
why lane formation occurs and why it seems to be less pronounced for the
non-smooth version of the model that is presented in this paper.

0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(a) time t = 0.00 (b) time t = 0.0781 (c) time t = 0.25

0 0 0

0.2 0.2 0.2

0.4 0.4 0.4

0.6 0.6 0.6

0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8

(d) time t = 0.00 (e) time t = 0.0312 (f) time t = 0.25

Figure 8: Results of the macroscopic model with v dyn () = I(): mollifier


parameter = 10000 (above), mollifier parameter = 1000 (bottom).

Acknowledgements

Simon Hoher, Veronika Schleper and Alexaner Verl would like to thank the
German Research Foundation (DFG) for financial support of the project within
the Cluster of Excellence in Simulation Technology (EXC 310/1) at the Univer-
sity of Stuttgart.

References

[1] VDI-Technical Division Product Development and Mechatronics, VDI


guidline 2206, Design methodology for mechatronic systems, VDI-Society
Product and Process Engineering, 2004.
URL http://www.vdi.eu
[2] A. Jabbarzadeh, R. I. Tanner, Molecular dynamics simulation and its ap-
plication to nano-rheology, Rheology Reviews (2006) 165216.
[3] S. Rock, Hardware in the loop simulation of production systems dynamics,
Production Engineering 5 (2011) 329337.

25
[4] G. W unsch, Realtime collision detection and rigid body simulation for the
digital assembly automation, in: CARV 2009 - 3rd International Conference
on Changeable, Agile, Reconfigurable and Virtual Production, 2009, pp.
899907.
[5] G. Reinhart, F.-F. Lacour, Physically based virtual commissioning of mate-
rial flow intensive manufacturing plants, in: H. A. Zaeh, M. F.; ElMaraghy
(Ed.), 3rd International Conference on Changeable, Agile, Reconfigurable
and Virtual Production (CARV 2009), Utz, Munich, 2009, pp. 377387.
[6] P. A. Cundall, O. D. L. Strack, A discrete numerical model for granular
assemblies, Geotechnique 29 (1979) 4765.
[7] J. W. Landry, G. S. Grest, L. E. Silbert, S. J. Plimpton, Confined granular
packings: Structure, stress, and forces, Phys. Rev. E 67 (2003) 041303.
[8] W. T. Reeves, Particle systemsa technique for modeling a class of
fuzzy objects, SIGGRAPH Comput. Graph. 17 (3) (1983) 359375.
doi:10.1145/964967.801167.

[9] N. Foster, R. Fedkiw, Practical animation of liquids, in: Proceedings of


the 28th annual conference on Computer graphics and interactive tech-
niques, SIGGRAPH 01, ACM, New York, NY, USA, 2001, pp. 2330.
doi:10.1145/383259.383261.
[10] D. Helbing, Verkehrsdynamik: Neue physikalische Modellierungskonzepte,
Springer, 1997.
[11] R. M. Colombo, M. Garavello, M. Lecureux-Mercier, Nonlocal crowd dy-
namics models for several populations, Acta Math. Sci. Ser. B Engl. Ed.
32 (2012) 177196.
[12] R. M. Colombo, M. Garavello, M. Lecureux-Mercier, A class of nonlocal
models for pedestrian traffic, Math. Models Methods Appl. Sci. 22 (2012)
1150023.
[13] Q. Du, J. R. Kamm, R. B. Lehoucq, M. L. Parks, A new approach for a
nonlocal, nonlinear conservation law, SIAM J. Appl. Math. 72 (1) (2012)
464487.
[14] S. Gottlich, A. Klar, S. Tiwari, A model hierarchy for complex material
flow problems: a mean field approach and particle methods, Preprint, 14
pages (2013).
[15] H. P. Zhu, A. B. Yu, Averaging method of granular materials, Phys. Rev.
E 66 (2002) 021302.
[16] H. P. Zhu, A. B. Yu, Micromechanic modeling and analysis of unsteady-
state granular flow in a cylindrical hopper, J. Engrg. Math. 52 (1-3) (2005)
307320.

26
[17] V. L. Popov, Contact Mechanics and Friction. Physical Principles and Ap-
plications, Springer, 2010.
[18] T. Gaugele, F. Fleissner, P. Eberhard, Simulation of material tests using
meshfree lagrangian particle methods, in: Proc. IMechE, Vol. 222, 2008,
pp. 327338, part K: Multi-body Dynamics.
[19] S. Kantorovich, R. Weeber, J. J. Cerd`a, C. Holm, Magnetic particles with
shifted dipoles, Journal of Magnetism and Magnetic Materials 323 (2011)
12691272.
[20] P. A. Langston, U. T uzun, D. M. Heyes, Discrete element simulation of
granular flow in 2d and 3d hoppers: Dependence of discharge rate and wall
stress on particle interactions, Chemical Engineering Science 50 (1995) 967
987.
[21] K. Shoemake, Animating rotation with quaternion curves, SIGGRAPH
Computer graphics 19 (1985) 245254.
[22] U. Fischer, R. Gomeringer, M. Heinzler, R. Kilgus, F. Naher, Mechanical
and Metal Trades Handbook, 2nd Edition, Europa-Lehrmittel, 2010.
[23] K. J. Olsson, H.and Astrom, C. Canudas de Wit, M. Gafvert, P. Lischinsky,
Friction models and friction compensation, European journal of control 4
(1998) 176195.
[24] S. Kockara, T. Halic, K. Iqbal, C. Bayrak, R. Rowe, Collision detection:
A survey, in: IEEE International Conference on Systems, Man and Cyber-
netics (ISIC), 2007, pp. 40464051.
[25] E. Coumans, Bullet Continuous Collision Detection and Physics Library.
GJK/EPA Solver implemented by Nathanael Presson, Bullet 2.80 (2012).
URL http://bulletphysics.org/
[26] M. Garavello, B. Piccoli, Traffic flow on networks, Vol. 1 of AIMS Se-
ries on Applied Mathematics, American Institute of Mathematical Sciences
(AIMS), Springfield, MO, 2006, conservation laws models.
[27] D. Armbruster, P. Degond, C. Ringhofer, A model for the dynamics of large
queuing networks and supply chains, SIAM J. on Applied Mathematics 66
(2006) 896920.
[28] S. Hoher, P. Schindler, S. Gottlich, V. Schleper, S. Rock, System dynamic
models and real-time simulation of complex material flow systems, in: H. A.
ElMaraghy (Ed.), Enabling Manufacturing competitiveness and economic
sustainability, Part 3, Springer, 2012, pp. 316321.
[29] L. Verlet, Computer Experiments on Classical Fluids. I. Thermodynam-
ical Properties of Lennard-Jones Molecules, Phys. Rev. 159 (1967) 98103.

27
[30] E. G. Gilbert, D. W. Johnson, S. S. Keerthi, A fast procedure for computing
the distance between complex objects in three-dimensional space, IEEE
Journal of Robotics and Automation 4 (1988) 193203.
[31] P. Jimenez, F. Thomas, C. Torras, 3d collision detection: a survey, Com-
puters & Graphics 25 (2) (2001) 269285.
[32] M. Lin, S. Gottschalk, Collision detection between geometric models: A
survey, in: Proc. of IMA Conf. on Mathematics of Surfaces, 1998.
[33] R. J. LeVeque, Finite volume methods for hyperbolic problems, Cambridge
Texts in Applied Mathematics, Cambridge University Press, Cambridge,
2002.

28

You might also like