作者的话:本人在学习palabos时,发现国内中文资料甚少,恰好网上可以直接搜到palabos user guide这种英文资料,加之时间充裕,便打算开始翻译,翻了一节后发现这可能算侵权,就比较伤脑筋,突然想到自己写中文解读即可,便有了下面的博客。
Palabos User Guide
Release 1.0 r1
Copyright © 2019 University of Geneva
Jul 05, 2019
Chapter One
介绍
1.1 什么是Palabos?
Palabos库是一个基于格子玻尔兹曼法的多功能的计算流体力学框架。流体模拟设置方便,如果你了解LBM的话,还可以用你自己的模型来扩展这个库。
它没有图形用户界面,也不需要什么外部依赖,但需要你会一些编程。软件在开源AGPLv3许可证的条款下免费可用。软件的传播旨在促进研究实际物理问题上,而不是卡在繁杂的软件开发上。
Palabos库在高性能计算下,或是复杂流动模拟中表现出特别突出的性能,可用于热、多相流穿过多孔介质。其程序结构为了便于用户阅读,采取了避免大量数字运算的方法,牺牲了小小的性能。
普适的编程是为了一个代码达成多个目标,Palabos的C++代码就普适,一个普适的3D代码可运行于D3Q15,D3Q19,D3Q27格子。实际的流体工程问题还是需要你仔细编程考究的。
1.2 Palabos涵盖的功能
1.2.1 目前实现的
这里照搬原文吧:
Physics: Incompressible Navier-Stokes equations, weakly compressible, non-thermal Navier-Stokes equations, flows with body-force term, thermal flows with Boussinesq approximation, single-component multi-phase fluids (Shan/Chen model), multi-component multi-phase fluids (Shan/Chen model, He/Lee model), free surface flows (volume-of-fluid approach), static Smagorinsky model for fluid turbulence.
Basic fluid models: BGK (and its “incompressible” counterpart), a given MRT model (and its “incompressible” coun-terpart), regularized BGK, LW-ACM (and its “incompressible” counterpart), a given entropic model.
Straight-wall boundary conditions: Zou/He, Inamuro, Skordos, regularized BC, simple equilibrium, bounce-back, periodic. All boundary conditions work for straight walls with interior/exterior corners, and can be used to implement a Dirichlet or Neumann condition for the velocity or the pressure. The bounce-back condition is also used for curved boundaries, represented by a stair-case shape.
Off-lattice boundary conditions: GUO model, and generalized off-lattice boundary condition. Automatic, and mas-sively parallel, voxelization of STL file and instantiation of off-lattice walls.
Particles: Massively parallel (billions of particles are no problem on a parallel machine) simulation of passive scalars, or interacting particles.
Grid: The implemented grids are D2Q9, D3Q13, D3Q15, D3Q19, and D3Q27. In all cases, the domain is either a regular matrix or a sparse domain, approximated by a multi-grid pattern.
Parallelism: All mentioned models and ingredients are parallelized with MPI for shared-memory and distributed-memory platforms, including I/O operations that are implemented in terms of MPI’s Parallel I/O API.
Pre-processing: The domain of a simulation can be constructed manually, or automatically from a corresponding STL-file.
Post-processing: The code has the ability to save the data in ASCII or binary files or to directly produce GIF images. Furthermore, the data can be saved in VTK format and further post-processed with an appropriate tool. For better efficiency, Palabos can natively post-process data, producing streamlines and iso-surfaces.
Check-pointing: At every moment, the state of the simulation can be saved, and loaded at a later point.
1.2.2 在开发的
下面是palabos社区和目前在整的:
1)网格精细化
2)扩展邻域格子的热流体
1.3 项目
Scientific and Parallel Computing Group SPC 提供了palabos的理论背景,也在不断开发新模型和方法。这些上乘的代码都是日内瓦大学在管。
1.4 作者
项目大佬:Jonas Latt
贡献者:Orestis Malaspinas, Dim-itrios Kontaxakis, Andrea Parmigiani, Daniel Lagrava, Yann Thorimbert, Christos Kotsalos, Francesco Marson, Joel Beny, and Bastien Chopard
1.5 找帮助
怎么安装软件去看2.1。
初学者建议去看Tutorial 1,在这里你能看到palabos的程序结构构成和了解palabos内部是怎样工作的。
有什么技术问题可以去palabos的论文提问,我想你一定收藏了那个网址。
如果你想深入了解各个语句的作用,你可以考虑使用Doxygen或者自动代码生成文档,这个自动代码生成文档打不开,现在先静置在此。
论坛:https://palabos-forum.unige.ch/
Doxygen:http://www.doxygen.nl/