The User Variables output run with DMP

Hi everyone. Recently i’m simulating a fluidized bed and the case was ran with DMP(NODESI=5 NODESJ=10 NODESK=1), i tried to use des_usr_var in des_thermo_cond_mod.f and get the value of the conduction heat transfer (Q_pp and Q_pfp),but it’s failed, because the values were averaged by the processors, how can I deal with this question?


The first index of des_usr_var is the variable ID, the second index is the particle ID. Here you are looking a conduction between particle I and J, so my guess is it should be:

des_usr_var(6,I) = Q_pp
des_usr_var(7,I) = Q_pfp

otherwise you are constantly filling up values for all particles in a given process. This is why you see blocks of likewise colored particles. This must also considerably slow down the simulation.

Thank you, Jeff. it‘s really worked. And i wonder know what’s the difference in application between 1.NP(global index of particle), 2.I,J(index of particle being looped over), 3.LL(loop index for particle) and 4.’:’
because when I try to change the des_usr_var(1, : ) into des_usr_var(2, NP) in des_thermo_conv.f to get the value of the convection heat transfer, there is an error in building mfixsolver.


屏幕截图 2021-10-15 105740

NP, J and LL are all local variables that represent the particle index inside a loop. The actual variable name is arbitrary, and it represent the same thing, a particle ID. The error you see is because des_usr_var(1,NP) holds a single value (variable number one, particle number NP), whereas CONV_Qs holds values for all particles (it is an array), i.e. they have different sizes. You use use:

des_usr_var(1,NP) = CONV_Qs(NP)
1 Like

Hi, Jeff, Thanks for your answers. it’s all worked in my simulation. And these days I have a new question based on your answers.
I try to get all of the particles’ conduction heat transfer in every DEM time step, using the des_usr_var(6,I) = Q_pp and des_usr_var(7,I) = Q_pfp in des_thermo_cond_mod.f, and I sum up all the partlcles’ conduction as the particle-particle conductive heat transfer at every DEM time step, but the value is quite small compared with the results in the literature. So I wonder whether I just get the condcution from one of the particles around the particle I, If one particle has two or more contacts, how can I output all conduction heat transfer exerted on the particle I every DEM time step.

I think you are only storing the conduction for one neighbor because you are overwriting the value evrytime you move to another neighbor. I guess you need to sum it up as you go through the list of neighbors.

Hi @ChenYuan
Hope you are doing well.
I also working on the CFD-DEM simulation of the Fluidized Bed, and I also have the same problem statement to capture the diff. heat transfer modes during DEM.
This is a new task for me. In this regard, I need your kind support and insight to capture these.