Using the MFiX GUI without Conda

Hi all, does anyone have recommendations for using the MFiX GUI without Conda?

Hi @oyedejifemi

My first question is, why do you need to do this? Is there a problem with the Conda installation?

If you really need to install without Conda you can install from a source tarball with pip but this is not actively supported and will not work without a few extra steps. I can guide you through this if needed.

Are you running on Windows or Linux?

@cgw I am currently unable to install the free version of Conda due to Conda’s recent enterprise policy affecting organizations with a large number of users. At this time, the paid version does not seem practical for my needs, as I only require access to the GUI on a limited basis.

I would greatly appreciate your guidance on installing via pip.

We switched from the main Anaconda installer to the open-source Miniforge for exactly this reason. Also, it’s a smaller download, and typically has more up-to-date packages. It’s a community-maintained package repo separate from the commercial Anaconda.

Miniforge has very permissive licensing with no restrictions on use by large organizations.

Please review the MFiX installation instructions and the Miniforge license at GitHub - conda-forge/miniforge: A conda-forge distribution.

Thank you, @cgw … You are correct, miniforge should work. But, I think the way my organization has implemented anaconda blockage has made it such that I cannot access conda channels from miniforge.

Oh, that’s annoying. You should try to get them to reconsider this policy.

Here’s how you can install with pip. You didn’t tell me whether you are on Linux or Windows so I’ll try to cover both cases. You may need to change some things depending on platform (/ vs \ etc)

  1. From the mfix-archive site download mfix-25.3.tar.gz
  1. Create a virtual environment:
    For this example we’ll call it mfix-venv
    $ python -m venv mfix-venv

(you may need to replace python with python3)

  1. Activate the venv. On Linux, source mfix-venv/bin/activate , on Windows,
    mfix-venv\Scripts\activate The prompt should change to indicate that the
    venv is active

  2. Install the tarball with pip
    python -m pip install mfix-25.3.tar.gz

  3. The generated mfix executable (bin/mfix or Scripts/mfix.exe) will not run due to a few issues, which we fix by hand. Firstly, the pip installation does not put the mfix source where it is expected, so if you try running you get a message Cannot locate mfix source
    To fix this:
    cd mfix-venv/share #(backslash on Windows)
    tar xfz ../../mfix-25.3.tar.gz #(or wherever the downloaded tar file is)
    mv mfix-25.3 mfix

    Next, the pip installation does not install the needed cantera module so install it manually:
    python -m pip install cantera

  4. The mfix command in bin or Scripts will not work. To launch you will need to use the run.sh or run.bat scripts found in mfix-venv/share/mfixgui

This might get you a working installation. Note that this installation method is completely unsupported and we only have limited resources for user support, which is why we encourage the Miniforge installation.

Good luck and let me know if this works for you!

– Charles

Thanks, @cgw I followed your instruction, and it worked!

I should note that in step 6 the target script should be:

mfix-venv/share/mfix/mfixgui/run.bat

1 Like

Glad it worked and thanks for the correction!

1 Like

@cgw Thanks for the help. I spoke too soon, though. I was able to load and run the GUI but could not access the MFiX solvers and mesher. I will play with it some more and keep you posted.

Right, the Conda package comes with pre-built solvers which you won’t get if you install from source. So you’ll have to build the solver. You never answered my question about Linux or Windows, but since you referenced run.bat I assume you are on Windows. So to build the solver you will need GFortran, CMake, etc, which we get from Conda. It would be best if you could explain to your organization that they are making a mistake by blocking Miniforge - there is no reason to do so from point of licensing, and it is blocking you from getting work done.

If you can’t access Miniforge you’ll have to get a compliler on there some other way - I suggest https://www.msys2.org/ msys2 - the Conda compiler packages are in fact a repackaging of msys2. So installing this package may work. However, we can only provide limited support for this so you’re somewhat on your own if you go down this path. Good luck!

Apparently also Miniconda follows the Anaconda license structure. I have the same issue on my workplace. Miniconda will use the same repos/servers as Anaconda, which is why it is still blocked for @oyedejifemi.

From https://www.anaconda.com/legal:

This is confusing, but Miniconda is not the same thing as Miniforge

Miniconda is produced by Anaconda Inc while Miniforge is a community-driven effort which is not subject to Anaconda’s license terms.

Wow, sorry for adding to the confusion! I must say I have actually used the Miniforge install myself. But I have also experienced connection problems when installing MFiX at work, where I believe Anaconda servers specifically have been blocked.

In my opinion, the blanket ban on the Anaconda servers is misguided and counterproductive. But there’s really nothing I can do about it except to urge you to complain to the folks who are implementing it. Miniforge is hosted on resources donated by Ananconda Inc so there’s no way to untangle the two based on IP address :frowning:

2 Likes

Thanks, Charles. I agree that miniforge restrictions are counterproductive. I am trying to talk to the appropriate persons in my institution to work out a solution. I see now that it is probably the better option.