原文地址: http://blog.sina.com.cn/s/blog_14bf001d10102wifw.html
OpenFOAM安装
OpenFOAM基于Linux系统下运行,由于对Linux系统的不熟悉,很多人对OpenFOAM的安装很头疼。本文手把手一步一步的演示OpenFOAM的安装过程。演示采用的系统为Ubuntu系统。其他的Linux发行版比如openSUSE(Henry和Alberto力荐),Arch Linux也可以采用类似的方法安装。基于国人多年使用Windows的操作习惯,Ubuntu可能是一个比较好的选择,目前的Ubuntu麒麟版为中文汉化发行版,并支持搜狗输入法等其他一些定制软件
Ubuntu下的OpenFOAM有下列俩种安装方式,第一种为deb方式,第二种为源代码(Source
Pack)编译方式。区别如下:
deb | Source Pack | |
---|---|---|
特点 |
安装速度快。i7处理器笔记本采用此方式安装几秒钟即可。但是此方法国内用户甚至国外用户经常由于网络问题无法安装。
同样也支持源代码开发,不过deb安装默认把OpenFOAM安装在了只有权限才能修改的/opt目录下。因此如果用户打算修改源代码并进行操作,需要具有权限。并把/opt目录下的OpenFOAM源代码默认的“只读”属性修改为“可修改” |
安装较慢。i7-3610QM单核编译大约需要3小时,4核编译大约需要1小时。i7-5820k 12线程编译大约需要30分钟
安装位置随意,并且直接可修改源代码,不需要权限,不需要修改文件默认属性。 |
在这里,我们介绍比较稳定的Source
Pack编译安装方式。需要提及的是,编译OpenFOAM需要依赖很多Ubuntu下的库,这些库需要联网安装。下面我们介绍如何从一个空白的Ubuntu系统来安装OpenFOAM:
(1).安
装ubuntu系统。个人用户可安装在Windows下的虚拟机中,工作站和服务器可直接安装Ubuntu系统。在cfd-online有国外用户讨论认
为:虚拟机在不发生内存交换的时候和真实系统计算速度相当(本文采用的为VMware);32位操作系统比64位系统要快(尚未考证);
(2).进入Ubuntu桌面。通过Ctrl+Alt+T启动终端,会出现如下窗口:
其中黑色的我们在下文称之为终端,在终端输入(注意空格和大小写):
sudo su ~
会提示要求输入密码,我们键入密码。注意,密码并未显示。回车。然后将下列代码复制到终端(分三次复制输入),这些库就是编译OpenFOAM所需要的库:
apt-get install build-essential flex bison cmake zlib1g-dev libopenmpi-dev openmpi-bin apt-get install qt4-dev-tools libqt4-dev libqt4-opengl-dev freeglut3-dev libqtwebkit-dev apt-get install gnuplot libreadline-dev libncurses-dev libxt-dev apt-get install libscotch-dev libcgal-dev
会提示yes之类以确认安装,回车确认。这样所有预安装包安装完毕。
(3).下载OpenFOAM-3.0.x.tar以及ThirdParty-3.0.x.tar。然后从窗口进入到ubuntu系统的home文件夹下建立文件夹为OpenFOAM,如图所示(在这里,我们尽可能全部采用窗口可视化操作而非命令行的方式,以方便初学者简单易懂的安装OpenFOAM):
进入这个OpenFOAM文件夹,将下载的OpenFOAM-3.0.x.tar复制进去右键解压缩会出现一个OpenFOAM-3.0.x-master的文件夹。去掉master后缀改名为OpenFOAM-3.0.x。同样把ThirdParty-3.0.x.tar解压缩至此处,并生成ThirdParty-3.0.x文件夹。
(4).配置环境变量。在终端输入:
gedit $HOME/.bashrc
会打开一个文件,我们在文件的最底部重新取一行添加下述文字:
source
$HOME/OpenFOAM/OpenFOAM-2.3.1/etc/bashrc
保存并关闭。关闭终端并打开新的终端的时候,环境变量自动生效。
(5).编译OpenFOAM。打开终端,输入(即切换到OpenFOAM-3.0.x目录下):
cd OpenFOAM/OpenFOAM-3.0.x/
然后输入:
./Allwmake
这时候会输出大量的信息,编译开始。依据CPU特性,大约需要几个小时(并行编译请见文章最底部)。编译之后请尝试运行:
blockMesh
如果显示如下信息:
表示安装成功。
paraFoam安装以及并行编辑请跳转:OpenFOAM安装详解