Nodeworks

Application for Scientific Workflows

Nodeworks is a flexible graphical programming library enabling users to visually construct scientific workflows. The application allows users to connect nodes together that operate on data passed through the connections, forming a directed acyclic graph (DAG). The DAG is executed in parallel, ensuring that all dependent nodes are completed before executing the next node.

Additionally, Nodeworks allows GUI developers to interface with other standalone GUIs such as MFIX (see MFIX Nodeworks plugin guide). We encourage those interested in graphical programming to visit the developer’s section of the Nodeworks documentation to learn more about Nodeworks and its capabilities.

Nodeworks comes packaged with a collection of default nodes allowing users to quickly construct designs of experiments, dispatch models on a supercomputer, construct surrogate models including neural networks, and perform optimization, sensitivity analysis, forward propagation of uncertainty, and deterministic calibration using the constructed surrogate models.

Surrogate Modeling & Analysis

Included in Nodeworks is a collection of nodes designed to help users in the creation of surrogate models, also known as response surfaces, emulators, reduced order models (ROMs), or digital twins. Surrogate models are often employed to represent complex computational science and engineering models where direct analysis is too computationally expensive. Once a computationally cheap surrogate model is built, the model can be used for: The nodes included in the surrogate modeling and analysis toolkit include:
  • Design of Experiments – Choose sampling points of the input parameters using space filling methods.
  • Response Surface – Construct a response surface, representing the response variable over the parameter space.
  • Emulator – Evaluate the response surface at specified points.
  • General Optimizer – Find the maximum, minimum, or root of the response surface.
  • Sensitivity Analysis– Identify which input parameters the response is most influenced by.
  • Forward Propagation – Determine the aleatory and epistemic uncertainty of the surrogate model.
  • Residual Function – Combine the response surface with experimental data, evaluating an error metric over the parameter space.
  • Generic Model Creator – Automatically build text based model input files and directories.

Machine Learning

The machine learning toolkit currently consists of a single Neural Net Regressor node that mimics the Response Surface node but uses PyTorch to build and train neural networks with an intuitive user interface. Users can simply drag and drop pre-defined layers and activation functions to build the network. Training, analysis, and visualization of the response surface can also be performed.

Nodeworks

Example Applications

Cyclone Optimization

MFiX and Nodeworks can be used to optimize devices such as cyclones. This includes geometry. By setting up a simulation with parameters in MFiX, Nodeworks can reach back into MFiX and change the geometry, boundary conditions, particle properties, etc. The design of experiments node can then be used to create samples, write the required directories and files, as well as submit the simulations to a queuing system on a supercomputer like Joule. Once the simulations have been completed, a quantity of interest (QOI) can be calculated from the output. A response surface can be constructed to represent the results. This response surface can then be used by the optimization node to find the optimal design.

For more details, see:
Weber, J., Fullmer, W., Gel, A., and Musser, J., “Optimization of a cyclone Using Multiphase Flow Computational Fluid Dynamics,” J. Fluids Eng., March 2020; 142(3), https://doi.org/10.1115/1.4045952

Surrogate Modeling Approach to Uncertainty Quantification for a DEM Model of a Rotating Cubic Tumbler

Forward propagation of input uncertainty was applied to a square, granular rotating tumbler, demonstrating that a surrogate modeling approach is more computationally efficient and still accurate compared to direct propagation. Nodeworks was used to execute MFIX simulations over a 7-dimensional input space. A Gaussian process (GP) surrogate model was fit to the response. The forward propagation node was then used to compute probability boxes (P-box) describing the uncertainty in the system response. The resulting P-boxes agreed qualitatively with the direct propagation method. The surrogate modeling approached allowed for a computationally efficient approach, only requiring 345 simulations to construct the surrogate model, compared to the direct propagation method that required 1,000 simulations.

For more details, see:
Fullmer, W., Dahl, S., and Weber, J., “Surrogate Modeling Approach to Uncertainty Quantification for a DEM Model of a Rotating Cubic Tumbler,” United States: N. p., 2019. Web. https://doi.org/10.18141/1514272

Nodeworks

Validation and Optimization of Particle Separation Processes

A joint simulation and experimental team set out to test the capabilities of the Nodeworks surrogate modeling and analysis toolset with a pair of cold flow demonstration problems. Both processes involve separation of a dispersed 1:1 mixture of heavy aluminum and light nylon beads. The first validation exercise considered a purely batch separation process in which the particles were initially well mixed in a simple square bed with uniform fluidization. The second validation exercise considered a quasi-continuous device which contained an additional gas source in the L-valve. With both exercises, the simulation results are in qualitative agreement with the experiments and the identified optimal operating condition identified via simulation performed quite well in the real world. However, measurements derived from high-speed video imaging of the quasi-continuous device showed quantitative disagreement between simulation and experiment, especially far from the optimum. These findings underscore the importance of proper modeling in CFD based optimization. After all, a surrogate model and the results derived from it are only as good as the underlying data supporting it.

For more details, see:
Li, T., VanEssendelft, D., Weber, J., Gopalan, B., Breault, G., Tucker, J., and Rogers, W., “Validation and optimization of batch and continuous particle separation processes,” United States: N. p., 2018. Web. https://doi.org/10.2172/1479652

Nodeworks