How to set a special region for drag force on particles equals to zero!

Submitted by Donald Trump on Tue, 03/19/2019 - 14:24

Hi all,

I want to apply the drag force equals to zero in a certain region in the domain when I do a cfd-dem process. And out of this region, the particles will get drag force on them. I noticed there is noDrag model existing, so can I use two kinds of drag force models at the same time, but only the noDrag model applied to a defined region while in the other region I use the other drag force model like De Felice model with the rest of the area. How can I use Liggghts command and modified couplingProperties file to make this happen. Or I have to look into the source code to make a little bit changes there for the drag force on particles.

Second, if I would like to add something in the code, can someone tell me where is the part in the source code when you need to calculate the total force on the particle and apply the newton's law. I thought it was in the particleCloud parcel. But I could find that kind of code there, can you give me some hints about how to do this. When you do cfd-dem process, you will have to get all the forces acting on the particle, and put them together. I wonder where I should look into in the source code for CFDEM parcel when you get accumulated forces.

Thanks!

bhwang | Tue, 03/19/2019 - 16:48

I think that you can make a special 'force model' (in submodel folder) with having the 'drag coefficient' which is function of coordinates. So, put the 'if' command with using the coordinate of cell in the section of calculating 'drag coefficient', and it can make the 'drag coefficient' to "zero" for the 'special region'.

Donald Trump | Wed, 03/20/2019 - 03:56

Thank you! that's very interesting, I was thinking about adding 'if' command before they calculate the total forces on the particles, and let the drag force be zero in a certain region, but I can't find that part anywhere. And this could be alternative solution. So one question, I am not very familiar with how the geometry information works here in cfdem source code. When you import those mesh files, how does that transform to coordinate information in the domain. In some house code, they just coordinates for each dots, functions and equations for the lines to build geometry in the code. But I am not sure here which functions or class in the .cpp files I should check to get the geometry information.
Following your lead, If I wanna define a box in the domain where particles in this region will have no drag force on them, how can I make this region geometry be recognised by the program. By using some dots coordinates and line equations or what?

bhwang | Mon, 03/25/2019 - 06:18

I think that the section of DEM calculation is included in the format of OpenFOAM solver. In other words, if you can see the source code of cfdemSolverPiso, this solver has a format of pisoFoam with additional DEM-related command such as " particleCloud.clockM().start(1,"Global"); " or " particleCloud.clockM().start(2,"Coupling"); ".). It means that you can recall the command related with "cell number, cell center, ..." from the OpenFOAM solver to DEM solver. For example, "U.mesh().C()[cellI]" can recall the center value of velocity in the cell. Actually, I didn't do the above things that, but you can do some simple case by adding the command that print the cell information (height, velocity, ..).