Filling domains with disks: an advancing front approach

INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERING
Int. J. Numer. Meth. Engng 2003; 56:699–713 (DOI: 10.1002/nme.583)
Filling domains with disks: an advancing front approach
Y. T. Feng∗; † , K. Han and D. R. J. Owen
Department of Civil Engineering; University of Wales Swansea; Singleton Park; Swansea SA2 8PP, U.K.
SUMMARY
An advancing front-based algorithm is proposed to constructively generate a random initial packing
for disks with dierent radii within a 2D domain, which is often required in discrete element methods
(DEM). Depending on whether the domain boundary is included in the initial front and how the front
is formed, two dierent versions of the algorithm, termed the closed and open form, respectively, are
presented. The open form version has an inherent linear complexity. The closed form can achieve the
same complexity under a relatively weak condition. The generated packing is not a globally optimal
arrangement but achieves a locally highest density from the algorithmic point of view. The performance
of the algorithm is illustrated in several examples. The major benet of this development is the significant reduction of CPU time required for the preparation of an initial discrete object conguration in
DEM simulations. It is demonstrated that it takes only 3:77 s for the proposed algorithm to generate
one million disks on a PC with a one 1 GHz processor. Copyright ? 2002 John Wiley & Sons, Ltd.
KEY WORDS:
discrete element; geometric packing; dierent size circular disks; advancing front
1. INTRODUCTION
The discrete element method (DEM), coupled with the nite element technique, has emerged
as a powerful numerical approach particularly for engineering problems involving discrete=
discontinuous phenomena [1–3]. Typical examples include process simulation (e.g. granular
assembly, powder compaction, particle dynamics and shot peening) and fracture damage modelling (e.g. cohesive frictional materials, rock blasting, mining applications, and high speed
projectile impact) [2–8]. An additional application can be found in earth science [9]. Using
simplied geometric entities, such as circular disks, to model discrete objects has been demonstrated to provide an acceptable approximation to many complex physical phenomena. The
pre-step in the discrete element simulation of practical problems often requires the generation
of discrete objects packed in a form which can represent various realistic situations.
∗ Correspondence
to: Y. T. Feng, Department of Civil Engineering, University of Wales Swansea, Singleton Park,
Swansea SA2 8PP, U.K.
[email protected]
† E-mail:
Contract=grant sponsor: EPSRC; contract=grant number: GR=R21219
Copyright ? 2002 John Wiley & Sons, Ltd.
Received 24 May 2001
Revised 21 February 2002
Accepted 7 March 2002
700
Y. T. FENG, K. HAN AND D. R. J. OWEN
(a)
(b)
Figure 1. Two lattice packings: (a) square arrangement; and (b) hexagonal arrangement.
In fact, particle packings, circular=sphere packings in particular, has been a long-standing
research topic for centuries due to its both academic and industrial importance. For instance,
since the 17th century, mathematicians, including Isaac Newton, have worked on a topic
termed optimal geometric packing [10]. This classic packing problem concerns the arrangement without overlapping of equal size disks (in the 2D case) inside dierent geometrical
shapes to achieve the highest packing density. With the advent of computers in the late 1950s,
computer simulation has since been extensively employed to generate dierent packings, used
particularly for the modelling of various materials. For instance, Bernal [11] was among the
rst to use computer simulated random packings of monosize spheres to model the structures
and properties of liquids and amorphous metal alloys [12–14]. A recent application of particle
packings to the simulation of cementitious materials can be found in Reference [15].
In the case of equal size objects and rectangular containers, the initial packing of circular
disks may be implemented by two so called lattice packings: square and hexagonal packings,
as shown in Figure 1. Ignoring the gap between the disks and the boundary, the second
arrangement (Figure 1(b)) achieves an optimal packing, i.e. having the greatest density=volume
fraction.
In many practical situations, however, dierent size disks have to be used in the simulation.
Preparation of an initial distribution of a large number (up to millions) of such disks in
a realistic (random) manner is not trivial. Although many packing algorithms have been
proposed so far [13, 15–18], to the best knowledge of the authors, explicit or constructive
numerical procedures do not exist at present which can achieve such a goal.
Currently, mainly implicit or non-constructive approaches are used in general practice.
A few of these approaches are briey reviewed.
One approach sequentially generates particles by determining their central locations randomly and the particles which overlap with the existing ones are rejected. However, with
increase of volume fractions, the number of rejections also increases signicantly, making the
whole procedure very time-consuming. Another disadvantage is that the predened particle
size distribution may not be achieved due to the rejection of some particles.
The second approach adopts a two-stage procedure. At stage one, all disks are assumed to
have a maximum radius and thus can have a lattice packing style as illustrated in Figure 1(a)
or (b). Since the actual radii are smaller, there are usually relatively large gaps present between
the disks. At the second stage, the disks are compressed to reduce any gaps by pushing the
boundaries toward the disks in one or several directions, as illustrated in Figure 2.
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
701
FILLING DOMAINS WITH DISKS
Figure 2. Dierent size disks rst regularly packed and then compressed.
(a)
(b)
(c)
Figure 3. A hopper used to mix dierent size disks together.
Another approach usually involves using a hopper to mix dierent sizes of disks together
(Figure 3). The disks are initially packed regularly in layers at the top of the hopper. Under
the action of gravity, the disks fall through the chute and settle down with a random mixture
of dierent size disks in the container beneath.
Both the compression of the boundary and the movement of disks under gravity force in the
above two approaches are normally simulated by the same numerical procedure employed in
the DEM analysis. However, the CPU time required to undertake this pre-processing phase can
be substantial. For instance, it takes 1904.5 CPU seconds to complete the whole procedure,
shown in Figure 3, from the initial regular pack (Figure 3(a)) to the nal mixture (Figure 3(c))
on an Origin 2000 with one 195MHz R10 000 processor, although only 63 disks are involved.
In this paper, a novel numerical procedure is proposed to constructively generate a realistic
random dense packing for large number of dierent sizes of disks within a domain, motivated
by the idea of the advancing front technique employed in mesh generation procedures [19].
The procedure treats disk packings as a pure geometric problem and therefore the resulting
conguration under external forces such as gravitational force may not be in equilibrium.
In addition, no attempt is made to maximize the packing density.
The algorithm to be developed for the problem considered is similar in terms of concepts
to the advancing front technique, but they dier in algorithmic details. Depending on whether
the domain boundary is included in the initial front and how the front is formed, two dierent
versions of the algorithm will be proposed. The rst version, termed the closed form advancing
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
702
Y. T. FENG, K. HAN AND D. R. J. OWEN
D4
D4
D2
D1
D2
D2
D1
D1
D5
D3
(a)
D3
(b)
D3
(c)
Figure 4. (a) Set-up of the rst three disks and initial front; (b) generation of Disk 4 and update of the
front; and (c) generation of Disk 5 and update of the front.
front approach, will be discussed in the next section and the second version, termed the open
form advancing front approach, will be developed in Section 3. Several examples will be
presented in Section 4 to illustrate the behaviour of the algorithm. The eectiveness of the
algorithm in terms of the actual CPU cost will also be demonstrated.
It is noted that a combination of the advancing front technique with circular packing is proposed in Reference [20] to generate a nite element mesh. Although the procedure implicitly
produces a circular packing, this packing may not be a dense arrangement, nor can a random
nature with a predened size distribution function be easily achieved.
2. ADVANCING FRONT APPROACH: CLOSED FORM
Consider the problem of randomly lling a geometric domain with dierent size circular
disks. Assume that the sizes can be randomly determined based on a given distribution function, and the domain is dened by a rectangle of [xmin ; xmax ] × [ymin ; ymax ]. The closed form
advancing front algorithm rst creates three disks which form an initial front. New disks are
then generated by continuously advancing the front until the whole domain is lled.
2.1. The rst three disks and initial front generation
The rst three disks, denoted as D1 ; D2 and D3 , can be generated to have the densest packing (i.e. they are in contact with each other) and placed in the centre of the domain, as
shown in Figure 4(a). A triangle D1 D2 D3 is formed by joining their centres together. The
third disk should be generated so that D1 ; D2 and D3 form an anti-clockwise system. The
corresponding three sides of the formed triangle are also assumed to have directions, with
D1 → D2 , D2 → D3 and D3 → D1 as positive. The oriented polygon (the triangle) formed by
these directed segments is termed the initial front, which can be represented, in terms of
disks, as D1 → D2 → D3 → D1 . The region surrounded by the front is considered to have been
occupied by the disks. The dened directions of the frontal segments ensure that any new
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
FILLING DOMAINS WITH DISKS
703
disk should be placed on the right-hand side when travelling along the positive directions of
the segments.
With this initial front established, new disks can be generated to ll the space by incrementally advancing the front until it completely covers the original domain. Details of the
generation of the new disk and the update of the front are described below.
2.2. New disk generation and front update
Starting from the initial front, one segment, e.g. D1 → D2 , is chosen as the rst current active
segment. After having generated Disk 4 (D4 ), which is in contact with both disks 1 and 2 and
lies on the right-hand side of segment D1 → D2 as shown in Figure 4(b), segment D1 → D2
is deleted from the initial front and two new segments, D1 → D4 and D4 → D2 , are inserted
into the front. The new front thus becomes D1 → D4 → D2 → D3 → D1 . Then segment D2 → D3
is selected as the current active segment and Disk 5 (D5 ) is generated in a similar manner,
as shown in Figure 4(c). The new front is obtained by deleting the chosen active segment
D2 → D3 from the previous front and inserting two new segments D2 → D5 and D5 → D3 into it.
The above procedure can be performed until the whole domain is lled. In general cases,
however, new disks generated may overlap with the existing disks on the front and certain
actions should therefore be taken to eliminate the problem. A simple algorithm is designed
below which generates disks without overlapping the existing disks.
Suppose the selected active segment from the current front, · · · → Dq → Dp → Dc → Dn → Dm
→ Dl → · · ·, is Dc → Dn , as illustrated in Figure 5. The segments=disks, · · · → Dq → Dp , which
are listed before Dc → Dn , are termed the preceding segments=disks of Dc → Dn and accordingly the segments=disks Dm → Dl → · · · are termed the subsequent segments=disks. The algorithm includes two steps:
1. Determine the central co-ordinates of the new disk i that is in contact with both disks c
and n. This is a simple geometric problem and no further explanation is necessary.
2. Check if the new disk i overlaps with any disk on the front, which may give rise to
four dierent cases:
(a) No overlapping occurs (Figure 5(a)). In this case accept disk i, and mark it if
its centre lies outside of the domain. Then delete the segment Dc → Dn from the
front and insert two new segments, Dc → Di and Di → Dn . The front is advanced as
· · · → Dq → Dp → Dc → Di → Dn → Dm → Dl → · · · :
(b) Overlapping occurs with (at least) one disk on the subsequent front and no overlapping is detected for disks on the preceding front list (Figure 5(b)). Suppose that
disk j is the rst encountered disk overlapping with disk i. In this case, delete the
disks from n up to k in the front, join c and j to create an intermediate active
segment Dc → Dj . Then assume n to be j, go back to Steps 1 and 2 to re-determine
the position of disk i (with the same radius) and recheck if the new position is
acceptable.
(c) Overlapping occurs with (at least) one disk on the preceding front and no overlapping
is detected for disks on the subsequent front list (Figure 5(c)). Suppose that disk
u is the rst encountered disk overlapping with the disk i. In this case, delete the
disks from v up to c from the front, join u and n to create an intermediate active
segment Du → Dn . Then assume c to be j, and repeat Steps 1 and 2.
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
704
Y. T. FENG, K. HAN AND D. R. J. OWEN
Figure 5. Four possible cases when generating a new disk.
(d) Overlapping occurs with disks both on the preceding and subsequent front lists (Figure 5(d)). Suppose that disks j and u are, respectively, the rst encountered disks
overlapping with disk i on the preceding and subsequent front lists. In this case,
delete the disks from v up to k from the front, join u and j to create an intermediate
active segment Du → Dj . Then assume c to be u and n to be j, and repeat Steps 1
and 2.
The following features can be derived from the above algorithm: A local optimal packing is
achieved when adding a new disk since it is in contact with the two disks associated with the
current (intermediate) active segment; As intermediate active segments are only temporarily
presented and removed after new disks are successfully generated, the front is always closed,
leaving no gap between disks on the front. The region inside the front represents the disk-lled
domain and any new disk is placed outside the region.
Note that in Cases (b), (c) and (d), the deleted partial list of the front plus the intermediate
segment encloses an unlled region, and thereby forms a ‘void ’ or ‘hole’ in the domain.
Although no attempt is made in the above algorithm to ll the hole, it is possible to modify
the algorithm so that in these cases the new disk Di is attempted rst to be placed into the
hole. If not successful, then repeat the procedure outlined above.
In addition, the local and global stability of generated disks under any external force is not
taken into account in the algorithm. Therefore some disks may not be in equilibrium under
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
FILLING DOMAINS WITH DISKS
705
Figure 6. Final stage of the disk generation: (a) all disks generated; and (b) the disks inside the domain.
the action of gravity and their positions may be easily altered. This situation can be handled
within the current algorithmic frame by applying extra rules=conditions when determining the
position of a new disk.
2.3. Segment deactivation and procedure termination
Starting from a 3-active-segment front, the algorithm proposed above advances the front by
choosing one active segment at a time to place a new disk that achieves a local optimal
packing. If both centres of the two disks on the same segment are outside the domain to be
lled, this segment becomes deactivated and will no longer be selected to generate a new
disk later on, although there is a very small possibility around the domain corners that new
valid disks can still be generated based on this segment.
When all the segments on the front become deactivated, the domain is considered completely
lled and the procedure is terminated. Finally, all the generated disks should be validated to
exclude those that have parts lying outside the rectangular domain (Figure 6).
2.4. Further issues
Besides the features already mentioned, a number of issues related to the algorithm proposed
above deserve further remarks.
2.4.1. Segment visit sequence. The selection of the location and orientation of the rst three
disks can be very exible. Similarly, the selection of the current active segment from the front
can be chosen in several ways. Theoretically, the segments on the front can be visited in any
order but a logical way of choosing an active segment will benet, at least, the programming.
In addition, dierent visit order of the frontal segments will result in dierent front shapes
that will further aect the performance of the algorithm. Ideally, the front should be advanced
evenly in all spatial directions, which would keep the front size as small as possible and at
the same time reduce the chance that the cases shown in Figure 5(b)–(d) can occur, thereby
decreasing the computational cost.
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
706
Y. T. FENG, K. HAN AND D. R. J. OWEN
Figure 7. Relative position identication system: (a) denition of a segment angle ; and (b) denition of
an accumulated angle associated with disk Dd with respect to the current active segment Dc → Dn .
2.4.2. Denition of preceding=subsequent segment. When a new disk is initially found to
overlap with some disks on the front, it is essential to identify if these disks are on the
preceding or subsequent segment lists of the current active segment so that a correct intermediate active segment can be temporarily formed to attain a new position of the disk, as
demonstrated in Figure 5(b)–(d). Since the front is closed, it cannot determine, in a strict
sense, whether one disk=segment is in the preceding or subsequent position relative to another segment. Therefore a sensible relative position clarication rule should be developed.
A particular identication system is adopted in the present work (Figure 7).
The idea of this identication system is to associate each segment on the current front
with an angle formed by the segment with a point O, as shown in Figure 7(a). The point is
selected to be the geometric centre of the initial triangle (front) D1 D2 D3 . The associated
angle for a segment with two disks Ds and Dt , is dened to be the angle = “Dt ODs , which
is assumed positive if points Dt ; Ds and O are positioned in an anti-clockwise order, but
negative otherwise.
To identify the relative position of a disk Dd on the front against the current active segment
Dc → Dn , an angle is associated with the disk and calculated by accumulating all the angles
of the frontal segments situated between disks Dc and Dd in the current front list (Figure 7(b)).
If 6180◦ , this disk can be considered as a subsequent disk of the current active segment,
but as a preceding disk otherwise.
In our implementation, two separate checks, the backward and forward check, are introduced. The former starts to check the disks forward from Dm in the list and ends when
an overlap is encountered or the accumulated angle of one disk is larger than 180◦ , while
the latter starts to check the disks backward from Dp and ends when the same conditions
are met.
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
FILLING DOMAINS WITH DISKS
707
Note that this relative position determination scheme plays an important part in the earlier
stage of the disk generation when the front size is small, but becomes less important when
more disks are generated as an overlapping is most likely to occur for disks local to the
current active segment.
2.4.3. Computational cost. The main cost associated with the generation of a new disk arises
from the overlap check with all the disks in the current front. The front size, i.e. the number
of disks=segments on the front, is growing as the number
√ of disks generated increases. The
size of the current front may be approximated by O( n), where n is the number of disks
generated. Therefore when adopting a simple linear search scheme that checks each disk on the
front for possible
√ overlap, the complexity of the algorithm for generating N disks will be in
order of O(N N ). The cost can be reduced by employing an advanced search approach. For
instance, by using a (spatial) binary tree-based search scheme, such as the ASDT algorithm
[21], a complexity of O(N log N ) can be achieved.
Further reduction of the algorithm complexity to O(N ) is due to the observation that for
a fairly well-shaped front, a new disk may overlap only with the neighbouring frontal disks
of the current active segment. Consequently, the number of frontal disks involved in the
overlapping check could be limited to a xed number M , resulting in a linear complexity of
O(MN ). Our experience indicates that in normal situations M can be chosen to be a fairly
low value, such as 10, without missing any overlapping disk pairs. To ensure that no overlap
is present among the nal generated disks in any situation, the same global search approach as
the ASDT algorithm can be employed at the nal stage to eectively identify any overlapping
pairs and then, if any exist, to discard one of two disks involved.
2.4.4. Further tightening. As the current algorithm can achieve only a local optimal packing,
the disks may be further packed by means of, for instance, boundary compression and gravity
compaction. This further tightening may also be able to eliminate local instability of some
disks, if present.
2.4.5. Extension to other domain shapes. The algorithm is discussed on the basis of a rectangular domain to be lled. It can be easily extended to other domains, such as circle, polygon
or even more complex geometric shapes. In these cases, a rectangular bounding box can be
established rst, and the algorithm proposed is then applied to this domain. After all disks
are generated, those that lie outside the real domain can be deleted.
2.4.6. Disadvantage. The disadvantage of this algorithm is that relatively large gaps may be
present around the boundary, as illustrated in Figure 6(b). Although it is possible to remove
some of these by applying additional approaches, it would be of practical importance if this
problem can be dealt with directly within the algorithmic framework. This consideration has
motivated the development of the second version of the algorithm, as presented below.
3. ADVANCING FRONT APPROACH: OPEN FORM
The main idea of this development is to start generating the disks from the (bottom) boundary
and the remaining disks are generated in a layer by layer manner. The fundamental dierence
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
708
Y. T. FENG, K. HAN AND D. R. J. OWEN
Figure 8. Advancing front—open form: (a) rst layer of disks; (b) all disks generated; and
(c) the disks inside the domain.
from the previous version at the algorithmic level is that the front involved will be of an
open form.
Consider again a rectangular domain. Denote the left, bottom, right and top boundaries as
Bl ; Bb ; Br and Bt , respectively. In this version of the algorithm, the disks will be generated
within the domain except for the upper boundary. The top boundary Bt will not be taken into
account until the nal stage, therefore can be viewed as the ‘lid ’ of the rectangular box. The
rst layer of disks will be placed along the bottom wall Bb , starting from the left corner. The
walls are treated as disks with innite radius. The initial front can be established as an open
list: Bl → Bb → Br , and Bl → Bb is selected as the rst active segment.
After the rst disk (denoted as D1 ) is generated, the front becomes Bl → D1 → Bb → Br .
Then the active segment is chosen to be D1 → B2 which leads to the generation of Disk 2
(or D2 ). The front after D2 is updated as Bl → D1 → D2 → Bb → Br . The rst layer of disks is
completed when one disk, for instance, Disk Dn , touches the right wall. The corresponding
front will be Bl → D1 → D2 → · · · → Dn → Br . Note that the bottom wall Bb has been removed
from the front. See Figure 8(a) for illustration.
The second layer can be built upon the rst layer following a similar procedure as outlined
in the previous closed form algorithm. In particular, when a new disk is generated, it should
be checked for possible overlap with all the existing disks on the front. The same four cases
could arise and the same actions should be taken accordingly.
The subsequent layers can be placed in a similar fashion. The domain is completely lled
when all the disks on the front lie above the top boundary, as shown in Figure 8(b). The
nal valid disks are obtained by excluding the disks lying above the top wall as illustrated
in Figure 8(c).
This open form algorithm inherits most of the features associated with the closed form
version. Most of the issues discussed in Section 2.4 are also applicable to the current situation.
However, due to the fact that the front is now in an open form, the relative positions of
preceding and subsequent disks=segments are clearly dened. No special identication system
is therefore necessary. Most importantly, as the front size can be bounded by a constant value
for a fairly well-shaped front, the open form algorithm is inherently of a linear complexity
of O(N ). Note, however, that the algorithm can still benet from the earlier suggestion in
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
FILLING DOMAINS WITH DISKS
709
Section 2.4.3 that the number of disks to be checked on the front can be limited to a xed
low value.
As the domain boundaries participate in the disk generation procedure, the open form
algorithm is in general more complex in terms of implementation. In addition, the nal disk
distribution is aected to a certain degree by how the disks next to the boundaries are placed
in the algorithm. In the current implementation, the rst and last disks of each layer are always
in touch with the left and right walls, respectively. A dierent packing style will result if at
each layer the starting active segment can be chosen from the middle of the front, or even
selected randomly.
4. ILLUSTRATIONS
Several examples are presented to illustrate the performance of the proposed two versions
of the advancing front algorithm. Disks to be generated are assumed to have radii that are
evenly distributed in a range of [rmin ; rmax ] and determined by utilizing the evenly distributed
random function provided in the various computer languages.
Figure 9 demonstrates the nal arrangement of disks generated in a unit square by the closed
form advancing front algorithm for two dierent disk radius ranges: [0:1; 0:1] and [0:01; 0:1].
The left column gures show all the disks generated while the right column gures show
only the disks within the domain. Clearly, for equal size disks (Figure 9(a)), the current
algorithm reproduces the optimal hexagonal lattice packing. For a dierent radius distribution
(Figure 9(c)), a certain randomness of disk distribution is obviously present. It is also evident
that some rather large gaps around the boundary are left after culling takes place (Figure 9(b)
and 9(d)).
The nal arrangement of disks generated by the open form advancing front algorithm for
the same radius distribution ranges and the same domain are shown in Figure 10. Note that
because the boundary walls participate in the generation of disks at all stages, the optimal
hexagon lattice packing is not produced for equal size disks (Figure 10(a)), although it is
still possible if additional rules are applied in the algorithm for this special case. Notably,
the gaps around the boundary, except the top, have been reduced compared to the previous
cases.
Figure 11 illustrates the ability of the current development to handle dierent shapes of
polygonal domains. Figure 11(a) and 11(b), respectively, represent a convex and a concave
case. The disk radius range considered is [0:01; 0:1].
Further tests have also demonstrated the eectiveness of the algorithm developed. For the
case where the number of front segments to be checked when generating a disk is limited to
a maximum value of 5 for both forward and backward checks, it takes only 3:77 s for the
open form version to generate 1 000 000 disks on a PC with a one 1GHz processor, indicating
that the current developed algorithm is also very eective.
5. CONCLUDING REMARKS
An advancing front-based algorithm with two dierent implementation versions has been proposed in this work to generate a random initial packing for disks with dierent radii within
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
710
Y. T. FENG, K. HAN AND D. R. J. OWEN
Figure 9. Closed form advancing front-generated packings in a unit square for two different disk radius ranges: (a, b) [0.1, 0.1]; (c, d) [0.01, 0.1] before (left column) and after
(right column) culling takes place.
a domain. The open form version has an inherent linear complexity. The closed form can
achieve the same complexity under the condition that a maximum number of disks on the
front are checked for possible overlapping.
Although the generated packing is not a global optimal arrangement, it has achieved a
locally highest density from the algorithmic point of view and should be sucient to represent
a realistic situation, as illustrated in the examples presented. The open form version is of more
practical interest as the gap between disks and the domain boundary is considerably reduced
in comparison to the closed form.
The performance of the algorithm and the nal disk distribution may be further improved by
taking several additional issues into consideration in implementation as discussed. Additional
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
FILLING DOMAINS WITH DISKS
711
Figure 10. Open form advancing front-generated packings in a unit square for two different disk radius ranges: (a, b) [0.1, 0.1]; (c, d) [0.01, 0.1] before (left column) and after
(right column) culling takes place.
compression and compaction can be applied to further tighten the packing if a higher density
is required in practice. Actually in many cases the initial stage of DEM computation can act
as a means of further tightening.
The major benet of this development is the signicant reduction of the CPU time required
for the preparation of an initial discrete object conguration in DEM simulations. It is demonstrated that it takes only 3:77 s for the present algorithm to generate one million disks on a
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
712
Y. T. FENG, K. HAN AND D. R. J. OWEN
Figure 11. Open form advancing front-generated packings for a disk radius range of [0.01, 0.1] in:
(a) a convex polygon; and (b) a concave polygon.
PC with a one 1 GHz processor, while using a hopper to mix disks may take a few days to
achieve the same goal.
ACKNOWLEDGEMENT
This work is funded by the EPSRC of UK under grant No. GR=R21219. This support is gratefully
acknowledged.
REFERENCES
1. Cundall PA, Strack ODL. A discrete numerical model for granular assemblies. Geotechnique 1979; 29:47–65.
2. Owen DRJ, Feng YT. Parallelised nite=discrete element simulation of multi-fracturing solids and discrete
systems. Engineering Computations 2001; 18(3/4):557–576.
3. Owen DRJ, Feng YT, Yu J, Peric D. Finite=discrete element analysis of multi-fracture and multi-contact
phenomena. Lecture Notes in Computer Science, vol. 1981, Springer: Berlin, 2001; 484 –505.
4. Lian GS, Thornton C, Adams MJ. Discrete particle simulation of agglomerate coalescence. Chemical Engineering
Science 1998; 53:3381– 3391.
5. Ransing RS, Gethin DT, Lewis RW. Powder compaction modelling via the discrete and nite element method.
Materials Design 2000; 21(4):263– 269.
6. Han K, Peric D, Owen DRJ, Yu J. A combined nite=discrete element simulation of shot peening process. Part
II: 3D interaction laws. Engineering Computations 2000; 17(6/7):683–702.
7. D’Addetta GA, Ramm E, Kun F. Fracture simulation of cohesive frictional materials by discrete element models.
Proceedings of ICADD-4. Bicanic N (ed.), pp. 135–157, 2001.
8. Klerck PA. The nite element modelling of discrete fracture in quasi-brittle materials. Ph.D. Thesis, University
of Wales Swansea, 2000.
9. Morgan JK. Numerical simulations of granular shear zones using distinct element method: I. Shear zone
kinematics and the micromechanics of localization. Journal of Geophysical Research 1999; 104:2703– 2719.
10. Conway JH, Sloane NJA. Sphere Packings, Lattices and Groups. Springer: Berlin, Germany, 1988.
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713
FILLING DOMAINS WITH DISKS
713
11. Bernal JD. A geometrical approach to the structure of liquids. Nature 1959; 183:141–147.
12. Scott GD. Packing of spheres. Nature 1960; 188:908–909.
13. Finney JL. Fine structure in randomly packed, dense clusters of hard spheres. Materials Science and Engineering
1976; 23:199– 205.
14. Koskenmaki DC. A model for the structure of amorphous metals. Materials Science and Engineering 1976;
23:207– 210.
15. Stroeven M. Discrete numerical modelling of composite materials. Ph.D. Thesis, Delft University of Technology,
1999.
16. Vold MJ. The sediment volume in dilute suspension of spherical particles. Journal of Physical Chemistry 1960;
64:1616–1671.
17. Visscher WM, Bolsterli M. Random packing of equal and unequal spheres in two and three dimensions. Nature
1972; 239:504 –507.
18. Oger L, Gervois A, Troadec J-P, Rivier N. Voronoi tesselation of packings of spheres. Philosophical Magazine
B 1996; 74:177–197.
19. Peraire J, Vahdati M, Morgan K, Zienkiewicz OC. Adaptive remeshing for compressible ow computations.
Journal of Computational Physics 1987; 72:449– 466.
20. Li X-Y, Teng S-H, Morgan K, Ungor A. Biting: advancing front meets sphere packing. International Journal
for Numerical Methods in Engineering 2000; 49:61– 81.
21. Feng YT, Owen DRJ. An augmented spatial digital tree algorithm for contact detection in computational
mechanics. International Journal for Numerical Methods in Engineering 2002; 55:159–176.
Copyright ? 2002 John Wiley & Sons, Ltd.
Int. J. Numer. Meth. Engng 2003; 56:699–713