Numerical Simulations with PFC

PFC provides an embodiment of the Distinct-Element Method (DEM). Refer to the section “PFC Overview” for a general introduction to the Distinct-Element Method (DEM) and PFC. The DEM, as implemented in PFC 6.0, is described in detail in the “PFC Model Formulation” section.

The PFC codes provide a DEM model that is wrapped by a graphical user interface. A particular instance of the DEM model is referred to as a PFC model. The PFC model consists of bodies and mechanical contacts. There are four types of bodies: balls, clumps, rigid blocks, and walls. A body is composed of one or more constituent pieces that make up the body surface. Clumps are composed of pebbles and walls are composed of facets. The interaction between the surfaces of two bodies is defined by a mechanical interaction that is composed of one or more mechanical contacts. The mechanical interactions/contacts are discussed in “Contacts and Contact Models.” We refer to bodies, pieces, and mechanical interactions/contacts as PFC model objects throughout the documentation. Further descriptions of the PFC model objects are provided in the “Model Components” section.

An important distinction, central to command processing/plotting related to model objects, is the distinction between attributes and properties:

  • Attributes are intrinsic characteristics of model objects such as position, velocity, size, etc. Bodies, pieces, and contacts have attributes. An example of body/piece attributes are the clump and pebble positions; even though the pebble is part of a clump, it has a distinct position. The list of attributes are fixed and non-changing.
  • Properties, on the other hand, are held exclusively by pieces and are lists of string/value pairs specified by the user. These string/value pairs represent the surface conditions of the pieces. Initially the pieces are devoid of properties. Properties are used to determine how pieces interact with one another. As balls, clumps, and walls are rigid, all deformation between surfaces of adjacent pieces occurs at contacts. Specific contact models can be inserted to represent different physical situations. This contact strategy is termed a soft contact representation. The contact models use the piece properties to determine the resulting interaction. For instance, if the physical specimen to model is composed of both hard and soft balls, the balls could be given different properties to accommodate this situation. How properties are used in contact models is presented in the “Contacts and Contact Models” section.

For balls, clumps, rigid blocks, and walls you can set attributes with the attribute keyword and properties with the property keyword (e.g., ball attribute and ball property). One can list the values of specific attributes/properties with these keywords (e.g., ball list attribute and ball list property).

Some important notes follow:

  • Local damping is a body attribute and is set to 0.0 by default (refer to the section “Energy and Dissipation Mechanisms in PFC” for further information on local damping and energy dissipation mechanisms).
  • Attributes and properties should not conflict, i.e., creating a ball property named “velocity” is not advised (see the tutorial “Attributes and Properties” for further details).
  • No model objects can exist without defining the model domain (see “Domain” for details). The domain is an axis-aligned bounding box that defines the PFC universe. All model objects must fit within the domain. The domain is fixed and does not grow automatically as model objects disperse.
  • By default, the null contact model is placed in all contacts. One must use the Contact Model Assignment Table (CMAT) to define the desired contact models.

The first section below describes the PFC model formulation in detail, outlining the steps in the solution sequence and relevant concepts tied to the mechanical DEM formulation. Below this section, one will find information regarding orientation tracking (which applies to balls, clumps, rigid blocks, and walls) followed by specific information about each of the PFC model objects, including complete listings of their commands and FISH access functions. [CS: sort out intention on next; links don’t work] Note that the entire list of commands/|fish| are given in the “ref-plugins_command_summary-” and “ref-plugins_fish_summary-” sections, respectively.

this section positionally corresponds to “FLAC3D Modeling”, which is the area for going over how to build a model. Currently this is here as a placeholder until a more complete rearrangement of previous material is done.

Commands and FISH References





  • FISH Scripting Reference for the general reference on FISH;
  • FISH Functions for an index of all functions built directly into the FISH language (that are not associated with the set found with the common commands (see above)).
  • Python Scripting for the general reference on Python in Itasca software.