| File | Description |
|---|---|
| benchmarks | UC Benchmark cases (see benchmark/README.md) |
| src | Source files |
| tests | Regression tests (see tests/README.md) |
| ThirdParty | External libraries sources |
| Tools | CMake configuration files |
Refer to the MFiX-Exa user guide for instructions on how to build MFiX-Exa.
MFIX-Exa comes with several tests aimed at evaluating software functionalities.
The source files as well as the required input files for each test are located in
the tests directory. The tests directory is copied to the build directory
during MFIX-Exa configuration process. When a test is run (see below), output
files are stored in build_dir/tests/test-name.
There are various dependencies for comparing test results.
o To compare results to archived flow slices stored in AUTOTEST
directories with the case files, the environment variable FEXTRACT
must point to the location of the AMReX fextract utility located
in the directory, amrex/Tools/PostProcessing/F_Src. Additionally,
numdiff must be installed for comparing results.
> cd [mfix-build-dir]
> ctest> cd [mfix-build-dir]
> ctest -N> cd [mfix-build-dir]
> ctest -I 3,3 # run the third test> cd [mfix-build-dir]
> ctest -R DEM01 # running all tests with "DEM01" in the test name> cd [mfix-build-dir]
> make run_DEM01-x # running "DEM01-x" and output to the screenIf the environment variable GRID is defined, it specifies which grid types to run for the test(s). If GRID variable is not defined, the default is to run the tests for all grid types.
env GRID="tiled" ctest -R DEM01 # running all tests with "DEM01" for tiled grid env GRID="single multiple" ctest -R DEM01 # running all tests with "DEM01" for single grid and multiple grid ctest -R DEM01 # running all tests with "DEM01" for all grid types (single, multiple, tiled)
> ./mfix inputs-myruninputs-myrun is a text file containing the AMReX input parameters; this can be named anything as long as it is the first argument following the executable. Note that many of the problem parameters are still defined in mfix.dat.
To build the User's Guide,
> cd doc/UsersGuide
> makeThis will build a PDF of the MFIX-Exa User's Guide, which contains information about the equations being solved, run-time parameters, checkpoint/restart capability, options for visualization and more.
Developers are encouraged to create local benchmark data for regression testing prior to committing code the GitLab repository.
- Create a location to store benchmark data and clone the MFIX and AMReX repositories.
mkdir /home/user/exa-rt
mkdir /home/user/exa-rt/benchmark
cd /home/user/exa-rt
git clone http://mfix.netl.doe.gov/gitlab/exa/mfix.git
git clone https://github.com/AMReX-Codes/amrex.git
git clone https://github.com/AMReX-Codes/regression_testing.git- Create a local copy the regression test setup file from the MFIX repository.
cp mfix/tools/MFIX-tests.ini MFIX-local.ini- Edit the local setup file.
Specify the top level directories for test and web output
under the
[main]heading.
[main]
testTopDir = /home/user/exa-rt/benchmark
webTopDir = /home/user/exa-rt/webSpecify the AMReX source directory location under the [AMReX] heading.
[AMReX]
dir = /home/user/exa-rt/amrex
branch = development
cmakeSetupOpts = -DAMReX_MPI=ON -DAMReX_OMP=ON -DAMReX_PARTICLES=ON -DAMReX_EB=ON -DAMReX_PLOTFILE_TOOLS=ONSpecify the MFIX-Exa source directory location under the [source] heading.
[source]
dir = /home/user/exa-rt/mfix
branch = develop
cmakeSetupOpts = -DAMReX_ROOT=/home/user/exa-rt/amrex/installdir- Run the AMReX regression test tool. The second argument is a user supplied comment.
cd /home/user/exa-rt
regression_testing/regtest.py --make_benchmarks "MFIX" MFIX-local.iniFor the Joule environment, load the gnu module and set environment variables first. If not on Joule, skip this step.
> module load gnu/6.1.0
> export CC=/nfs/apps/Compilers/GNU/6.1.0/bin/gcc
> export CXX=/nfs/apps/Compilers/GNU/6.1.0/bin/g++
> export F77=/nfs/apps/Compilers/GNU/6.1.0/bin/gfortran
> export FC=/nfs/apps/Compilers/GNU/6.1.0/bin/gfortranNeither the United States Government nor any agency thereof, nor any of their employees, makes any warranty, expressed or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed or represents that its use would not infringe privately owned rights.
-
MFIX is provided without any user support for applications in the user's immediate organization. It should not be redistributed in whole or in part.
-
The use of MFIX is to be acknowledged in any published paper based on computations using this software by citing the MFIX theory manual. Some of the submodels are being developed by researchers outside of NETL. The use of such submodels is to be acknowledged by citing the appropriate papers of the developers of the submodels.
-
The authors would appreciate receiving any reports of bugs or other difficulties with the software, enhancements to the software, and accounts of practical applications of this software.
This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.