CGP scaling laws and cohesive models

Dear Developers,

As mentioned in the other case, I am aiming to implement JKR cohesion model. However, when reading the literature concerning coupling between CGP and cohesive forces, there is a bit a discussion.

Some groups claim that a scaling law with l^2 (W^2/3) combined with a scaling of body forces (including drag) with l^3 (W^3) are necessary to correctly predict inter-particle forces. On the other hand, some other groups use different scaling laws, with body and cohesive forces scaled up by l^3 (W).

I was looking for the specific pieces of code in MFiX but it was a bit intrincate, as it is the mass and diameter which are scaled up and I may be missing something on the way. For example, the separation distance depends on W^1/3, which in turn I guess (not sure) that may make the contact force scale up with W^2/3.

Could you please confirm me how are forces (drag, contact, gravity, cohesive, etc.) scaled up for CGP? I may try different options when implementing JKR.

Thank you for your help!
Eduardo

Hello Eduardo. I also have questions about the force amplification law in MFIX-CGP, and I have raised my questions on the forum. Have you resolved these issues? I would be very grateful if you could tell me.

Hello Ethan,

Sorry for my late reply.

I am currently implemeting simplified JKR and the so-called SUP scaling model for CGP. At some point I stopped digging into MFiX and started applying my own (SUP) scaling laws, even if some of them may be the same as those in MFiX. For what I deduced (please take into account that I could be wrong and I let anyone to correct me if I am wrong):

  • As you mentioned, scaling is done on particle properties and not in forces. The overlap for collisions are based on the scaled particle size and not in the original particle size. In any case, as the overlap scales with L (being L=W^(1/3)), normal contact forces scale up with L^2 (as in SUP). At some point I was checking my implementation and I was getting the same values as in MFiX.

  • Hertzian model applies to the sentence above and I think it does the same for tangential contact force (not sure though).

  • Body forces (drag included) scale up with W.

This is the point I reached. Then, I am not sure how the tangential forces, torques and cohesion are implemented. As said, I am doing my own method by calculating all the forces with the original particle size and then upscaling them again. I am still in process of verification/validation.

It is good to know that I am not the only one looking into this, so please let me know if you have some point to raise or you want to discuss further :slight_smile:

Thanks!
Eduardo

Thank you very much for your reply, Eduardo. I believe what you’ve stated aligns with the answers I’ve obtained. I’m not sure if I’ve misunderstood you. Are you saying that MFIX handles CGP by modifying particle property parameters to achieve force scaling? Whereas some papers calculate the actual particle force first, then multiply it by a scaling factor to obtain the parcel force, which is then substituted into the motion equation? Based on my reasoning, when I apply Hertz’s collision law, if particle properties remain unchanged, it should precisely align with the relative overlap law (I’m not certain if this is correct; please correct me if I’m wrong). After understanding how MFIX handles CGP, I encountered some questions while reviewing the heat transfer model. I don’t understand the derivation process for Qpfw and Qpw in the paper. I’m unsure if you’ve read Lu’s paper on the CGP heat transfer model, which is the CGP model used in MFIX. If you have read it, I have the following questions:
(1) Why use dimensionless quantities when deriving Qpfw? Additionally, I find some confusion in the derivation of equations 25-27.

(2) When deriving Qpw, the term k^5/4 in equation 36 suddenly changes to k^9/4 in equation 37, which seems highly unusual. The original text states, “We also need to consider the particle-wall collision frequency as shown in Fig. 3.” But why is k scaled by a factor of 9?

(3) In the MFIX code, there is this segment:
! See Lu et al. 2017, IJHMT, 111, 723-735
! First scale to real-particle based heat transfer, then scale up W times
! Q_pfp(Parcel) = Q_pfp(real_particle) * W
! Q_pfp(real_particle) = Q_pfp(Parcel_size_based_calculation)/W**(2/3)
! Then, Q_pfp(Parcel) = Q_pfp(Parcel_size_based_calculation)W*(1/3)
! W**(1/3) equals parcel_radius/real_particle_diameter
if(CGDEM) Q_pfp = Q_pfp*DES_RADIUS(I)/DES_CGP_RPR(I)
! Q_pp(Parcel) = Q_pp(real_particle) * W
! Q_pp(real_particle) = Q_pp(Parcel_size_based_calculation)W*(5/12)
! Then, Q_pp(Parcel) = Q_pfp(Parcel_size_based_calculation)W*(17/12)
! W**(1/3) equals parcel_radius/real_particle_diameter
if(CGDEM) Q_pp = Q_pp * DES_CGP_STW(I)**(17.0D0/12.0D0)
DES_CONDUCTION = Q_pp + Q_pfp

That is to say, the equation Qcgp = WQreal always holds true. Does the equation for Qreal derived in the paper represent the average value of all real particles within the inclusion?

(4) I also found that the code for Qpw in MFIX differs from that in Lu’s paper. Lu’s correction factor is k^(9/4), whereas MFIX uses W^(5/12) = k^(4/5). Furthermore, the paper states that Q_pp(real_particle) = Q_pp(Parcel_size_based_calculation)/W^(3/4), not the multiplicative relationship “Q_pp(real_particle) = Q_pp(Parcel_size_based_calculation)*W^(5/12).”

I’m truly sorry for the length of my message. Thank you so much for your patience in reading it. I look forward to continuing our conversation.

Dear Ethan,

What I meant is that MFiX scales up the diameter and the mass of the Coarse Grained Particles and then it calculates the forces for the equation of motion according to that scaled up particle. Other methods (like the one I am aiming to implement), calculate the forces based on the original particle properties and then scale up the forces for the CGP.

I am very sorry, but for the moment I am only taking a look at this without taking into account the energy equation, so I am not of much help on how it is scaled for conduction.

In fact, I am already struggling a lot to obtain a uniaxial compression test that looks the same for different scaling factors (like the linked paper): https://doi.org/10.1016/j.powtec.2022.117483

I wonder if the developers can enlighten us a bit regarding both your concerns and if there has been any test of a uniaxial compression test.

Kind regards,
Eduardo

Dear Eduardo,

I’m confused about the difference between the CGP method and the DEM method in MFIX. If I set the CGP weight to 8 (l=2), does that mean I’m effectively generating particles with twice the size for calculation?
Additionally, when performing drag calculations, I noticed that the drag coefficient beta also increases by approximately l^3 times due to the CGP model. When calculating total drag, Fd,cgp = beta * Vcgp = beta * Vp * l^3. According to the formula, drag would be amplified by l^6. I’m a bit unclear on this calculation.

Kind regards,
Liu

@edcanop I was curious about the uniaxial compression test you mentioned. Sorry to cross pollinate, but I am using MFIX-Exa. I ran a uniaxial compression test just as in the paper. The results are slightly different, likely due to Hertz vs LSD. (This is still running so it’s only a partial curve, but still enough to show my confusion.) Then, I coarse grain the particles by a factor of f = d_g / d_p = 4, i.e., f^3 = 64 “particles per grain.” I am scaling the spring constant by factors of f^0 = 1, f^1 = 4, f^2 = 16 and f^3. I expected to see either f^2 give the correct match in this test based on Eq. (28) or f^3 based on Eq. (28) combined with Eq. (35) in your referenced paper. Although, to be honest, I am really not sure how one is supposed to interpret Eq. (35) other than introducing a new factor in front of either the spring constant or, conversely, in front of dashpot coefficient, as in this paper. Anyway… have you done similar uniaxial tests w/ CG LSD DEM? Any insights into why f^1 scaling of k_n seems to be the right fudge factor for this test?

1 Like

Hi William,

Fast answer would be that I did not test LSD DEM for the uniaxial compression test. However, I managed to make it work (i.e., obtained overlapping curves for the same f) modifying the underlying calculation of forces in the Hertzian contact model. My strategy was the following:

  • Unscale overlap by a factor of f.
  • Calculate all forces and torques based on downscaled (original) particle size.
  • Scale up the force by a factor f^2.

Anyhow, if I am not wrong, combining Eq. (28) with Eq. (35) of the paper actually indicates a factor f is the way. That is, if s is the scaled up particle and o is the original and only looking at a normal component:

Fs = Fo · f^2
deltas = deltao · f

Fs = kns · deltas = kns · deltao · f = f^2 · Fo = f^2 · kno · deltao

This yields that kns = f · kno, which I believe is why you are getting coherent results.

Please do not hesitate to correct me if I am wrong. I am currently testing my implementation of simplified JKR based on this other paper of the same group but using spherical particles:

Interestingly, when replicating Figure 3 their scaling laws work perfectly and the coordination number of the clusters overlap. However, I am not getting overlapping curves for different velocities, which I do not know if it could be something related with the collision model itself (I have another post asking about it).

Thank you and please let me know about your progress! I am very interested in this topic :slight_smile:

Cheers,
Eduardo

Dear Liu,

Sorry for my late reply. Yes, when you are using the CGP method, you are creating particles that are l times larger in diameter than the original particles but behave in a similar manner as the original size ones.

I am sorry, but I did not have time to go deeply in the code to check on the drag implementation. There is no discussion on the scaling laws for drag in CGP DEM, so I assume the scaling law is correct and is l^3 for the body forces (drag and gravity).

In any case I have just done a quick search in the code and I believe the drag is calculated using the original particle diameter. I see just before calling to the drag laws something like this:

IF(CGDEM) DPM = 2.0d0*DES_CGP_RPR(NP)

and then the drag laws are called using DPM as the diameter. Then, somewhere in the code:

DES_CGP_RPR(PIP) = DES_RADIUS(PIP)/DES_CGP_STW(PIP)**(1.0d0/3.0d0)

which means that, just before calling the drag laws, the diameter is unscaled, drag is calculated, and then upscaled again by l^3 when multiplying by the volume. At least that is what I have just deduced. Please correct me if you have reached a different conclusion.

Cheers!
Eduardo

@edcanop your response finally helped me understand what the authors were trying to express in Eq. (35). thank you.

1 Like