MFiX 22.4.1 is available for download

MFiX 22.4.1 is available for download. This is a bugfix release for the 22.4 series.
Bugs fixed include:

  • Colormap error messages
  • Monitor setup issue
  • Error building custom solver on MacOS
  • Particle_input.dat now works with superquadric particles

Users are advised to update, especially if affected by the above issues.

– Charles

1 Like

Hi @cgw,

I downloaded version 22.4.1. Thank you very much for updating the bug issues.
Also, I was wondering if you provide your invaluable insights in following. I am trying to run simulation in carya cluster. For this I am trying first to run in my local computer (terminal ) and then cluster. I followed the following steps:

  1. I build custom solver following the link 5.3. Build from Source (for Developers) — MFiX 20.3.1 documentation
  2. Then, I tried to run the solver following ‘6.1.2.’ from ‘6.1. Default Interactive Solver — MFiX 20.3.1 documentation’ for silane_pyrolysis_tfm_2d.mfx.
    But when I ran ‘mfixsolver -f silane_pyrolysis_tfm_2d.mfx’. It gave ‘zsh: command not found: mfixsolver’*
    I would be grateful if you could help me understand it.
    Thank you very much.

Sincerely,
Bimal Chhushyabaga

Try
./mfixsolver -f silane_pyrolosis_tfm_2d.mfx
from the commandline

or run the solver from the GUI

Hi @cgw,
Thank you very much for your suggestion. I am trying to learn to run MFiX to run from command line so that running it in cluster becomes easier.
As per your suggestion, I tried running ‘./mfixsolver -f silane_pyrolosis_tfm_2d.mfx’ and I got the following output.

optimusprime@Alenas-iMac silane_pyrolysis_2d % /mfixsolver -f silane_pyrolosis_tfm_2d.mfx


From: mfix.f

Error 1000: Input data file does not exist: silane_pyrolosis_tfm_2d.mfx

Aborting.


*** The MPI_Comm_f2c() function was called before MPI_INIT was invoked.

*** This is disallowed by the MPI standard.

*** Your MPI job will now abort.

[Alenas-iMac.local:71095] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed!
optimusprime@Alenas-iMac silane_pyrolysis_2d %.

What are the files in your project directory?

optimusprime@Alenas-iMac silane_pyrolysis_2d % ls
CMakeCache.txt silane_pyrolysis_tfm_2d.mfx usr_mod.f
CMakeFiles silane_pyrolysis_tfm_2d.mfx.cpgz usr_rates.f
SILANE_PYROLYSIS_TFM_2D.LOG usr0.f usrnlst.inc
mfixsolver usr1.f
release-build usr_init_namelist.f

The filename is misspelled in the command. “Pyrolysis” not “Pyrolosis”. You should try enabling tab completion in your shell.

Hi @cgw,
Sorry for my mistake with the name. I ran it with correcting the name and I got the following.

optimusprime@Alenas-iMac silane_pyrolysis_2d % ./mfixsolver -f silane_pyrolysis_tfm_2d.mfx
From: UNKNOWN_KEYWORD
Error 2000: Unable to process line 874 of the project file.
A1F = 1.0800E+13
Possible causes are

  • Incorrect or illegal keyword format
  • Unknown or mistyped name
  • The dimensioned item is too small (array overflow).
    Please see the user documentation for this keyword.

Fatal error reported on one or more processes. The .LOG file
may contain additional information about the failure.


MPI Terminated.

Program Terminated.

ERROR STOP 1

Error termination. Backtrace:
#0 0x15125486e
#1 0x151255555
#2 0x15125694e
#3 0x104958fb3
#4 0x10485077d
#5 0x1049f1922
#6 0x1049f2458
#7 0x104982911
#8 0x104984679
#9 0x104984e4f
#10 0x104ad0c02
optimusprime@Alenas-iMac silane_pyrolysis_2d %

This ‘Unknown keyword’ error results from using the default (pre-built) mfixsolver to run a case with extra keywords defined in UDFs (user-defined functions, i.e. Fortran files in the project directory)

mfix-22.4.1:) pwd
/tmp/silane_pyrolysis_2d

mfix-22.4.1:) grep -i a1f silane_pyrolysis_tfm_2d.mfx *.f
silane_pyrolysis_tfm_2d.mfx:  a1f     = 1.0800e+13
usr_init_namelist.f:A1F = UNDEFINED
usr_mod.f:   DOUBLE PRECISION :: A1F, A1R, A2F, A2R
usr_rates.f:      FWD = A1F * exp(-2.56d4/xTg) * EP_g(IJK) * c_SiH4

The solver must be rebuilt (custom solver) to be able to handle these additional keywords, or else you will see the ‘Unknown keyword’ error.

I just tried this with the 22.4.1 release on a Mac (I see you are on a Mac) and it works fine whether I build the interactive solver:

mfix-22.4.1:) build_mfixsolver -j

or the batch solver:

mfix-22.4.1:) build_mfixsolver --batch -j

Either way results in a mfixsolver that is able to handle silane_pyrolysis_tfm_2d.mfx without resulting in an Unknown keyword error.

Note, if the cluster you are going to run this on is not a Mac cluster you will have to log in to the cluster and build the solver there! You may need to get some help from local experts.

Hi @cgw,

Thank you very much. I can now run MFiX from command line with help your information and guidance from my supervisor.

My ultimate aim is to run models in the carya cluster (building, running and visualizing). So, I am now trying develop DEM models without using GUI with terminal. Could you please guide me to learn about .stl, .mfx, .f, etc? or Could you suggest me some book or literature?

Sincerely,
Bimal Chhushyabaga

Perhaps your supervisor has some literature recommendations. We have somewhat limited resources for user support at this time.

Here are a few quick answers:

.stl is a standard file format used for 3D models. It is a very simple format. Here’s a nice explanation on the Adobe web site:
STL files explained

.mfx files are only used by MFiX. They contain the MFiX keywords. The GUI makes it so that you generally don’t have to compose this file yourself. The reference for mfx files is the reference for MFiX itself: Keyword reference

.f files are Fortran source code. If you have no experience with Fortran, I recoomend the book " Modern Fortran - but there are numerous other books on the topic.

If you have further questions, please create a new topic with an appropriate title, rather than tacking on to release announcements etc.

– Charles

Perhaps you should try installing the full MFiX package (including GUI) on the cluster, using mambaforge or conda as the starting point

Mambaforge is the smallest download and quickest installation: GitHub - conda-forge/miniforge: A conda-forge distribution.

Download the Mambaforge-Linux-x86_64 installer and run it on the cluster. Then install MFiX there.

You may need to use vglrun to get remote visualization working.

I’m closing this topic now (this is off-topic for a release announcement), let’s move this to a new thread if you have more questions.

– Charles

Thank you for the excellent work. I want to make a suggestion that could the new version add the monitoring function of chemical reaction heat. I’m looking forward to this function. Although I tried to change the code to implement this function before, I always felt that the value monitored was incorrect.