Local solid volume fraction MFIX DEM

Hi everyone, I’m working on MFIX-DEM simulations with user-defined particle locations and size. The particle locations are in the particle_input.dat file, and the diameters are read from a separate text file by using usr0_des.f. In addition, usr1_des.f is used to implement a fluid-to-solid drag force by looping through all the IJK cells and then calling the subroutine DES_DRAG_GP. The inputs to this subroutine are particle ID, particle and fluid velocity, and local fluid (or gas) volume fraction i.e., fluid volume fraction in the IJK cell. Particle ID and velocity are MFIX-computed, and I have calculated the fluid velocity outside of MFIX. This known fluid velocity is defined in usr1_des.f. However, I’m concerned with the local fluid volume fraction calculation. I understand that this is calculated as (1 - solid volume fraction). When DES_INTERP_ON is “false”, the local solid volume fraction should be the total particle volume (sum of PVOL(NP), for all NP belonging to the IJK cell) divided by the cell volume (VOL(IJK)). I separately computed the total particle volume and cell volume and verified that the calculations match with that of MFIX. But their ratio does not match with that returned by the function used to calculate local solid volume fraction i.e., EP_S(IJK, xxM), found in fldvar_mod.f. I’d be grateful if someone could help me figure out why the calculations do not match and a method to verify the local solid/fluid volume fraction, for my case of polydisperse particles


1 Like

Please see the subroutine COMP_MEAN_FIELDS0, COMP_MEAN_FIELDS1 for more details on how to calculate the volume fraction for each solid phase

I have the same problem.
If, as you say, this function is for TFM, then why was it used in calc_epg_des.f to calculate the fluid volume fraction?
So how do we calculate the solid volume fraction for DEM?

I checked the source code, the function can be used for both TFM, DEM and hybrid model, please see the subroutine COMP_MEAN_FIELDS0, COMP_MEAN_FIELDS1 for more details on how to calculate the volume fraction for each solid phase.

Hi @gaoxi, thanks for the suggestions. Actually, I worked through the source code and I think that using a call to COMP_MEAN_FIELDS will help. The call to this subroutine, found in the module COMP_MEAN_FIELDS_MOD will make sure that correct values of local particle volume fraction are calculated. I verified it with the calculation I described in my post above. But it seems to work only if I use execute MFIX as a serial run. Usually, my simulations are executed as shared memory – in this case, the local solid volume fraction values are different. Do you have any thoughts on this?