Error of Variable density reaction particles

Hello, developers,
I want to calculate a case with a chemical reaction where the particle density varies with the reaction with a particle exit (the fluid volume fraction is set to 0). For the case with constant density setting it could be calculated normally, but when it was set as variable density, I got the following error, what could be the reason?


fluid_bed_counterflow_2023-04-25T205641.127278.zip (59.7 KB)

Also, I am prompted with a new error when trying to use MPI parallel computing, what could be causing this? (The error above is not prompted at this point)


fluid_bed_counterflow_2023-04-25T211114.871286.zip (60.4 KB)

Looking forward to any possible answers! Thank you very much!

The MPI errors are “noise” - these happen when the solver has already crashed for other reasons, and didn’t clean up after itself. The root cause may have been the same as the first screenshot - note that the FLUID_BED_COUNTERFLOW.LOG files in both of the zipfiles you uploaded contain the same

 >>>>>#################################################################
ERROR from check_data/check_bc_outflow.f:126
Error 1103: Illegal boundary condition region:   4. Sum of volume
fractions does NOT equal ONE. (SUM = 0.0000)
 <<<<<#################################################################

This is usually due to a setup error: at the boundary condition, the solver checks that BC_EP_G (fluid phase volume fraction) and all of the BC_EP_S (solids phase volume fraction for each phase) add up to 1.0.
The message is for BC 4 which is a mass outflow.
BC_EP_G is here, but cannot be entered directly - as the help text says, it is computed as 1 - sum(BC_EP_S)

However, for a mass outflow there is nowhere to specify BC_EP_S!

So I’m a bit perplexed. Will let you know what I find out.

It looks like you have found a bug with mass outflow boundaries.

The MFiX spec states:

Mass Outflow (MO/CG_MO) Parameters
__________________________________

**Comment on MO Volume fractions:**  

The MFiX GUI should support two possible cases:

1. All volume fractions (gas and solids) for the mass outlet are
   defined and their sum equals 1.0

2. All volume fractions are undefined.

However, if the BC is defined with either a specified mass
or volumetric flow rate, then all volume fractions must be defined.

In your case, BC #4 is a mass outflow with specified mass flow rate, so according to the above the volume fractions must be defined and sum to 1.0.

In your .mfx file:

    bc_ep_g(4) = 0.0
    bc_ep_s(4,1) = 1.0

and there is only 1 solids phase so the conditions are met.

Running the case, in addition to the fatal Error message we also get several Warnings

WARNING from check_data/check_bc_outflow.f:265
Warning 1102: BC_MASSFLOW_S(4,1) and/or BC_VOLFLOW_S(4,1) have been defined
at a mass outflow boundary. A specified solids flow rate may not be
physically achievable depending on the system and simulation
setup.
 
WARNING from check_data/check_bc_outflow.f:83
Warning 1101: BC_EP_g(4) should not be specified for outflow BCs
with DEM/PIC runs except for a mass outflow boundary with specified
flow rate(s). In this case volume fraction data is used for
conversion to velocity(s). However, the solids volume fraction data
is effectively disregarded and it is the solids velocity that is
used to direct any solids at the boundary.
 
ERROR from check_data/check_bc_outflow.f:126
Error 1103: Illegal boundary condition region:   4. Sum of volume
fractions does NOT equal ONE. (SUM = 0.0000)

The second Warning says that BC_EP_g should not be set, except for mass outflows, which this is. But it also tells is that in this case, “The solids volume fraction data is effectively disregarded.”

And then the fatal error, telling us that BC_EP_g(4) + BC_EP_S(4,1) is zero, despite the fact that we set BC_EP_S(4,1) to 1.0

Perhaps this is because of the solids volume data being “effectively disregarded”? Perhaps for this type of case, check_bc_outflow should also not check the BC_EP_* values?

Try this:
In the mfix “Editor” window find the MFiX source file check_data/check_bc_outflow.f and copy it to the project directory for editing:

Comment out (using !) the section from line 124 to 127:
shot-2023-04-28_12-16-58

(alternately, you could leave this code enabled but change the LOG_ERROR at L126 to LOG_WARNING).

Rebuild the solver and try again.

It seems that this gets us past the (possibly erroneous) data checks, and the job runs. I’m not sure if the results are correct though - maybe you can check the results and see if it’s anything like what you expect?

When I am debugging the data check, I see that BC_X_S(4,1,3) is undefined and that it the source of the error. The inert species mass fraction is used to compute the solids density at the outlet and convert mass flow rate into velocity.

We either need to expose this setting in the GUI or use the baseline value. In the meantime, you can set the keyword from the gui:

  • Go to the Advanced pane
  • Click the “+” sign above the table
  • In the search bar, type bc_x_s and make sure “Include GUI keyword” is checked at the bottom
  • Select bc_x_s from the list, Enter BC=4, Phase=1, Species=3
  • Click on the small lock icon next to the greyed “Update key”, Select OK to confirm you want to set the key value
  • Enter Value=0.2, click “Update key” and “close”
1 Like

Thanks Jeff. I was looking at the wrong key (BC_EP_S not BC_X_S).

Thank you very much for your patience in checking and replying, I will explore these settings carefully. I may have to ask you for advice later if I need it.

Thank you for the advice, it was very helpful to me. I will try it now and look forward to solving the problem soon.