cfdemSolverIB cyclic patch with unequal values

Submitted by byama on Wed, 05/01/2019 - 19:21

Hello all,

I have noticed an issue for my runs using the resolved CFDEM solver (cfdemSolverIB) when attempting to use cyclic patches on the OpenFOAM side. For some reason, the velocity values at the cyclic patches do not match.

To check, I've run a toy case based on the "twoSpheresGlowinskiMPI" tutorial. The toy case is modified with gravity turned off and just including an initial uniform z-velocity in the cells specified in 0/U. Inlet and outlet (ie the upper and lower z faces of the domain) are changed to be paired cyclic patches.

When I compare the velocity values at the paired cyclic patches, I noticed that there is a fairly significant difference in some of the paired patch point values. In fact, none of the values match perfectly. By comparison, when running the case with only fluid phase (icoFoam), there is full agreement between the paired velocity values.

I've included below a link to the toy case with the runs and including the comparison of values.

Has anyone else had this issue before? If so any advice on how to remedy it would be greatly appreciated.

case link:

Thanks and all the best,

achuth1992 | Wed, 09/18/2019 - 21:32


I also faced such an issue before. You may try using the cyclicAMI BC for the periodic patches with uniform z-velocity. This helped me in resolving the problem. If you are using
mesh refinement this might be helpful.


f.picella's picture

f.picella | Thu, 10/24/2019 - 19:28

Hello everyone,

as well as Brian, I am facing an issue-bug when using the cfdemSolverIB for the simulation of particles in a periodic domain.

Starting from the "twoSphere" tutorial, setting 'cyclic' boundary conditions on the CFD side and adapting "in.liggghts_run" accordingly, I observe an unphysical behaviour.
The particle glitches and disappears when crossing the 'cyclic' boundary, as you can see from the video attached.

Once the whole particle has crossed the boundary, it re-appears, continuing its path.

As suggested by Achuth, I have tried using the cyclicAMI BC, but with no succes.
The Fluid solver encounters a fatal error due to phiIB's convergence. When tolerance is refined within the fvSolution file, a solution similar to the one obtained using the simple 'cyclic' BC is retrieved.

I understand that there must be some link with the 'checkPeriodicCells' flag, but still I can not sort it out.

I hope you could give me some advice in solving this problem.

Thank you



here's the link to my formulation, so that you can replicate the behavior of my code:
z- periodic boundary:
x-y-z periodic boundary:

I'm running using:


mofazli | Wed, 04/08/2020 - 01:32

Hi Francesco,
I have the same issue with cfdemSolverIb for using periodic boundary condition at all sides of the box. The problem arises when I set the wall_blockPeriodicityCheck in coupling properties file. After that, I constantly give some messages in different timeSteps containing:
Cannot find point in pts1 matching point 0 coord:(0.55 1 0.05) in pts0 when using tolerance 0.070710678
Which finally give rise to error:
Too many errors
So did you find any solution to run cfdemSolverIb in a periodic box (a case like this

luisjau8967 | Thu, 05/14/2020 - 04:26

Hi Mohammad,
I'm also trying to use cfdemSolverIB in a periodic box. I also cannot run my simulation, I get the message that the error is due to wall_blockPeriodicityCheck being undefined in the couplingProperties file, so I would like to define it but I cannot find any further information about this besides you comment. Can you please explain to me how did you "set" the keyword wall_blockPeriodicityCheck in coupling properties file?

luisjau8967 | Thu, 05/14/2020 - 04:58

Hi Mohammad,
Regarding my question about wall_blockPeriodicityCheck, no need to answer me I have solved my problem (at least on the CFD side).
Thank you

mofazli | Tue, 05/19/2020 - 02:15

Yes, Luis,
I have solved the problem as well.
Good luck

amir.mofakham | Mon, 06/08/2020 - 16:49

Hi Mohammad,

I am also trying to use cfdemSolverIB with dynamicRefineFvMesh option and cyclic boundary condition on boundaries.
I faced the same issues like "Cannot find point in pts1 matching point 0 coord:(0.55 1 0.05) in pts0 when using tolerance 0.070710678".
Would you please tell me how you could you manage to resolve the issue?


mofazli | Tue, 06/09/2020 - 02:29

Hi Amir,
I think you should use cyclicAMI boundary condition instead of cyclic when you are imposing dynamicRefineFvMesh option. In dynamicRefineFvMesh option, it is possible to have different mesh arrangement in the periodic sides, so using the same values for two sides is not appropriate. So cyclicAMI forces the periodic BC with consideration of mesh variation. Hope it works for you.