Bug found: fix_cfd_coupling_force

Submitted by Detian Liu on Thu, 04/30/2015 - 20:21

Dear CFDEM forumers,

Recently, I am trying to simulate a case with sediment transport, before the simulation, I tried a case to see whether the force, velocity and position are right for a single particle, there is a very stranger thing that, the coupling interval will affect the velocity.

The case is just use a single particle with a single force, this force will give acceleration let's say a, if I use coupling interval=1, in each time step, the velocity will only increase 0.5a, if I use coupling interval=5, in each CFD time step(5 DEM time step), the velocity will only increase 0.9a, for a further sutdy, I found that, if I use coupling interval=5, in each CFD time step, there are 5 DEM time steps, for the first DEM time step in these, the velocity will only increase 0.5a, the other 4 DEM time steps are OK for the velocity increase for a, so after 5 DEM time steps, the velocity increase 4.5a, so the acceleration in one CFD time step is increase by 4.5a/5=0.9a, though we alwats use a coupling interval like 100 or 200, ... , it will give a value of 0.995a, 0.9975a which are very close to a, but still the first DEM time step in each of the CFD time step there is something strange, is that because of something wrong with the coupling between CFD and DEM?

Does anybody have some experience on this, and could give me some advice on this?
Or why the gravity force can be read from the previous time step, but the drag force from CFD will be zero?

Thank you so much!

Best wishes!

Detian
2015.4.30

Update 2015.5.1:
After compared with the gravity force, I found that there is a missing function void FixCfdCouplingForce::setup(int vflag), so in the loop of velocity-verlet integrator, there is no setup process for dragforce from CFD, which makes in each of the first time step in the coupling interval, there is no drag force for the particle, though when the coupling interval =100, 200, there is little influence, still we can add this member function.
I do not know whether it is right?
Could somebody give me some advice on this, is this a small bug or it has some reasons for not adding this member function?
Thank you so much!

Detian
2015.5.1

AttachmentSize
Image icon coupling_interval.png6.29 MB

Detian Liu | Fri, 05/01/2015 - 22:51

I find that this problem seems due to the velocity-verlet integrator, but could anybody tell me that why there is no fix->pre_force() in the fix_cfd_coupling_force? Why not we can read the force from the previous time step instead of make it zero?
Thank you so much!

Detian