CFD module for PFC3D


  • The Coupled Computational Fluid Dynamics (CCFD) add-on for PFC3D6.0 has been discontinued. Existing customers who own the CCFD add-on can continue to use the add-on with PFC3D6.0.
  • The CCFD module has been renamed the CFD module. All commands, FISH intrinsics and Python bindings are the same but have a prefix of ‘cfd’ in place of ‘ccfd’.
  • This section describes using the new CFD module with 3rd party fluid-flow solvers. [CS: the following is a candidate for removal?] The original CCFD module documentation is available here ref-pfc_ccfd_addon-.

The Computational Fluid Dynamics (CFD) module allows some fluid-particle interaction problems to be solved in PFC3D. The CFD module does not contain a CFD solver. The CFD module is only available in the 3D version of PFC. The module provides commands and scripting functions to connect to CFD software and solve fluid particle interaction problems via the volume averaged coarse-grid approach originally described by (Tsuji et. al, 1993) [Tsuji1993]. Not all fluid-particle interaction problems can be solved with the coarse-grid method provided by this module. For an overview of other DEM/fluid coupling methods and applications see (Furtney et. al, 2013) [Furtney2013].

In the coarse-grid approach, equations describing the fluid-flow are solved numerically on a set of elements which are larger than the PFC particles. The force acting on the particles due to the fluid is assigned locally to each particle and is based on the fluid conditions in the fluid element that the particle occupies. The formulation for fluid-particle interaction force is accurate and smoothly varying for the practical range of porosity and Reynolds numbers (turbulent effects are included in the fluid-particle interaction term).

A corresponding body force is applied to the fluid as an average over one fluid element. Porosity and fluid drag force are calculated from averages of the particle properties in each fluid element. Two-way coupling is realized by periodically exchanging this information between PFC and the fluid-flow solver. The synchronization and exchange of information between PFC and the fluid-flow software is typically done via TCP socket communication.

The length-scale of fluid-flow structures which can be studied with this method are larger than the PFC particles. Any continuum based fluid-flow model can be used with PFC including the Navier-Stokes equations, potential flow and the Euler equations. The assumptions that PFC makes are: (i) that the fluid elements are larger than the PFC particles, (ii) that fluid properties are piecewise linear over the fluid elements and (iii) that the fluid elements do not move.

This module provides methods to

  • read a fluid mesh,
  • store fluid velocity, fluid pressure, fluid pressure gradient, fluid viscosity and fluid density in each fluid element,
  • calculate porosity and
  • automatically apply fluid-particle interaction forces to particles during PFC cycling.

An overview of the formulation and implementation are given followed by three examples of using the CFD module to solve fluid-particle interaction problems.


[Tsuji1993]Tsuji, Y., T. Kawaguchi & Tanata, T. (Discrete Particle Simulation of Two-Dimensional Fluidized Bed), Powder Tech., 77, 79-87 (1993).
[Furtney2013]Furtney, J. K., F. Zhang and Y. Han. Review of Methods and Applications for Incorporating Fluid Flow in the Discrete Element Method, Proceedings, The Fifth International FLAC/DEM Symposium, (Hangzhou, P.R. China, October, 2013). Minneapolis, Itasca International Inc. (2013).