Install Guide

Register

Nodeworks is an open-source multiphase flow solver and is free to download and use. A one-time no-cost registration is required prior to downloading the software. To register, go to https://mfix.netl.doe.gov/register and submit your account information. Your application will be manually been reviewed and accepted, so please allow for 2-3 business days for your registration to be processed. You will receive a confirmation email when you can login.

OS Support

Nodeworks is a pure python library. As a result, all operating systems that python and the dependencies can be installed on will run nodeworks.

Installation

There are two methods for installing Nodeworks: 1. Use conda, which will install the required dependencies; or 2. Use poetry, which will create a virtual environment; or 2. From source, which will require you to manually install the dependencies

Note

If you are install Nodeworks as a plugin to MFiX, please see the MFiX-plugin specific documentation.

Conda install

The easiest and recommended way to install nodeworks and the dependencies is through the Anaconda Distribution. Download and install Miniconda or Anaconda.

Once Miniconda or Anaconda are installed:

  • Browse to the Nodeworks Download Page

  • Copy the conda install command. The conda command will look similar to this, but with your own individual username and hexadecimal token (please do not share these unique tokens):

    conda install nodeworks -c mfix -c https://mfix.netl.doe.gov/s3/HEX/HEX/conda/dist
    
  • Paste the conda install command into your Linux or Mac terminal, or into your Anaconda Prompt on Windows and Execute the install command.

Note

On Windows, to open the Anaconda Prompt, go to the start menu and search For Anaconda Prompt. The Anaconda Prompt sets up the correct environment, adding conda and other commands.

The installation will download other dependencies and Nodeworks. The process will take a few minutes to complete. Once completed, the application can be started by entering the following command into your Linux or Mac terminal, or into your Anaconda Prompt on Windows:

nodeworks

Note

On Windows, a desktop icon might be created, depending on user permissions.

Using Poetry

Poetry is a tool for managing dependencies. To use poetry, first install poetry if you do not already have it. Then follow the following steps:

  • Browse to the Nodeworks Download Page

  • Download the tarball, extract, and go into the top level source directory:

    tar xf nodeworks-*.tar.gz
    cd nodeworks
    
  • install nodeworks with:

    poetry install
    
  • Run Nodeworks with:

    poetry run nodeworks
    

From source

If you already have a python environment setup without using Miniconda or Anaconda, nodeworks can be installed from source:

  • Browse to the Nodeworks Download Page

  • Download the tarball, extract, and go into the top level source directory:

    tar xf nodeworks-*.tar.gz
    cd nodeworks
    
  • install nodeworks with:

    python setup.py install
    

Please see the dependencies listed below. Once completed and the dependencies are met, the application can be started by using the following command:

nodeworks

Note

To build the local documentation, the following libraries are required: - sphinx - sphinx_rtd_theme

Required Dependencies

If the conda install command was used as recommended above, these dependencies have already been satisfied. If you installed from source or are missing nodes, the following libraries are required:

  • A Qt wrapper: PyQt4, PyQt5, or PySide

  • qtpy

qtpy can easily be installed via:

pip install qtpy

These requirements can be easily met by using Anaconda.

Node Dependencies

Nodes can have other dependencies, based on their functionality. These dependencies are soft, meaning that they will not prevent nodeworks from, loading. They will only prevent nodes that depend on these dependencies from loading.

If using Miniconda or Anaconda, these dependencies can be easily installed with the following conda command:

conda install <dependency>

Surrogate modeling and analysis toolset

Note

If you installed Nodeworks using the conda command (i.e. not from source), these dependencies have already been installed. You may skip this section.

For the Surrogate modeling and analysis toolset, the following libraries are required:

  • numpy

  • matplotlib

  • scikit-learn

  • scipy

  • SALib

  • py-earth

most of the libraries are in conda and can easily be installed with:

conda install numpy matplotlib scikit-learn scipy

py-earth is an add-on to scikit-learn, providing the MARS response surface model. It can be installed with conda:

conda install -c conda-forge sklearn-contrib-py-earth

salib is used to perform sensitivity analysis. It can also be installed with conda:

conda install -c conda-forge salib

image processing

For image processing nodes, these libraries are used:

  • opencv

  • scikit-image

  • imageio

  • numpy

  • scipy

and can easily be installed with conda:

conda install opencv scikit-image imageio numpy scipy

wavelets

For wavelet analysis, the following library is used:

  • pywavelets

and can easily be installed with conda:

conda install pywavelets

Update

To update nodeworks, follow the above install instructions

Uninstall

If installed with conda, uninstall by running the following command:

conda uninstall nodeworks

If installed from source, uninstall by running:

pip uninstall nodeworks