1. Structure of folders and content of case config files
In /Data
folder there are prepared several examples of data cases.
Each case folder contains the required subfolders: /geometry
, /output
, /params
.
In the geometry
folder you can find files defining computational domain: geometry.stl
and sometimes geometry1.stl
etc.
The first file is obligatory, the next files are optional. MF automatically processes all sequentially numbered geometry files, extracting their geometries from the geometry.stl
. Geometry file(s) accompanied .csv files comprising of points coordinates for boundary MFThreads. MFThreads are sets of points that have the same specific properties assigned.
/params
subfolder contains two files: /case_params.cfg
and /thread_params.cfg
. The first one collects parameters specific for the solved case that specification is obligatory (which is controlled). The second file contains definitions of MFThreads and its structure is more elastic - specified parameters may be different for miscellaneous uid-Thread(s) (usually they are specific for different boundary conditions) and its content is not controlled, so if you miss some important parameters it may cause unexpected problems.
To the /output
subfolder, MF writes results of simulation at the beginning and at the end of the simulation, and also if defined, after every specified number of time steps.
In /Config
folder, there is Microflow.cfg
file that collects default program paths.
In /external
folder you can find third-party programs/libraries that are required.
In /source
folder, there are subfolders in which are placed headers and .cpp source files.
2. Case examples
- Case_MEDIUM_straight_square_channel
It is the simplest example of medium size (about 1-2 GB memory needed) of a long straight channel with a square cross-section with applied inlet Dirichlet velocity and outlet Neuman pressure boundary conditions. - Case_SMALL_velocity_square_channel_with_obstacle
It is a small scale example (less than 1 GB memory needed) of a short straight channel with a square cross-section with a cuboid obstacle placed in the middle of the channel. Also, Dirichlet velocity and Neumann pressure conditions are applied at the ends of the channel. - Case_SMALL_periodic_channel_with_obstacle
The same as (b), but periodic boundary conditions are applied on both ends of the channel. - Case_SMALL_pressure_square_channel_with_obstacle
The same as (b), but pressure boundary conditions are applied on both ends of the channel. - Case_BIG_straight_square_channel_with_obstacle
The same as (b), but voxel size is smaller, so this case needs about 25 GB of memory. - Case_MEDIUM_pipe_cross
It is an example of a cross-section of three circular channels with two inlets (Dirichlet velocity) and four outlets (Neumann pressure). - Shuttle_BIG
It is an example of real complicated geometry placed in a virtual wind tunnel. You need about 15 GB of memory to solve the problem. - Astronaut_BIG
Astronaut model in a virtual wind tunnel - stl model from NASA (htps://nasa3d.arc.nasa.gov). You need about 25 GB of memory to solve the problem. - Rafale_BIG
Dassault Rafale model in a virtual wind tunnel. You need about 30 GB of memory to solve the problem. - - l. Case_SMALL_T_junction_ <velocity/pressure/force>
They are small cases of T junction of two channels with different boundary conditions applied.
3. How to run examples?
After code compilation simply go to the program main directory and run ./Microflow
This should start calculations for the default example defined in Microflow.cfg
file: CaseFolder = "/Data/Case_straight_square_channel"; # Path to the case directory.
You can change the default path to the case folder or transfer it trough program parameters at runtime: ./Microflow -cf Data/Case_straight_square_channel
4. Microflow command line parameters: Microflow <options>
The <options> can be:
-cf Path to the case folder
-f Path to Microflow configuration file
-h Print this usage statement
-g Only geometry build and voxelize it
-j Number of CPU threads to be allocated
-s Scope in config file to be used
-v Verbose