作者的话:本人在学习palabos时,发现国内中文资料甚少,恰好网上可以直接搜到palabos user guide这种英文资料,加之时间充裕,便打算开始翻译,翻了一节后发现这可能算侵权,就比较伤脑筋,突然想到自己写中文解读即可,便有了下面的博客。
Palabos User Guide
Release 1.0 r1
Copyright © 2019 University of Geneva
Jul 05, 2019
Chapter Three
Palabos-Python Interface(这里interface是接口的意思吗?)
划重点:运行palabos时,不必编译palabos-python接口,Python接口只是让palabos应用跑的更快的拓展。
C++和Python的界面不太一样,会有一个别的user guide讲这个。
下面还是会讲一些关于Python接口的编译。
3.1 编译python接口
如果你是linux的系统,那安装需要的库就方便很多。
需要的库有:
1)Swig
2)NumPy
3)SciPy
4)Matplotlib
5)Mpi4py(安装这个,你需要python包安装系统 easy_install,在ubuntu可通过安装 python-setuptools,然后输入 sudo easy_install mpi4py )。
以上的库是为了编译palabos来生成接口。
如果你希望更好的图像效果,可以安装 Mayavi2 。
编译palabos-python接口,你需要安装openmpi或者mpich。
然后按一下步骤:
1)找到palabos源代码根目录,定义一个包含路径名的环境变量 PALABOS_ROOR,比如说在bash输入: export PALABOS_ROOT=/home/joe/palabos-0.7v0/
2)进入palabos的目录pythonic/src,输入make。
3)如果编译成功,可以去pythonic/examples里输入算例名来运行一下。
值得注意的是,编译可能慢到半个点,假如报错“file not found”,可能是你没装好库。这样你需要查文件的目录,把目录加到路径里。怎么做呢?去找Makefile文件,定位includePath=…,加入你缺的内容
3.2 Ubuntu Linux系统下编译python接口
下面的例子都是在Ubuntu Linux的Version-9和Version-10系列以上计算的,就是可能包的名称会有点不一样。
3.2.1 1)安装需要的包
安装这些包:
g++, mpi-default-bin, mpi-default-dev,swig, python, python-dev, python-setuptools, python-numpy, python-matplotlib, mayavi2
然后在终端输入 sudo easy_install mpi4py,这是个Ubuntu里没有的包。
3.2.2 2) 编译palabos-python接口
1)打开终端,解压安装包palabos-0.7v0.tgz。
2)打开pythonic/src,定义环境变量PALABOS_ROOT(例如:export PALABOS_ROOT=/home/joe/palabos-0.
7v0/)
3)输入make。
3.2.3 3)运行一个算例
进入pythonic/examples,运行一个程序。(例如:./cavity2d)。
同时另一个事情,就涉及到了Python prompt,大概是说可以输入cat cavity2d看看具体文本,然后输入 python 进入python的代码环境,随后你就可以开始秀起手打代码了。这里python prompt我不太懂,后续看看能不能回来填坑。
It can also be illuminating to execute the programs interactively
by typing the commands into a Python prompt. To do this, display the content of one of the examples (e.g. cat cavity2d), run the Python interpreter through the command python and type the lines of the program manually, inspecting the results as you go.