Force Chain Data from MFiX

I recently learned how to write-out the force chain data from MFiX for DEM simulations, under the “Output” tab. I could only read about it at this forum post. Is there any documentation for the force chain data?

Specifically, I am seeking an interpretation of the different values saved in the .pvd file. When opened in ParaView, there are 12 values, some of which I don’t understand.

For example, what are “FORCE_CHAIN_FN_ND” and the triplet of values “FORCE_CHAIN_FN”? There is both …"_MAG" and …"_Magnitude," whose values all appear to be the same. Would these two ever be different?

Finally, for this case, I ran the DEM 3D hopper simulation; the final state is a pile of particles in the bottom bin. I wrote out the force chain data and noticed that all of my force chain lengths are at most 0.02 (exactly) or very close to that value (~0.0196). Why is this? 0.02 is the diameter of my particles, but I expect force chains to be at least a few particles long.

This is a work in progress as we have not updated the visualization panel to look at the force chain data in the GUI. You can visualize it in Paraview:

  1. Apply a glyph filter, select the line type.
  2. Choose FORCE_CHAIN_FN for the orientation array.
  3. Choose FORCE_CHAIN_LENGTH for the scale array, and a scale factor of 1.

This will draw a line between each pair of particles that are in contact with each other. You can color the line by FORCE_CHAIN_FN_MAG or FORCE_CHAIN_FN_ND.

FORCE_CHAIN_FN_MAG is the magnitude of the vector FORCE_CHAIN_FN.
FORCE_CHAIN_FN_ND is the magnitude non-dimensionalized by the average value.

FORCE_CHAIN_LENGTH is the distance between the particles and will be slightly smaller than the diameter since there is a small overlap. For a polydisperse system, it will be slightly smaller than the sum of the two particle radii.


Hi Jeff, thanks for your detailed response. I have visualized the particles in MFiX as you suggested, and the information you provided about the data was very helpful. I have a few follow-up questions:

The “Points” data appears to be (x, y, z) coordinates – are these the coordinates of the contact point between the two particles?

Is there a way to determine, from this data or elsewhere in MFiX, which pairs of particles are in contact? For example, the particle IDs for each pair of contacting particles? I am interested in creating an adjacency matrix showing the contacting particles as entries. I figure MFiX must have this information already in order to do its computations.

The (x,y,z) are the coordinates of the midpoint between particles in contact. This will be close to the contact point (neglecting the small overlap) when particles have the same diameter. It won’t be the contact point if particles have different diameters.

If you look for FCHAIN in calc_force_dem.f, you will se how the force chain data is saved. The indices for the pair of particles are I and LL.