S. Göttlich a S. Hoher b P. Schindler a V. Schleper c A. Verl b Modeling, simulation and validation of material flow on conveyor belts Stuttgart, February 1 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, Seidenstraße 36, D-7174 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-7569 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 7569 Stuttgart publications@simtech.uni-stuttgart.de www.simtech.uni-stuttgart.de
Modeling, simulation and validation of material flow on conveyor belts Simone Göttlich a,, Simon Hoher b, Patrick Schindler a, Veronika Schleper c, Alexander Verl b a University of 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, Seidenstraße 36, D-7174 Stuttgart, Germany c University of Stuttgart, Institute for Applied Analysis and Numerical Simulation, Pfaffenwaldring 57, D-7569 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 MSC: 8C, 35Q7, 35L65 1. Introduction Reduction of cost for transportation, storage and handling as well as reduction 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 6 [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, securing 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öttlich), 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, 13
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, aimsatestimating the theoreticalmaterialflowin ordertogetafirstinsightinto 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 inclination 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 microscopic model, especially suitable for the conception and detailed planning phases, is reviewed in section. This model tracks each part in the material flow system and uses Newton s law together with a detailed description of the
acting forces to simulate the evolution of material distribution and density. This modeling approach is well known from molecular simulations, see e.g. [] 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 [1]. In section 3, motivated by [11, 1], a phenomenological study of the model in section yields a macroscopic model, based on a two-dimensional nonlocal 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 material 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 computation 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.. 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. []). In the following the microscopic model for the transport of cylindrical cargo on a conveyor belt is derived (see figure ). The cargo is separated by a rigid singularizer. Conveyor Singularizer Cargo Figure : 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
Newton s law of motion: dx i (t) dt m i dv i (t) dt = v i (t), (1a) N f = f i,n (t), i = 1,...,N n n=1 x i () = x i,, v i () = v i,, i = 1,...,N n (1b) where x i R 3 is the cargo position vector, v i R 3 is the cargo velocity vector, m i R + is the cargo mass, N n is the total number of cargo, f i,n R 3 is the sum of N f 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 Euler s equation of motion. The rotation of the cargo i is described with the quaternion q i R 4.The advantage here is that these deliver a numerically stable description of the rotation (see [1]): dq i (t) dt (1c) = 1 [ω i(t),]q i (t), q i () = q i, (a) whereω i (t) R 3 is the angularvelocityofthe cargoiatthe time t and [ω i (t),] is the associated quaternion. The angular velocity ω i (t) is given by Θ i (t) dω i(t) dt N f = r i,n (t) f i,n (t)+ n=1 M f m=1 t i,m (t), ω i () = ω i, (b) where t i,m R 3 describes the M f moments taking effect in the center ofgravity. 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 r i,n (t) R 3 and the forces f i,n for i = 1,...,N n have to be taken into consideration. Θ i R 3 3 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: Θ i (t) = R i (t)θ (G) i R i (t) T, (3) where R i R 3 3 is the rotation matrix of the cargo. R i can be directly calculated from q i (see [1]). 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 in the collision point, see also section 4.1. Now, the contact force f contact 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 = 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 δ +d δ n, (4a) with k = π 4 E l, 1 E = 1 ν i E i + 1 ν j E j. (4b) Here, we are dealing with an analytical model according to [17] with the Young s moduli E i (E j respectively) and the Poision ratio ν i (ν j ) that are described by the material properties of cargo i and j, see tables 1 and in section 5. The height of the contact pairs is described by l and the penetration depth by δ. The temporal change of the penetration depth δ is given by the difference of the velocities at the contact point of cargo i and j, denoted by v. The damping constant d is usually determined by experiments based on Lehr s 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. []). The normal direction of the contact pair is described by n R 3. 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 k : k = E ξ 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 f slip = = µ lin f contact v tan (6) v tan, otherwise where v tan R 3 is the projection of the relative velocity in the collision point on the tangential level of the contact pair. µ lin is the coefficient of the sliding friction and is determined experimentally for the contact pairs. If would slip produce an acceleration of the cargo in the opposite direction, f is reduced until there is no more movement of the cargo in the direction of the tangential velocity. In the case of v tan =, equation (6) is discontinuous. Therefore, the Coulombic friction is extended in equation (6) by a hyperbolic tangent f slip 5
function, in order to eliminate instabilities by discontinuity in the numerical solution method (see [18]): κ lin = µ lin f contact f slip v tan v tan ( tanh κ lin ) v tan. (7) is a numerical parameter and should be selected so that an opposed acceleration is not possible. In our case κ lin = 1. was an adequate choice. The contact friction f slip can if necessary still be extended by further effects like static, dynamic or viscous friction. A common model is here the Stribeck friction (see [3]). In our microscopic material flow model this simple description proved to be perfectly sufficient and consequently useful in the context of an efficient computation. Furthermore, anotherfriction momentt slip occurs in the contact point which is also described by means of the Coulomb friction = µ ang t slip f contact sgn ( ω nor n ) tanh (κ ang ω nor )n. (8) ω nor is the angular velocity between the bodies i and j in normal direction. In a final step the contact point r 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 [4]). 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 [5] 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 detection of N n objects of the order O ( Nn(N n 1) ) can be reduced to O(C p N n ), with C p 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: with abs(x i x j ) < γ, γ = γ i +γ j, γ i = a i +b i +c i, (9a) (9b) where a i, b i and c i are the half lengths of any convex body i. Note that for our further investigations, especially the derivation of the partial differential equation and the numerical experiments, we assume two dimensional 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 engineering areas, e.g. traffic flow [6], manufacturing systems [7], crowd and evacuation dynamics [11, 1]. Inspired by the work of Colombo et al. [11, 1] we now derive an observation-based two dimensional hyperbolic partial differential equation to approximate the physical flow line model in section in an appropriate way. We consider again the setting illustrated in figure 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 directions will occur. It is well known that the microscopic model captures the most accurate dynamics but gets computational extremely costly and produces inefficient 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 overcrowded 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, 1]. Therefore, we introduce the part density as a two dimensional space and time depending function ρ : Ω R + R +, with Ω R that governs dynamics of the following setting: t ρ+ (ρ(v dyn (ρ)+v stat (x))) = v dyn (ρ) = H(ρ ρ max ) I(ρ) (η ρ) I(ρ) = ǫ 1+ (η ρ) ρ(x,) = ρ (x), x R, (1a) (1b) (1c) (1d) 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 (1a) determines the evolution of the initial part density (1d) 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 conveyorbelt, cf. discussioninsubsection3.1. Thusv stat (x)definesthe velocity field of single cargo without any interaction between each other. However, the dynamic component v dyn (ρ) in equation(1c) reflects the movementof colliding objects, similar to [11, 1]. We assume that the objects never move out of the x 1,x -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 ρ (x 1,x ) < ρ max in a certain time t > and space x R. This scenario is relevant if the divergence of the velocity field v stat (x) is negative and ρ >. 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 (1c) is obviously active if ρ > ρ max, i.e. H(ρ ρ max ) = 1, and (inactive) vice versa. Remark 3.1. In [8], a basic model without interaction term is introduced, i.e. t ρ+ (ρh(ρ max ρ)v stat (x)) =. 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 constant parameter ǫ >. The negative gradient field yields the steepest descent of the convolution η ρ, where η is a sufficiently smooth mollifier. The denominator ofi(ρ) ensuresthatthe vectornormisbounded, i.e. I(ρ) ǫ. 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 velocity 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 velocity field v dyn (ρ) is activated which has a repulsive effect by the term I(ρ). 8
Remark 3.. The boundary conditions of (1a) at Ω are imposed by the geometry of the conveyor belt. We divide the boundary into two areas: Ω = Ω wall Ω inflow, where Ω wall describes solid boundaries and Ω inflow denotes the inflow region. At Ω inflow, we set homogeneous Dirichlet conditions. Otherwise, at Ω wall, we apply free slip conditions. ρ(x,t) =, x Ω inflow (11a) v dyn (x,t)+v stat (x),n =, 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 (1d), cf. section 5. 3.1. Static Velocity Field The static field generates a direction field in R which models all trajectories of moving objects without self-interactions. As one can imagine, the field is motivated by the experiment introduced in section. 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 ( ) v stat 1 (x) = v T, x A. 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. v stat (x) = v T ( sin(α) cos(α) ), x B. 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: ( ) v stat cos(α)cos(α) (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. [9]). Then, the calculation rule for the evolution of cargo for all i = 1,...,N n according to (1) reads as follows x i (t+ t) = ( Di num t)x i (t) (1 D num i t)x i (t t)+ t N f n=1 f i,n (t) m i, (1a) v i (t+ t) = x i(t+ t) x i (t t). (1b) t The angular movement is calculated using the forward Euler method N f ω i (t+ t) = (1 Di num ) t ω i (t)+ t(θ i (t)) 1 r i,n (t) f i,n (t)+ q i (t+ t) = (1 D num i n=1 M f m=1 (13a) ) t q i (t)+ t [ω i(t+ t),]q i (t), (13b) where t describing the step size of the numerical solution method. Di num [,1] is a numerical damping parameter. The Verlet method offers a good accuracy 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 (1) 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 function computecontactpair(...) the contact point detection (as proposed by t i,m (t), 1
Presson [5]) 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, N t describes the number of time steps to be computed and N n denotes for the number of objects in the microscopic model. The pseudo code is realized in vector style. micro solver() (1.1) For t k = to N t 1 (Compute contact force) (1.) For n 1 = to N n 1 (Check every object vs. every other object) (1.3) For n = n 1 to N n 1 (1.4) If x n1 +x n < γ Then (Separating Axis Test, (9a)) (1.5) [r n1,n,δ n1,n,n n1,n,ccphasresult] :=computecontactpair(x n1,q n1,s n1,x n,q n,s n ) (1.6) If CcpHasResult Then (1.7) [f contact,f slip,t slip ]:=computecontactforces(r n1,n, (1.8) f n1 := f n1 +(f contact (1.9) t n1 := t n1 +(t contact (1.1) f n := f n (f contact (1.11) t n := t n (t contact δ n1,n,n n1,n,x n1,x n,v n1,v n,ω n1,ω n,k n1,n,d n1,n ) f slip ) t slip ) f slip ) t slip ) (1.1) End (1.13) End (1.14) End (1.15) End (1.16) For n = to N n 1 (1.17) [x n,q n,v n,ω n ] := computestep( t,x n,q n,v n,ω n,f n,t n,m n, (1.18) f n := f gravity n (1.19) t n := (1.) End (1.1) End Θ (G), 1 n,d num n ) computecontactforce(...) (.1) v n1,n := v n1 +ω n1 (r n1,n x n1 ) v n ω n (r n1,n x n ) (.) v nor := (v n1,n n n1,n )n n1,n (.3) v tan := v n1,n v nor (.4) f contact (.5) f slip := (.6) t slip = := k n1,n δ n1,n n n1,n +d n1,n v (µ nor f contact n 1,n n1,n ( κ lin v tan ) ) v tan tanh v tan n 1,n ( µ ang n f contact 1,n sgn ( ) ( ω nor n n1,n tanh κ ang n ω nor 1,n ))n n1,n 11
computestep(...) (3.1) Θ 1 n := R(q n )Θ(G), 1 (3.) x n,1 := ( D num n (3.3) v n := xn,1 xn, 1 t (3.4) x n, 1 := x n (3.5) x n := x n,1 (3.6) ω n := (1 D num n (3.7) q n := (1 D num n n R T (q n ) t)x n x n, 1 + t f n (t) m n ) t ω n +Θ 1 n ( tt n) ) t q n + t [ω n,]q n Let us now analyze the complexity of our numerical method. Lemma 4.1 (Microscopic model: Runtime performance). Let the computation times of a single operation be defined by c 1 : Floating Point Addition and Subtraction, c : Floating Point Multiplication and Division, c 3 : Comparison, c 4 : Trigonometric, Square root and Pow operations, c 5 : Negation, c 6 : Jump operation, c 7 : Assignment, c 8 : Integer Increment/Decrement. Then the runtime computation time Trun micro of the algorithm is assessable by the formula T micro run = 1 N nn t (7761c 1 +85c +8c 3 +18c 4 +4c 6 +973c 7 +c 8 (14) +N n (3c 1 +4c 3 +c 6 +c 7 +c 8 )) Proof. The evaluation of the Axis Separating Test (AST) in code line 1.4 costs 3 additions (c 1 ) and 3 comparisons (c 3 ). In addition the jump in the control structure has to be assessed(c 6 ). The test is conducted for all objects N n times. Then, the total execution of the Axis Separating Test costs N n (N n 1) T AST,1.4 = N t (3c 1 +3c 3 +c 6 ). The cylindrical objects in our experiment have an object pressure of a maximum of 6 contact points (C p = 6), i.e. the pseudo code in lines 1.5 to 1.1 has to be executed at the most 6N n 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 3 vertices (corresponding to the number of vertices 1
for a cylinder with octagonal ends). After Gilbert(Ref.[3]), a maximum of 1 EF (Equivalent Flops) results at an average of 3 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 1 EF (Ref. [3]). One EF is translated by us as follows: c 1 +c = EF. For the storage of the computing results, 8 allocations (c 7 ) become due. Thus, for the exact contact point detection in line 1.5 the following costs arise ( T GJK,1.5 = 6N n N t 1 c 1+c +8c 7 ). The control structure in line 1.6 needs a jump instruction (c 6 ) T If,1.6 = 6N n N t c 6. In line 1.7 the contact forces are calculated with computecontactforce(...). The evaluation of this function (lines.1-.6) needs 7 vector additions/vector subtractions (3c 1 ), scalar products (3c +c 1 ), cross products (6c +3c 1 ), 5 vector scalar multiplications (3c ), 9 scalar multiplications (c ), 6 vector assignments (3c 7 ), 5 norm operations (c 4 +3c +c 1 ), trigonometric operations (c 4 ) and 1 sign operation (c 3 +c 6 ). Thus, we get T CCF,1.7 = 6N n N t (41c 1 +51c +7c 3 +7c 4 +c 6 +18c 7 ). In line 1.8 to 1.1 follow the assignments of the calculated forces to the total forces of the singular objects. The costs for this result from 8 vector additions/subtractions and 3 vector assignments to T Assign,1.8 1.11 = 6N n N t (4c 1 +1c 7 ). According to lines 3.1-3.7, the evaluation of the function computestep() in code line 1.17 needs matrix-matrix computations (3c +c 1 ), 7 vector-scalar multiplications(3c ), 5scalar-scalarmultiplications(c ), 1Quaternion-multiplication (16c +1c 1 ), 3 vector additions (3c 1 ), 3 scalar additions (c 1 ), 1 Quaternion addition (4c 1 ), conversions of Quaternions to rotation matrices (6c 1 +7c ), exponential calls (c 4 ), 1 Matrix transposition (9c 7 ), 1 matrix assignment (9c 7 ), 5 vector assignments (3c 7 ) and 1 Quaternion assignment (4c 7 ). The function computestep() is called 6N n times per time step, such that we end up with T CS,1.17 = 6N n N t (8c 1 +159c +c 4 +37c 7 ). In line 1.18 and 1.19 the gravitational force is set and the moment is reset to. The costs with vector assignments result in T Assign,1.18 1.19 = 6N n N t 6c 7. 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 function s return values. The basic structure of the microscopic model is realized by several interlaced For loops. A For loop consists of N t assignments (c 7 ), N t jumps (c 6 ), N t comparisons (c 3 ) and N t increments (c 8 ). The overall performance of a loop is then T Loop = N t (c 3 +c 6 +c 7 +c 8 ). The runtime performance for the overall loop from line 1.1 to 1.1 with the sub-loops 1. to 1.15 and 1.3 to 1.14 is N n (N n 1) T Loop,1. 1.15 = N t (c 3 +c 6 +c 7 +c 8 ) and for the overall loop from line 1.1 to 1.1 with the sub-loop from line 1.16 to 1. T Loop,1.16 1. = N t N n ((c 3 +c 6 +c 7 +c 8 )+c 7 ). Summing up the individual costs of all parts, we get the total runtime performance (14). Remark 4.1. Several components are essential for the runtime performance: 1. The computing effort for contact point detection of polygonal models contributes significantly to the runtime performance per object and time step. Even though there are many methods for detecting contact points, this effort could only be reduced by pre-selecting whether a collision detection will be necessary or not, also in recent research results [31, 3].. The runtime performance increases quadratically with the number of objects to be simulated, i.e. the complexity is O(N n N t). Note that a reduction of the model to two space dimensions will not significantly reduce the computational effort since all changes will effect only the constants (e.g. 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.. Numerical Methods for the Macroscopic Model Following the structure of subsection 4.1, we now present a suitable numerical method for the partial differential equation (1). 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. The center of a cell is located at x = (x 1,i,x,j ) T. The lengths of the cells are given by the spatial step sizes x 1, x. Additionally the time t is discretized by step size t. We use the following space and time grid: x 1,i = i x 1, i = 1,..,N x1, x,j = j x, j = 1,..,N x, t k = k t, k = 1,..,N t. The cells are presented as Q = [x 1,i 1,x 1,i+ 1] [x,j 1,x,j+ 1 ]. Note that for numerical simulations the spatial domain is bounded and has a rectangular shape. Furthermore λ d = t x d for d = 1, are the grid constants. The density ρ is now defined as a step function ρ(x,t k ) = ρ k R for x Q. A common way to solve two dimensional problems is the application of a dimensional 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 problems. 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 η ρ, x η ρ) 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 = (x 1,i+ 1,x,j) T at a fixed time t k. ( x1 η ρ)(x) = x1 η(x τ)ρ(τ)dτ (16a) R = ρ k p,q x1 η(x τ)dτ (16b) p,q Q p,q = p,q ρ k p,q c 1 i p,j q, (16c) 15
where the weights c d p,q are defined as c 1 p,q := x1 η(τ)dτ, c p,q Q := x η(τ)dτ. p,q+ 1 Q p+ 1,q Remark 4.. The expression (16c) is formulated as an infinite sum. For the numerical implementations, the sum is considered in a finite way with S 1 S summands. The numerical flux in one dimension, i.e. d = 1 at points x i+ 1,j and t k is a modified Roe flux combined with the non local term I(ρ) : { ρ F 1 (ρ,ρ k k,ρk i+1,j,x i+ 1,j ) = H(ρ k ρ max)i 1 (ρ)(x i+ 1,j ), I 1 (ρ)(x i+ 1,j ) ρ k i+1,j H(ρk i+1,j ρ max)i 1 (ρ)(x i+ 1,j ), I 1 (ρ)(x i+ 1,j ). I 1 (ρ) respectively I (ρ) are the first and second components of the vector I(ρ). Furthermore, the static flux is chosen as the classical Roe flux G 1 (ρ k,ρk i+1,j,vstat i+ 1,j) = { ρ k v stat 1,i+ 1,j, ρ k i+1,j vstat 1,i+ 1,j, vstat 1,i+ 1,j vstat, 1,i+ 1,j where the discretized static velocity field is given by v stat i+ 1,j := (vstat 1,i+ 1,j,vstat,i+ 1,j)T := v stat (x i+ 1,j ). The fluxes in x -direction F (ρ,ρ k ij,ρk +1,x + 1 ) and G (ρ k,ρk +1,vstat + 1 ) are defined analogously. The routine macro solver() describes a numerical solver for the macroscopic model. The dynamic velocity field is solved explicitly for time t k 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 t k+1 by dimension splitting. macro solver() (1.1) For k = to N t 1 (1.) compute velocityfield() (1.3) For j = 1 to N x (1.4) For i = 1 to N x1 (1.5) F 1 + := F 1(ρ,ρ k,ρk i+1,j,x i+ 1,j)+G 1(ρ k,ρk i+1,j,vstat i+ 1,j) (1.6) F1 := F 1(ρ,ρ k i 1,j,ρk,x i 1,j )+G 1 (ρ k i 1,j,ρk,vstat i 1,j) (1.7) ρ k = ρk λ 1[F 1 + F 1 ] (1.8) End (1.9) End 16
(1.1) For i = 1 to N 1 (1.11) For j = 1 to N (1.1) F + := F (ρ, ρ k, ρk +1,x + 1)+G ( ρ k, ρk +1,vstat + ) 1 (1.13) F := F (ρ, ρ k 1, ρk,x 1)+G ( ρ k 1, ρk,vstat ) 1 (1.14) ρ k+1 = ρ k λ [F + F ] (1.15) End (1.16) End (1.17) End compute velocityfield() (.1) For all (.) D x1 ρ := p,q ρk p,q c 1 i p,j q (.3) D x ρ := p,q ρk p,q c i p,j q D x1 ρ 1+(Dx1 ρ ) +(D x ρ ) (.4) I 1 (ρ)(x i+ 1,j ) = ǫ (.5) I (ρ)(x + 1 D x ρ 1+(Dx1 ρ ) +(D x ρ ) (.6) End Remark 4.3. 1. Using the notation ρ(v dyn (ρ)+v stat (x)) = (F 1 (ρ,x),f (ρ,x)) T, we note that the above discrete flux fulfills F 1 ( ρ, ρ, ρ,x i+ 1,j )+G 1 ( ρ, ρ,v stat i+ 1,j) = F 1( ρ,x i+ 1,j ) F ( ρ, ρ, ρ,x + 1 )+G ( ρ, ρ,v stat + = F ) 1 ( ρ,x + 1 ) for all ρ R +. This is necessary to get a consistent discretization of the continuous flux ρ(v dyn (ρ)+v stat (x)).. The presented method is positive preserving as long as the grid constants 1 fulfill λ d < (ǫ+max{vd stat }). Indeed, let ρk ij > for all. Then we have I d (ρ) ǫ and can conclude F + 1 := ρk ij(ǫ+v stat 1,i+ 1,j) F 1 := ρk ij(ǫ+v stat 1,i 1,j). Therefore, ρ k ij := ρk ij λ 1( F + 1 F 1 ) >. Analogous arguments applied to F ± yield ρk+1 ij >. 17
Lemma 4. (Macroscopic Model: Runtime performance). Let c l the computation times of a single operation as defined in Lemma 4.1 for l = 1,...,8. Then the computation time Trun macro of the algorithm is expressible by the formula T macro run = N t (N x1 N x (S 1 S (c 1 +c +c 3 +4c 6 +c 7 +c 8 ) (17) +16c 1 +4c +13c 3 +c 5 +3c 6 +5c 7 +3c 8 )) Proof. Each iteration of a For loop costs a comparison, jump operation, assignment and an integer increase. A For loop with N t iterations needs the following computation time T Loop = N t (c 3 +c 6 +c 7 +c 8 ). We estimate the computation time of the procedure compute velocityfield(). The expressions in line. and line.3 have S 1 S additions, multiplications and assignments. Note that this calculation is implemented with two convoluted For loops. Line.4 and line.5 have 4 additions, 6 multiplications, square root operations, negations, assignments. The For loop in line.1 repeats this computation N x1 N x times. This yields the computation time for the procedure compute velocityfield(): T Vel,1. = N x1 N x (S 1 S [c 1 +c +c 6 +(c 3 +c 6 +c 7 +c 8 )] +4c 1 +6c +c 3 +c 5 +c 6 +(c 3 +c 6 +c 7 +c 8 )) 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 F 1 () or G 1 () 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 (N x1 N x ) times. This yields a computation time for line 1.3-1.9: T Loop,1.3 1.9 = N x1 N x (6c 1 +9c +4c 3 +c 7 +(c 3 +c 6 +c 7 +c 8 )). The computation time of line 1.1-1.16 is equal to line 1.3-1.9. The For loop in line 1 repeats the computation for one time-step N t times. This yields the entire computation time for the routine macro solver() T macro run = N t (T Vel,1. +N x1 N x (6c 1 +9c +5c 3 +c 7 +c 8 ). 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(N x1 N x S 1 S N t ). Mollifier with non compact support are reduced to a finite number of grid points. For less computation times, it is recommendable to use mollifiers with small supports. 18
. To ensure stability of the algorithm macro solver(), the CFL condition t must be satisfied, i.e. x d max ρ ( ρ [ρ(vdyn (ρ) + v stat (x))] 1 for d = 1,. 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 (nonsmooth) 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 N n = 19 cargo in the shape of metal cylinders with a radius of ξ =.1m and a height of l =.8m. The maximal cargo density is equal to the hexagonal packing of two dimensional spheres with radius ξ. Therefore the maximal density is about ρ max = 4 parts per m. The velocity of the conveyor belt is v T =.395m/s. Microscopic Model Settings. The microscopic model uses the same data setting as above. Additionally, the parameterization of the microscopic model is shown intables1and. Thevaluesareadoptedfromrelevantliterature(Ref.[]). For all simulation runs the step size is t = 1 5. The elastic modules are reduced by the factor 1 6 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 E i ν i ξ i Di num [ kn mm ] [ 1 m ] [m] [1] cargo 1.8.1.1 conveyor 4.5.1.1 handling 7.34.1.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.[]). 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
paring l d µ lin/ang κ lin/ang [m] [N] [1] [1] cargo-cargo.8 119.15 1./1. conveyor-cargo.8 3 1. 1./1. handling-cargo.8 1.19 1./1. Table : Material parameter for different parings in the microscopic model. Macroscopic Model Settings. The solution of the macroscopic model is computed by the numerical scheme introduced in section 4. The step sizes are set to x 1 = 5 1 3, x = 5 1 3, t = 1.5 1 3 in the following numerical computations. The mollifier η occurring in the operator I(ρ) is set as follows η(x) = σ ( π exp 1 ) σ x, σ = 1. The influence of the operator I(ρ) is determined by the factor ǫ = v T. The initial density ρ (x) is given by the origin position of the cargo at time t =. Since the vector x i, R denotes the position of a cargo i at time t =, the initial density ρ (x) can be modeled by ρ (x) = σ πρ max N n i=1 ( exp 1 ) σ x x i,, σ = 5. (18) In addition, the total mass of ρ yields ρ (x)dx = 19. 5.1. Example 1: Microscopic Model vs. Macroscopic Model We start with the setting that the singularizer angle is α is set to 6 degree. 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 v T. A formation 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.
....4.4.4.6.6.6..4.6.8 (a) time t =...4.6.8 (b) time t =...4.6.8 (c) time t =.....4.4.4.6.6.6..4.6.8 (d) time t = 1...4.6.8 (e) time t = 1...4.6.8 (f) time t = 1.....4.4.4.6.6.6..4.6.8 (g) time t =...4.6.8 (h) time t =...4.6.8 (i) time t =.....4.4.4.6.6.6..4.6.8 (j) time t = 3...4.6.8 (k) time t = 3...4.6.8 (l) time t = 3. Figure 4: Real world data (left), microscopic model (middle) and macroscopic model (right). 1
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 { N n 1 x Ω U(t) = χ Ω (x i (t)), χ Ω (x) = otherwise. i=1 where Ω Ω is the left sided region in front of the obstacle, i.e. Ω = { (x1,x ) R x1 <.75 }. The time-dependent mass function U ρ (t) for the macroscopic model is given by U ρ (t) = ρ(x,t)dx. Ω The evaluation of U and U ρ is shown in figure 5. At the beginning t =, the amount of cargo is 19. 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 = 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. 18 16 PDE ODE Experiment Number of Parts before Obstacle 14 1 1 8 6 4 1 3 4 5 6 Time Figure 5: Comparison of the outflows over time. Each object and quantity is measured in the conveyor-region x 1 <.75. 5.. Example : 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 9 degree now. The results are shown in
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 (η ρ).....4.4.4.6.6.6..4.6.8 (a) time t =...4.6.8 (b) time t =...4.6.8 (c) time t =.....4.4.4.6.6.6..4.6.8 (d) time t = 1...4.6.8 (e) time t = 1...4.6.8 (f) time t = 1.....4.4.4.6.6.6..4.6.8 (g) time t =...4.6.8 (h) time t =...4.6.8 (i) time t =.....4.4.4.6.6.6..4.6.8 (j) time t = 4...4.6.8 (k) time t = 4...4.6.8 (l) time t = 4. 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 3
is emphasized in figure 7. At time t, 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 velocity of the objects. Due to the 9 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 contribution 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. 18 16 PDE ODE Experiment Number of Parts before Obstacle 14 1 1 8 6 4 1 3 4 5 6 Time Figure 7: Comparison of the outflows over time. Each object and quantity is measured in the conveyor-region x 1 <.75. 5.3. Example 3: Macroscopic Model The macroscopic model presented above has a discontinuous component, namely the Heaviside function H, see (1c). 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 [1], 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 [1], 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 [1]. The top row corresponds to the setting of Experiment 1 in section 5.1, where we use a kernel with σ = 1 4. 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 1 3 ) results in more pronounced line formation of now linear shape, see figure 8, bottom row. This is in total 4