Software: PFC2D: Options
Product Components
The components of the PFC2D 5.0 and PFC3D 5.0 products are described here. The term PFC applies to both PFC2D and PFC3D. The standard PFC 5.0 provides all of the functionality of the standard PFC 4.0, with the following two exceptions:
- the AC/DC logic will no longer be available (but the BUILD ASSEMBLY functionality will be maintained), and
- there are four discontinued options from PFC 4.0 (which are described below).
Options and Add-ons for PFC 5.0
- Thermal Option. The thermal option simulates the transient flux of heat in materials and the subsequent development of thermally induced displacements and forces. The thermal model may be run independently or coupled to the mechanical model. Thermal strains are produced to account for heating of both particles and bonding material. Also, walls may be assigned a temperature to set a thermal boundary condition.
- C++ Plug-in Option. The C++ plug-in option provides two product components: (1) C++ user-defined contact models and (2) C++ user-defined FISH intrinsics.
The C++ user-defined contact models component enables users to add new contact models to the PFC program. A contact model describes the force-displacement response at a contact. During each cycle, the PFC program calls each contact model (passing in relevant information about the two contacting entities), and the contact model updates the force and moment acting in an equal and opposite sense on the two contacting entities. User-defined contact models are written in C++ and compiled as DLL (dynamic link library) files to be loaded whenever needed in a PFC simulation. The Visual Studio 2010 C++ compiler is used to compile the DLL files. Source files for all PFC contact models are provided to users. This component provides the flexibility to incorporate the physics relevant to particular problems into the distinct-element framework and permits exchange of contact models among PFC users (via the Itasca web site devoted specifically to model development and exchange: www.itasca-udm.com).
The C++ user-defined FISH intrinsics component enables users to execute their own C++ code during a PFC simulation. User-defined FISH intrinsics are written in C++ and compiled as DLL (dynamic link library) files to be loaded whenever needed in a PFC simulation. The Visual Studio 2010 C++ compiler is used to compile the DLL files. This component can be used to replace selected FISH functions and thereby speed up execution considerably, especially when operating upon large numbers of model entities during each cycle. - Coupled Computational Fluid Dynamics Add-on (PFC3D 5.0 only). The Coupled CFD (CCFD) add-on for PFC3D 5.0 couples the mechanical DEM calculation of PFC3D with a computational fluid dynamics code called CCFD. CCFD provides a coarse-grid fluid scheme that can simulate fluid-coupling problems as a two-way interaction between particles and fluid. The term coarse-grid means that there are a relatively large number of PFC3D balls within each cell of the fluid grid. The Lattice-Boltzmann method is an example of a fine-grid scheme meaning that there are a relatively large number of fluid cells between the balls. Fine-grid schemes can resolve details of the fluid-flow pattern that cannot be resolved by coarse-grid schemes. The coarse-grid scheme can be applied to a variety of engineering problems including sand sedimentation, sand transport (slurry flow), fluidized beds and pneumatic conveying.
Discontinued Options from PFC 4.0
- Basic Fluid Analysis Option. The basic fluid analysis option will be discontinued in PFC 5.0. The fixed coarse-grid fluid flow scheme is too restrictive (being limited to a fixed, rectangular grid aligned with the global axes) to justify its inclusion in PFC 5.0. A more flexible coarse-grid scheme is available for PFC3D 5.0 only, via the Coupled Computational Fluid Dynamics (CCFD) add-on. Also, a general C++ coarse-grid fluid interface wraps the PFC 5.0 computational kernel, and this interface could be used by an experienced programmer to couple PFC 5.0 with any fluid-dynamics code (and thereby create their own coarse-grid fluid flow scheme).
- Parallel Processing Option. The parallel processing option will be discontinued in PFC 5.0. The distributed parallelism provided by the PFC 4.0 parallel processing scheme has been found to be too cumbersome to use for most of our clients (e.g., requiring that special parallel-aware FISH functions be written) and too difficult to maintain for our limited programming staff. We have decided to focus our development efforts on multi-threaded parallelism, which is provided as a standard feature of PFC 5.0.
- User-Written C++ Code Option. The user-written C++ code option, which was one of the two components of the C++/UDM option, will be discontinued in PFC 5.0. This capability is replaced, and improved upon, by the C++ user-defined FISH intrinsics component of the C++ plug-in option of PFC 5.0.
- Itasca Viewer (IV) Option. The IV option will be discontinued in PFC 5.0. This capability is replaced, and improved upon, by the new user interface of PFC 5.0.

