Skip to content

用于具有表面张力的不可压缩多相流的有限体积求解器。复杂几何形状的泡沫流动。

License

Notifications You must be signed in to change notification settings

yuanxiaoming8899/aphros

 
 

Repository files navigation

阿弗罗斯

用于具有表面张力的不可压缩多相流的有限体积求解器。

主要特征:

  • C++14 中的实现
  • 可扩展至数千个计算节点
  • 基于 SIMPLE 或 Bell-Colella-Glaz 方法的流体求解器
  • 具有 PLIC 流体体积的平流
  • 用于在低分辨率下精确估计曲率的粒子方法 [演示] [4]
  • 用于可扩展合并预防的多 VOF [演示] [8] [11]
画廊维基 曲率 多VOF 电化学 解析器

文档

doc/sphinx生成的在线文档PDF

默认参数列在deploy/scripts/sim_base.conf中。

要求

C++14、CMake

可选依赖项:MPI、并行 HDF5、python3、python3-numpy

捆绑的可选依赖项: hypreOverlapfpzip

克隆和构建

git clone https://github.com/cselab/aphros.git

首先,按照deploy/README.md准备环境并安装依赖。然后构建

cd src
make

代码海洋

Code Ocean平台托管以下计算胶囊

它在 Linux 环境中构建 Aphros,运行一组示例,并将结果可视化。

码头工人

您可以构建 Docker 容器并运行模拟示例,而不是在系统中构建代码

docker build github.com/cselab/aphros --tag aphros
cd examples/202_coalescence/standalone
./conf
docker run -v `pwd`:`pwd` -w `pwd` aphros

无需 CMake 的最小构建

在类 Unix 系统上进行无依赖性构建和测试(APHROS_PREFIX是安装目录,带有USE_MPI=1USE_HDF=1USE_OPENCL=1USE_AVX=1使用 MPI、并行 HDF5 库、OpenCL 和 AVX 扩展进行构建):

cd src
../make/bootstrap
make -f Makefile_legacy install APHROS_PREFIX=$HOME/.local USE_MPI=0 USE_HDF=0 USE_OPENCL=0 USE_AVX=0

在 Windows 上使用 Microsoft C++ 工具集(NMAKE、LINK 和 CL):

cd src
../make/bootstrap # Requires sh and awk.
nmake /f NMakefile

视频

使用ParaViewOSPRay可视化的模拟示例 。链接[conf]指向解算器配置。

气泡合并[conf] [4] 带气泡的泰勒-格林涡旋[2] [5]
气泡跳跃[1] 电化学反应器[conf] [9]
气泡被涡环困住[5] 俯冲喷射[2]
气泡聚集[conf] [6] [7] [11] 泡沫瀑布[会议] [8] [11]
双分散泡沫[conf] [11] 微流控晶体[conf] [11]
泰勒-格林涡旋中的 LAMMPS 聚合物[conf] 气泡管优化[10]
气泡穿过网格
2019 年 APS 流体运动画廊获奖者
破浪:发泡还是不发泡?[6]
CSCS的 Jean M. Favre 合作。

开发商

Aphros 由苏黎世联邦理工学院哈佛大学的研究人员开发

由建议

其他贡献者有: Fabian Wermelinger(Cubism 后端)

刊物

  1. Hashemi SMH、Karnakov P、Hadikhani P、Chinello E、Litvinov S、Moser C、Koumoutsakos P、Psaltis D。用于电解水和盐水的多功能无膜电化学反应器。 能源与环境科学。 2019 10.1039/C9EE00219G
  2. Karnakov P、Wermelinger F、Chatzimanolakis M、Litvinov S、Koumoutsakos P。结构化网格上多相湍流的高性能计算框架。 高级科学计算平台会议记录 – PASC '19。 2019 10.1145/3324989.3325727 [pdf]
  3. Karnakov P、Litvinov S、Koumoutsakos P。气泡和液滴的聚结和传输。 第十届国际多相流会议(ICMF)。 2019年 [pdf]
  4. Karnakov P、Litvinov S 和 Koumoutsakos P。一种用于多相流曲率估计的混合粒子流体体积方法。 国际多相流杂志。 2020 10.1016/j.ijmultiphaseflow.2020.103209 arXiv:1906.00314
  5. Wan Z、Karnakov P、Koumoutsakos P、Sapsis T。湍流中的气泡:具有历史术语的数据驱动的运动学模型。 国际多相流杂志。 2020 10.1016/j.ijmultiphaseflow.2020.103286 arXiv:1910.02068
  6. Karnakov P、Litvinov S、Favre JM、Koumoutsakos P. V0018:破浪:泡沫还是不泡沫? 流体运动奖视频文章画廊
  7. 瑞士国家超级计算中心 2019 年年度报告(封面) [链接]
  8. Karnakov P、Wermelinger F、Litvinov S、Koumoutsakos P. Aphros:用于具有大规模气泡和液滴簇的多相流的高性能软件。 高级科学计算平台会议记录 – PASC '20。 2020 10.1145/3394277.3401856 [pdf]
  9. Karnakov P. 用于跨尺度多相流的多层流体体积方法:碎波、微流体和无膜电解槽。博士论文。苏黎世联邦理工学院。 2021 10.3929/ethz-b-000547518
  10. Martin SM、Wälchli D、Arampatzis G、Economides AE、Karnakov P、Koumoutsakos P. Korali:用于贝叶斯不确定性量化和随机优化的高效且可扩展的软件框架。 应用力学和工程中的计算机方法。 2021 10.1016/j.cma.2021.114264
  11. Karnakov P、Litvinov S、Koumoutsakos P。跨尺度计算泡沫流:从碎波到微流体。 科学进步。 2022 10.1126/sciadv.abm0590

引用

如果您在工作中使用 Aphros,请考虑使用以下内容

@article{aphros2022,
  author = {Petr Karnakov  and Sergey Litvinov  and Petros Koumoutsakos},
  title = {Computing foaming flows across scales: From breaking waves to microfluidics},
  journal = {Science Advances},
  volume = {8},
  number = {5},
  pages = {eabm0590},
  year = {2022},
  doi = {10.1126/sciadv.abm0590},
  URL = {https://www.science.org/doi/abs/10.1126/sciadv.abm0590},
  eprint = {https://www.science.org/doi/pdf/10.1126/sciadv.abm0590},
}

About

用于具有表面张力的不可压缩多相流的有限体积求解器。复杂几何形状的泡沫流动。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 83.4%
  • Python 10.5%
  • CMake 2.7%
  • C 1.6%
  • Shell 1.4%
  • Makefile 0.2%
  • Other 0.2%