DEM-engine parameter calibration

74 views
Skip to first unread message

Giovanni Bianchi

unread,
Jun 28, 2023, 9:22:24 AM6/28/23
to ProjectChrono
Hello,

I am a new user of Chrono and DEM-Engine, and I am trying to simulate a mixer for powders using DEM-Engine. However, I have some issues:

1) How can I calibrate the contact properties between particles to obtain specific bulk properties of the material? I have measured friction angle, viscosity, bulk density, and cohesion, but I don't know how to translate them into the contact properties needed for a DEM simulation, such as the Young module, coefficient of restitution, friction coefficient, and so on.

2) I am building my simulation starting from the DEMO_mixer, and I am using Paraview to visualize the results. Referring to this demo, I managed to see the particles and their velocity, but I would like to calculate the forces acting on the blades and the moment about the rotation axis. Do you have any suggestions on how to do it with Paraview or with any other software? 

Thanks,

Giovanni


Ruochun Zhang

unread,
Jun 28, 2023, 12:42:00 PM6/28/23
to ProjectChrono
Hi Giovanni,

1. In general, we should still use the "true" material properties since they have physics meanings. In my opinion, in DEM simulations, Young's modulus, CoR, grain shape and such, should be obtained from the grains in use and their material, not the other way around. However, if using true properties is too numerically challenging or does not give some bulk properties we wanted, or some physics properties are just not available, we could relax/tune some of them. To start off, I suggest just hand-tune it: Try reproducing the experiments that show friction angles, viscosity etc. (one of the demos is the repose angle test, and maybe we should add a flowrate demo too...) with DEM-Engine, then run them with your educated estimation of material properties, then measure the bulk properties in question (for example, see line 224 in the ConePenetration demo to see how bulk density is measured). Change the grain properties then repeat the process to understand how the bulk properties change w.r.t. them, until you have satisfactory bulk properties. For the properties you are interested in, Young's modulus and CoR and nu are probably minor, and mu, rolling resistance (Crr), grain mass and grain shape are probably more impactful. Just a suggestion: Even if you are using DEM particles much larger than true powder grains, try to use clump particle shapes that sort of resemble the powder grain shape (or at least somewhat deviant from pure spheres), because the particles shape is probably very impactful but less easy to alter between simulations.

Of course, if you have many material properties to tune and many bulk properties to match, it is possible to automate the process using data science technologies. That would be a longer discussion. Usually educated estimates and a few trial runs work well for relatively simple physics like you are simulating.

2. If you just want to total force and total torque, then you can use tracker objects to get that information. You may look into the Centrifuge demo line 167 to see how contact acceleration and angular acceleration are extracted from an object (note it is acceleration, so to get force you need to multiply that by masses, as in the demo). You Track an object, then obtain information about the tracked object using the tracker handle. Force information can only be obtained from the simulation, the visualization tool can do nothing about it. 

However, if you would like all the forces pairs (maybe for example, when you need to do structure deformation co-simulation), you have two choices. One is that you write contact pairs to files. See an example in the GRCPrep_Part1 demo line 167, WriteContactFile method. You will have the locations and forces of all the contacts. You should extract the "SM" type of contacts only, that is the sphere--mesh contacts. The second choice is doing something like in the FlexibleMesh demo (it's a new demo and you may need to check out the newest version), line 253, use a tracker to get all force pairs concerning a tracked object. The benefit of that is you get the locations and forces as C++ vectors directly, so you may use it directly in your script for other purposes. It makes more sense to visualize pairwise forces too (for example using Paraview Glyph), should you need a force visualization like in one of DEME's frontpage GIFs. But based on your description you probably just need a total torque.

Let me know if there is anything else,
Ruochun

Giovanni Bianchi

unread,
Jun 29, 2023, 4:41:43 AM6/29/23
to ProjectChrono
Thanks a lot, Ruochun, for the clear and fast answer,

this is really helpful,

Giovanni

Reply all
Reply to author
Forward
0 new messages