MFIX_TIM_squeeze_package
MFIX code for DEM simulation of TIM squeezing with associated user-defined functions
Please download MFIX v18.1.5 source code from https://mfix.netl.doe.gov/mfix/ (registration required)
This repository contains MFIX input file and user-defined functions (UDFs) for simulating squeezing of TIMs.In addition, compile instructions are provided below
Main inputs
Main input file -- mfix.dat
The main input file contains DEM simulation parameters
Additional inputs
Additional inputs -- particle_input.dat and part_diameter.txt
These input files store the particle locations (first three columns of particle_input.dat) and particle diameters (part_diameter.txt). In addition, the second, third, and fourth-sixth columns of particle_input.dat file represent particle radius, density and their initial velocity. The radius value in this file must be constant and is just a placeholder for the squeeze simulations. For instance, in the attached file, the radius is 50 micron.
Other files needed
UDFs and job submission file (job_submit.sh) to schedule the simulation job on a compute cluster. The job submission file is provided as a template. In line 3 of that file, queue name must be provided.
Compile instructions
First make a folder with a suitable name and copy these files: (a) mfix.dat, (b) particle_input.dat, (c) part_diameter.txt, (d) job_submit.sub Then, make a folder with name "des" and copy the two UDFs there. Then, compile and submit the simulation job
-
Load relevant modules
Command: source ~/loadmodules.sh -
After loading modules, run the "cmake" and "make" commands
<path to mfix v18.1.5> is the path to MFIX source code 18.1.5 on your machine
Note the "&&" in the following line, it will run "cmake" and "make" in succession. Otherwise, you can type it independently
Command: cmake <path to mfix v18.1.5> -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_Fortran_FLAGS="-g -O2" -DENABLE_OpenMP=0 -DENABLE_MPI=0 && make -j 2 -
Submit job file on the compute cluster
If your compute cluster uses the SLURM scheduler, "sbatch" is the command for submitting the job file. Otherwise, discuss with IT personnel
Command: sbatch job_submit.sh -
Run simulation without submitting job file
In step 3 above, the job submission file requests resources on a SLRUM workload manager instead of executing the simulation immediately. However, if you wish to run the simulation on a dedicated computer, then the simulation can be executed using the command "./mfixsolver &> output_mfix".
Here, "./mfixsolver" runs the executable "mfixsolver", which will appear after successfully compiling (step 2)
"&> output_mfix" will show the simulation output in the file output_mfix. If you do not specify this, then the outputs are printed on the display
Verification simulation
To verify a smooth execution of the TIM squeeze simulation, please follow the above instructions and execute a simulation without modifying anything in the input files