-
Notifications
You must be signed in to change notification settings - Fork 29
Home
Welcome to the FLUSI/MHD wiki!
FLUSI
discreet and discrete
The first thing to do is to install the code and its dependencies. Please follow the install guide. For M2P2 users, we have also cluster specific how-to's. https://github.com/pseudospectators/FLUSI/wiki/FLUSI-general-install-guide
FLUSI/MHD offer unit tests, e.g a collection of predefined parameter files with known output values. After installing and compiling the code, you can go into the test/ folder and excecute ./unittest.sh. This script calls individual unit-testing scripts, and tells you if everything seems to be okay. The output messages are dumped in *.log files. You need to be able to excecute the compiled binary file locally, which might be kind of tricky on some supercomputers (IDRIS/turing for example)
Now that you know you properly installed FLUSI/MHD, you can run a simulation. In general, you need the excecutable binary file and a suitable parameter file. The latter contains run-time parameters, such as the resolution, the domain size or what geometry you want to set. Note the distinction between MHD and FSI is made by choosing the appropriate executable (./mhd or ./flusi) FLUSI/MHD are MPI programs, normally run via commands like
mpirun -n 12 ./mhd params.ini
mpirun -n 12 ./flusi PARAMS_insect.ini
but they can also run in serial (monoprocessor).
The parameters for the run are specified in the params file, examples of which are available in the extra_files branch. Two complete parameter files, PARAMS_test_fsi.ini and PARAMS_test_mhd.ini are also in the master branch.
The code will produce three sorts of output:
- The messages printed on the screen about it's current state
- The fields data (e.g. the velocity vectors for all latice points) in *.h5 files. Please note the file naming convention is very important. These *.h5 files can be visualized with paraview (free open source software), see next section
- Time series of some quantities (e.g. lift/drag force, kinetic energy, time step size...) are stored in *.t files, which are ordinary ascii text files
You can run flusi also in postprocessing mode, with a variety of tools available, e.g.
./flusi --postprocess --vorticity ux_000.h5 uy_000.h5 uz_000.h5 --second-order
the first argument can be -p
or --postprocess
, or -h
resp. --help
. The -h
mode shows some help about the selected module. Just running ./flusi -h
shows different options, then you can see details e.g. with ./flusi -h --vorticity
3D visualization is done by using mpi2vis, which converts the metadata associated with the HDF output into a format which can be used by Paraview. Output of the *.t files is done with either MatLab or the included Asymptote scripts, which are available in the postscripts branch.
can be found here: https://github.com/pseudospectators/FLUSI/wiki/Cluster-specific-settings-for-flusi
Options for debugging, optimization and so on for ifort
and gfortran
are collected here: https://github.com/pseudospectators/FLUSI/wiki/Compiler-Options
Two-dimensional validation cases include:
- Taylor-Green vortices
- Couette flow between rotating cylinders
- Flow past a circular cylinder
Download link: https://drive.google.com/file/d/0B4Bm4KeLodhUMEVLNnl0MTM5RTg/view?usp=sharing