Palabos User Guide中文解读 | 第二章 | Palabos起步

作者的话:本人在学习palabos时,发现国内中文资料甚少,恰好网上可以直接搜到palabos user guide这种英文资料,加之时间充裕,便打算开始翻译,翻了一节后发现这可能算侵权,就比较伤脑筋,突然想到自己写中文解读即可,便有了下面的博客。

Palabos User Guide
Release 1.0 r1
Copyright © 2019 University of Geneva
Jul 05, 2019

Chapter Two

Palabos起步
2.1 支持的编译器

原书未提供具体的版本号和软件要求,我想让palabos运行起来不难吧,我的导师推荐我用linux系统,随后我就装了Ubuntu,很方便运行。

2.2 在linux或别的Unix类系统安装和编译

在这个地址可以下载最新版本的:www.palabos.org。解压即安装,没有我们在windows系统中预想的那种安装路径设置窗口,编译的库存在/lib/里面。

使用过程:打开一个例子,比如/examples/showCases/cylinder2D/,调出终端(假设是linux系统哈)输入make,就开始编译了。palabos有个按需编译的过程,程序第一次使用时的编译,未来会自动重复使用,除非代码有更改需要重新make一下。
编译完成后,输入./cavity2D,会开始模拟2D的绕柱流。
如果你安装了ImageMagick这个软件,程序就在tmp/下保存gif文件,代表选定时间步长的速度流场。
如果你打开存有图片的文件夹,输入convert -delay 5 -loop 0 u*.gif output.gif 也可以获得动态图片。

如果你需要用别的编译器,改设置或者搞并行的,就需要去修改makefile了。
几个经常用到的:

debug Turn on this flag to compile in debug mode. The resulting executable is a bit slower but easier to analyze in search for bugs. The recommended default behavior is to turn on debug mode.
MPIparallel Turn on this flag to compile for parallel execution.
serialCXX Specify the compiler to use for serial programs.
parallelCXX Specify the compiler to use for parallel programs.
optimFlags Specify the compiler options to use when the flag optimize is true.
compileFlags Specify additional compiler options, which are for example specific to your hardware environment. Typical options are -DPLB_BGP or -DPLB_MAC_OS_X when compiling on a Blue-Gene or on a Mac respectively.

我安装的并行计算软件为openmpi,这个软件的确是不太好安装。安装好了后,输入mpirun -np 2 ./cavity2d,意为2核并行模拟。

2.3 Mac OS X下编译
2.4 Windows下编译
2.5 BlueGene/P下编译

这三节我不钟意不看惹…

2.6 Palabos捆绑的开源库

在Palabos解压时这些开源的库就准备好了。
1)SConstruct(只在linux下测试过),这个python为基础的库是为了管理编译过程。
2)TinyXML,为了读入你输入的xml格式。

2.7 推荐的开源软件

这里推荐的开源软件用于数据的前期处理和后期处理。
1)Paraview,这个我也很推荐,甚是好用。
下面三个没用过不清楚。
2)Octave,用于处理ASCII数据,可生成例图。
3)ImageMagick,安装了它,你就可以得到PPM或者GIF的图。
4)Neshlab,它可以把表面网格文件转成STL格式,可用于设置palabos的几何,它也能用于纠错STL格式文件,比如说:

such as, remove zero-area triangles or revert the surface normal.

2.8 算例目录

showCases,codesByTopic,tutorial里面都是可供参考的算例。
showCases里主要是各种类型的简单benchmark flows。
codesByTopic就更技术性些,展示一些特定编程的概念。
tutorial则以初级教程为主。
在附录可以找到算例的列表。(位置在18.1)
我想我大概后续更到18.1再回这里添加地址。

——2020.02.10 锡瓦,埃及

你可能感兴趣的:(Palabos入门教程&初学)