PROJECT |
ABOUT US |
DOWNLOAD |
GALLERY |
LINKS |
PathFinder |
Random media |
Diffusion |
Experiments |
MATRIX (C) Wojciech Sobieski - a program destined to preparing random pore structures in two or three dimensional space in form of a matrix of zeros and ones (Fig. 1). Such matrices are characteristic for the Lattice Boltzmann Method and they are used to define the geometry of a calculating space. Zero means that the current node is available for the lattice gas (belongs to the pore part of a porous body). Inaccessible nodes are marked by one (it is a wall or obstacle). The sizes of the calculation domain (donated by nx, ny and nz) as well as the sizes of a structural element forming the solid part of the porous body (donated by sx, sy and sx) may be freely defined. The target porosity is obtained by iterative addition of a random located, single structural elements in the shape of a rectangle (in 2D) or cuboid (in 3D). Every running of the code, even with the same settings, always gives different geometry (Fig. 2). The code is written in the Fortran 90/95 language and uses the Gnuplot environment. Results are saved in VTK files and may be shown in such programs like ParaView, MayaVI or VisIT. The program is available free of charge with source code and can be used on Windows or Unix/Linux. Fig. 1 Examples of random pore structures generated by the MATRIX codePSA (Path Searching Algorithm) (C) Wojciech Sobieski - a program destined to searching free paths in the porous body in a one chosen direction. In addition to specifying the number and course of such channels (example in Fig. 3, on the left), the program also calculates the total number of path transitions by individual grid nodes (example in Fig. 3, right). In the current version, the code works only with 2D porous matrices. The code is written in the Fortran 90/95 language and uses the Gnuplot environment. Results are saved in VTK files and may be shown in such programs like ParaView, MayaVI or VisIT. The program is available free of charge with source code and can be used on Windows or Unix/Linux. Fig. 2 Schema of the Path Searching Algorithm and an example of its actingRefiner (C) Wojciech Sobieski - a program destined to increasing the quality of the numerical grid. During the refinement process the every single node is converted to a local matrix with size nr × nr (in 2D) or nr × nr × nr (in 3D), where nr is the so-called grid refinement factor. Recommended value of the refinement factor equals 4. The code is written in the Fortran 90/95 language and uses the Gnuplot environment. Results are saved in VTK files and may be shown in such programs like ParaView, MayaVI or VisIT. The program is available free of charge with source code and can be used on Windows or Unix/Linux. LBM (C) Wojciech Sobieski - a program dectined for conducting two-dimensional gas flow simulations using the Lattice Boltzmann Network Method in the D2Q9 variant (Fig. 3). The gas motion is initiated by the unit mass force defined separately for the X and Y direction. Periodic boundary conditions are implemented at the edge of the area. The program works with the use of lattice units and is not based on physical parameters. The LBM program is based on a code shared in the Internet by Mike Sukop. The code is written in the Fortran 90/95 language and uses the Gnuplot environment. Results are saved in VTK files and may be shown in such programs like ParaView, MayaVI or VisIT. The program is available free of charge with source code and can be used on Windows or Unix/Linux. Fig. 3 LBM code - an example of acting in the LIVE moderun_all (C) Wojciech Sobieski - a code destined for sequentially running of MATRIX, Refiner, PSA and LBM codes. The simulation parameters are defined in the source code of the run_all program, which must be recompiled before the running. The code is written in the Fortran 90/95 language. The program is available free of charge with source code and can be used on Windows or Unix/Linux. Licence: The conditions for using each of elements of the PathFinder project are as follows:
The possibilities to use the codes package: 1. in 2D computational space:
2. in 3D computational space:
Fig. 5 Connection between codesReferences:
|