颗粒组成多孔介质之后,将其体素化为图像,体素化方法见([2110.14151] Voxelization based packing analysis for discrete element simulations of non-spherical particles (arxiv.org))。之后即可分析其流动特性。在模拟方面,可以使用CFD方法,分析其流场,使用孔隙网络模型、LBM分析渗透率及相渗。其中,LBM方法能够精确计算相渗。因此,本文介绍了开源软件MPLBM-UT的使用教程。
1. 安装
(1)安装Ubuntu系统,我这里用到的是Ubuntu20.04.6;
(3)安装依赖
- gcc 7.X, gcc 9.4.0
# 安装 GCC 7.X
sudo apt install gcc-7 g++-7
# 安装 GCC 9.4.0
sudo apt install gcc-9 g++-9
- OpenMPI 2.1.1, MPICH2
安装OpenMPI 2.1.1
wget https://download.open-mpi.org/release/open-mpi/v2.1/openmpi-2.1.1.tar.gz
tar -xvzf openmpi-2.1.1.tar.gz
cd openmpi-2.1.1
./configure --prefix=/usr/local/openmpi-2.1.1
make -j$(nproc)
sudo make install
export PATH=/usr/local/openmpi-2.1.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openmpi-2.1.1/lib:$LD_LIBRARY_PATH
source ~/.bashrc
安装MPICH2
wget https://www.mpich.org/static/downloads/1.5/mpich2-1.5.tar.gz
tar -xvzf mpich2-1.5.tar.gz
cd mpich2-1.5
./configure --prefix=/usr/local/mpich2
make -j$(nproc)
sudo make install
export PATH=/usr/local/mpich2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/mpich2/lib:$LD_LIBRARY_PATH
source ~/.bashrc
- Python依赖: PoreSpy, Numpy, PyYAML, Vedo, PyVista, Matplotlib, and Scikit-Image.
pip install porespy numpy pyyaml vedo pyvista matplotlib scikit-image
(4)编译
cd 到MPLBM-UT主文件,将Install.sh改成可执行的
chmod +x Install.sh
随后执行Install.sh
./Install
安装完毕。
2. 使用示例
原理:使用input.yml作为输入文件,.py作为流程控制主程序,生成LBM软件的输入程序input.xml,随后执行ShanChen或者其他可执行程序计算。详情见Lattice Boltzmann simulation of multiphase flow in porous media using Palabos [On Demand 13] (youtube.com)