Online Contents - 1
PFC3D
Particle Flow Code
in 3 Dimensions
Online Manual Table of Contents
USER’S GUIDE
Frontispiece
Terms and Conditions
Precis
Table of Contents
Section 1 : Introduction
Section 2 : Getting Started
Section 3 : Problem Solving with PFC3D
Section 4 : FISH Beginner’s Guide
Section 5 : Miscellaneous
Section 6 : Bibliography
COMMAND REFERENCE
Frontispiece
Table of Contents
Section 1 : Command Reference
PFC3D Version 3.0
Online Contents - 2
FISH IN PFC3D
Frontispiece
Precis
Table of Contents
Section 1 : FISH Beginner’s Guide
Section 2 : FISH Reference
Section 3 : Augmented FishTank
THEORY AND BACKGROUND
Frontispiece
Precis
Table of Contents
Section 1 : General Formulation
Section 2 : Contact Constitutive Models
Section 3 : Implementation Issues
Section 4 : Clump Logic
Section 5 : General Wall Logic
OPTIONAL FEATURES
Frontispiece
Precis
Table of Contents
Section 1 : Thermal Option
Section 2 : Writing New Contact Models
Section 3 : User-Written C++ Code
Section 4 : Parallel Processing
PFC3D Version 3.0
Online Contents - 3
VERIFICATION PROBLEMS AND EXAMPLE APPLICATIONS
Frontispiece
Precis
Table of Contents
Tip-Loaded Cantilever Beam
Energy Computations
Collisions with a Particle Assembly
Porosity Computations
Strength of a Face-Centered Cubic Array of Uniform Rigid Spheres
Triaxial and Brazilian Tests
Angle-of-Repose Test
Granular Flow from a Hopper
Mine Block-Caving Process
Rockfall
Dynamics of a Beam-Column Structure
Wave Propagation in Particle Assemblies
Triaxial Test on a Face-Centered Cubic Array of Rigid Particles
Experiments in Geometry with FISH
Incorporation of Fluid Coupling in PFC3D
COMMAND AND FISH REFERENCE SUMMARY
Frontispiece
Precis
Table of Contents
Command Summary
FISH Statement Summary
PFC3D Version 3.0
INTRODUCTION
1 - 1
1 INTRODUCTION
1.1 Background and Overview
PFC3D models the movement and interaction of spherical particles by the distinct element method
(DEM), as described by Cundall and Strack (1979). The original application of this method was as a
tool to perform research into the behavior of granular material; representative elements containing
several hundred particles were tested numerically. The particle model was used to understand
element behavior (in which conditions are “uniform”), and a continuum method was used to solve
real problems that involve complicated deformation patterns (with the element behavior derived
from the particle-model tests). Two factors have brought about a change in this approach. First, the
task of deriving general constitutive laws from test results on particle assemblies is very difficult.
Second, with the spectacular increase in power of small computers, it is now possible to model entire
problems with particles; the constitutive behavior is built into the model automatically. PFC3D is
designed to be an efficient tool to model complicated problems in solid mechanics and granular
flow.
A physical problem that is concerned with the movement and interaction of spherical particles may
be modeled directly by PFC3D. It is also possible to create particles of arbitrary shape by attaching
two or more particles together, such that each group of particles acts as an autonomous object
(using the clump logic described in Section 4 in Theory and Background). PFC3D is also able
to model a brittle solid, by bonding every particle to its neighbor; the resulting assembly can be
regarded as a “solid” that has elastic properties and is capable of “fracturing” when bonds break in a
progressive manner. PFC3D contains extensive logic to facilitate the modeling of solids as closely-
packed assemblies of bonded particles (much of this logic has been implemented in the Augmented
FishTank — a set of functions written in FISH, the PFC3D embedded language); the solid may
be homogeneous, or it may be divided into a number of discrete regions or blocks. This type of
physical system may also be modeled by the distinct element programs UDEC (Itasca 2000) and
3DEC (Itasca 2003), which deal with angular blocks. However, PFC3D has three advantages. First,
it is potentially more efficient, since contact detection between circular objects is much simpler than
contact detection between angular objects; second, there is essentially no limit to the magnitude of
displacement that can be modeled; and third, it is possible for the blocks to break (since they are
composed of bonded particles), unlike blocks modeled with UDEC or 3DEC which cannot break.
The drawback to modeling a blocky system with PFC3D is that block boundaries are not planar; in
exchange for the advantages offered by PFC3D, the user must accept “bumpy” boundaries.
The specification of the geometry, properties and solution conditions is not so straightforward in
PFC3D as in programs such as FLAC (Itasca 2002) and UDEC. For example, with a continuum
program, a grid is created, initial stresses installed, and boundaries set as fixed or free.
In a
particle code such as PFC3D, a compacted state cannot be pre-specified in general, since there
is no unique way to pack a number of particles within a given volume. A process analogous to
physical compaction must be followed until the required porosity is obtained. The initial stress
state cannot be specified independently of the initial packing since contact forces arise from the
relative positions of particles. Finally, the setting of boundary conditions is more complicated
than for a continuum program because the boundary does not consist of planar surfaces. These
issues are all addressed in this manual, and practical procedures are suggested for making realistic
PFC3D Version 3.0
1 - 2
User’s Guide
models. A further difficulty arises when it is required to match the behavior of a simulated solid
(comprised of bonded particles) with a real solid tested in the laboratory. To some extent, this is a
trial-and-error process, because there is no complete theory that can predict macroscopic behavior
from microscopic properties and geometry. However, guidelines are given that should help in the
matching process (e.g., which factors influence some aspect of behavior and which do not). It should
be realized that such modeling is difficult because it is exercising the limits of current knowledge.
However, by performing tests with PFC3D, we stand to gain some fundamental understanding in
solid mechanics (particularly in fracture mechanics and damage mechanics).
The calculation method (DEM) is a timestepping, explicit scheme, which is described in more detail
in Section 1.3 in Theory and Background. There are several advantages to such a scheme. Systems
that exhibit physical instability may be modeled without numerical difficulty. Large populations of
particles require only modest sizes of computer memory, since matrices are never stored. PFC3D
may be used to model static or dynamic problems, but the full dynamic equations of motion are
solved even when static solutions are required. This is done in order to follow such phenomena as
failure and “flow” of material in a realistic manner; it is not necessary to invoke some nonphysical
algorithm, as done in some implicit methods. Modeling with PFC3D involves the execution of
many thousands of timesteps. At each step, Newton’s second law (force = mass × acceleration)
is integrated twice for each particle to provide updated velocities and new positions, given a set
of contact forces acting on the particle. Based on these new particle positions, contact forces are
derived from the relative displacements of pairs of particles; a linear or nonlinear force/displacement
law at contacts may be used.
The current version of PFC3D operates on any IBM-compatible computers running Windows95 or
later operating systems. With 160 MB of RAM, approximately 100,000 particles may be modeled,
assuming a reasonable packing density. A parallel-processing option is available, whereby a simu-
lation may be split between several processors, connected by a network. For details, see Section 4
in Optional Features.
PFC3D operates, by default, in a command-driven mode; a graphical, menu-driven mode also exists
for file-handling, plotting and print redirection. In either mode, there are graphics facilities in PFC3D
that allow high-resolution, color-rendered plots to be generated rapidly. The graphics displays allow
the user to view the model during creation or at any stage during a run. The model can be translated,
rotated and magnified on the screen for optimum viewing. Perspective plots may be made of the
particles, walls, contacts, forces, displacements, velocities and other quantities. All plotted output
can be directed to a black-and-white or color output device, to the Windows clipboard, or to a file
(in PostScript and various bitmap formats).
PFC3D Version 3.0
INTRODUCTION
1 - 3
1.2 General Features
PFC3D models the dynamic behavior of assemblies of arbitrarily-sized spherical particles. A par-
ticle generator allows the statistical generation of specified distributions of particles to be done
automatically. Particle radii may distribute uniformly or according to a Gaussian distribution. Typ-
ically, initial porosity is high, but dense packings may be achieved by a controlled expansion of
particle radii. Radii may be changed by any factor at any stage, so that it is possible to achieve a
compacted state of prescribed porosity without trial and error.
Properties are associated with individual particles or contacts, rather than with “type numbers.”
Hence, continuous gradations in properties and radii may be prescribed. A “joint generator” is
provided that modifies the properties of contacts that lie along the track of a prescribed set of
planes, which are assumed to be superimposed on the particle assembly. In this way, the model
may be traversed by sets of weak planes (corresponding, for example, to rock joints). The plotted
color of a particle is also regarded as a property, so various marking schemes may be specified by
the user.
To ensure long-term freedom from numerical drift in PFC3D models, coordinates and radii are stored
in double precision. Relative displacements at contacts are computed directly from coordinates,
not from incremental displacements. The contact physics consists of the following elements:
• linear springs, or simplified Hertz-Mindlin law;
• Coulomb sliding; and
• optional bonding. (Bonded contacts may carry tension, and the bonds have
finite strengths in tension and shear. Two types of bonds, a contact bond
and a parallel bond, may be installed at particle-particle contacts. These two
types of bonds correspond to two physical possibilities: (1) contact bonds
reproduce the effect of an adhesion acting over the vanishingly small area of
the contact point, thus the name contact bond; and (2) parallel bonds reproduce
the effect of additional material (e.g., cementation) deposited after the balls
are in contact. The effective stiffness of this additional material acts in parallel
with the contact point stiffness, thus the name parallel bond.)
The generality of the code has been enhanced by the clump logic, which supports the creation of
groups of slaved particles or clumps. Particles within a clump may overlap to any extent, and each
clump behaves as a rigid body with deformable boundaries and, thus, can serve as a super-particle of
general shape. The assembly is loaded by prescribing wall velocities, a mixture of particle velocities
and applied external forces, and/or gravity. The Augmented FishTank provides functions to install
a specified stress field within the assembly, or apply stress boundary conditions to the assembly.
The timestep calculation is automatic and includes the effects of changing stiffnesses due to the
Hertz contact model. The timestep also changes during a simulation according to the number of
contacts around each particle and the instantaneous stiffness values. There is a cell-mapping scheme
that uses an optimum number of cells, based on estimated particle count; it automatically adjusts
the outer size of the cell space to accommodate escaping particles and/or new entities as they are
PFC3D Version 3.0
1 - 4
User’s Guide
specified. The cell-mapping scheme ensures that solution time increases linearly with number of
particles, rather than quadratically.
Two types of walls are available: (1) infinite walls, which are planes extending indefinitely in all
directions; and (2) finite walls, which are convex tessellations of polygons or special surfaces, such
as cylinders and spirals. Each wall possesses its own set of contact properties. Special contact
conditions are enforced at wall edge corners (shared by the adjacent faces of a single wall) that are
convex with respect to the wall’s active side, to maintain a single value of contact force as a particle
rolls across such a peak. Wall velocities (both translational and rotational) may be specified, and
resultant forces and moments acting upon each wall can be monitored.
Particles and walls may be created or deleted (and their properties may be modified) at any time
during a simulation.
Local nonviscous damping is provided (similar to that in FLAC). This form of damping has the
following advantages:
• body forces approach zero for steady motion (only accelerating motion is
damped);
• the damping constant is non-dimensional; and
• regions of the assembly with different natural periods are damped equally,
using the same damping constant, since damping is frequency independent.
Viscous damping of relative motion at contacts is also available as an option.
Density scaling may be used to increase the timestep and to optimize solution efficiency. Gravity
forces are unaffected by density scaling.
Energy tracing may be activated. The following energy terms are traced:
• body work (total accumulated work done by all body forces on the assembly);
• bond energy (total strain energy of the assembly stored in parallel bonds);
• boundary work (total accumulated work done by all walls on the assembly);
• frictional work (total energy dissipated by frictional sliding at all contacts);
• kinetic energy (total kinetic energy of all particles); and
• strain energy (total strain energy of the entire assembly stored at all contacts).
The facility exists to measure the following quantities over any number of arbitrary spherical
volumes within the particle assembly:
• all components of the average stress tensor;
PFC3D Version 3.0
INTRODUCTION
1 - 5
• all components of the average strain-rate tensor;
• the porosity;
• the coordination number (average number of contacts per particle); and
• the fraction of contacts that are sliding.
Any quantity may be tracked with time and stored as a history. Stored histories may be plotted,
dumped to the screen, or sent to a file in a form that can be processed by other programs (such as
spreadsheets).
PFC3D may be operated in quasi-static mode (ensuring rapid convergence to a steady-state solution)
or in fully-dynamic mode.
PFC3D has a save/restore facility; all data are saved, including accumulated histories.
PFC3D contains the powerful built-in programming language FISH, which enables the user to define
new variables and functions. FISH offers a unique capability to users who wish to tailor analyses
to suit their specific needs. For example, FISH functions can be created to perform the following
operations:
• specify user-prescribed property variations in the model (e.g., nonlinear vari-
ation in contact stiffness across a model);
• plot and print user-defined variables (i.e., custom-designed plots);
• servo-control numerical tests;
• specify unusual boundary conditions;
• automate parameter studies;
• create or delete particles according to some user-defined algorithm;
• create groups of particles that are packed in some desired way; and
• write and read files either (a) in ASCII (to permit data exchange with non-
Itasca codes), or (b) in binary (to exchange data with other Itasca codes that
also contain FISH).
Three-dimensional graphics rendering is provided in high-resolution video modes. Plotting features
include hidden surface plots and vector plots. Plotted variables can be viewed in front of, behind, or
on an arbitrary cross-section plane through the model. This version of PFC3D has been compiled as
a native Windows executable using the WIN32 API to support execution under Windows95 and later
operating systems. The program has the look and feel of a typical Windows program. However,
most modeling operations are performed in the command-driven mode, while the graphical user
interface supports file-handling, model and response visualization (plotting), and printing (using
the standard Windows file-handling and printing facilities).
PFC3D Version 3.0