• 返回主页
  • OpenFOAM安装指南

    2017/07/28:多个OpenFOAM版本并存
    2017/05/21:OpenFOAM-4.x deb安装方法
    2016/11/28:OpenFOAM在win10下直接安装方法
    2016/06/04:错误提示:can not find "ptscotch.h"
    2016/03/16:在windows下显示linux图形界面

    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分钟

    安装位置随意,并且直接可修改源代码,不需要权限,不需要修改文件默认属性。

    deb安装

    (1).安装ubuntu系统。个人用户可安装在Windows下的虚拟机中,工作站和服务器可直接安装Ubuntu系统。在cfd-online有国外用户讨论认为:虚拟机在不发生内存交换的时候和真实系统计算速度相当(本文采用的为VMware);32位操作系统比64位系统要快(尚未考证);

    (2).进入Ubuntu桌面。通过Ctrl+Alt+T启动终端,会出现如下窗口:


    其中黑色的我们在下文称之为终端,在终端输入(直接分两次复制进去):

    sudo add-apt-repository http://dl.openfoam.org/ubuntu
    sudo sh -c "wget -O - http://dl.openfoam.org/gpg.key | apt-key add -" 
    

    会提示要求输入密码,我们键入密码。注意,密码并未显示。再次输入(直接分两次复制进去):

    sudo apt-get update
    sudo apt-get -y install openfoam4 
    

    (3).配置环境变量。在终端输入:

    gedit $HOME/.bashrc
    

    会打开一个文件,我们在文件的最底部重新取一行添加下述文字:

    source /opt/openfoam4/etc/bashrc

    保存并关闭。关闭终端并打开新的终端的时候,环境变量自动生效。

    (4).输入:

    blockMesh 
    
    如果显示如下信息:

    表示安装成功。需要注意的是,采用这种方式安装并没有安装需要编译的库,因此用户目前尚不能对求解器进行编译,只能使用。如果需要对/opt/文件下的OpenFOAM文件进行编译,需要继续进行“源代码编译安装”中的第2步骤。

    源代码编译安装

    下面介绍Source Pack编译安装方式。需要提及的是,编译OpenFOAM需要依赖很多Ubuntu下的库,这些库需要联网安装。

    (1).同样的,首先安装ubuntu系统。

    (2).进入Ubuntu桌面。通过Ctrl+Alt+T启动终端,在终端输入(注意空格和大小写):

    sudo su ~
    

    会提示要求输入密码,我们键入密码。注意,密码并未显示。回车。然后将下列代码复制到终端:

    1
    apt-get install build-essential flex bison cmake zlib1g-dev libopenmpi-dev openmpi-bin qt4-dev-tools libqt4-dev libqt4-opengl-dev freeglut3-dev libqtwebkit-dev gnuplot libreadline-dev libncurses-dev libxt-dev libscotch-dev libcgal-dev
    

    会提示yes之类以确认安装,回车确认。这样所有预安装包安装完毕。注意:如果提示下列错误:

    E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
    E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
    

    表明没有切换到root用户,请重新执行上文的第二步。

    (3).下载OpenFOAM-4.x.tar以及ThirdParty-4.x.tar。然后从窗口进入到ubuntu系统的Home文件夹下建立文件夹为OpenFOAM,如图所示(在这里,我们尽可能全部采用窗口可视化操作而非命令行的方式,以方便初学者简单易懂的安装OpenFOAM):


    进入这个OpenFOAM文件夹,将下载的OpenFOAM-4.x.tar复制进去右键解压缩会出现一个OpenFOAM-4.x-master的文件夹。去掉master后缀改名为OpenFOAM-4.x。同样把ThirdParty-4.x.tar解压缩至此处,并生成ThirdParty-4.x文件夹。

    (4).配置环境变量。在终端输入:

    gedit $HOME/.bashrc
    

    会打开一个文件,我们在文件的最底部重新取一行添加下述文字:

    source $HOME/OpenFOAM/OpenFOAM-4.x/etc/bashrc

    保存并关闭。关闭终端并打开新的终端的时候,环境变量自动生效。

    (5).编译OpenFOAM。打开终端,输入(即切换到OpenFOAM-3.0.x目录下):

    cd OpenFOAM/OpenFOAM-3.0.x/
    

    然后输入:

    ./Allwmake 
    

    这时候会输出大量的信息,编译开始。依据CPU特性,大约需要几个小时(并行编译请见文章最底部)。编译之后请尝试运行:

    blockMesh 
    

    如果显示如下信息:

    表示安装成功。

    并行编译:如果需要并行安装,请在OpenFOAM目录下的etc下打开这个bashrc文件,在其中最底部添加下述内容:

    export WM_NCOMPPROCS=4

    即表示采用4线程并行编译。用户可以随意更改其中的数字。

    多版本OpenFOAM并存

    不同大厂的OpenFOAM版本各有特性,因此用户可能具有多版本OpenFOAM共存的需求。多版本OpenFOAM共存非常简单。举例说明:如果用户打算在Ubuntu系统上安装OpenFOAM-3.x以及OpenFOAM-4.x,可在终端输入:

    gedit $HOME/.bashrc
    

    会打开一个文件。我们在文件的最底部重新取一行添加下述文字:

    alias of3x="source $HOME/OpenFOAM/OpenFOAM-3.x/etc/bashrc"
    alias of4x="source $HOME/OpenFOAM/OpenFOAM-4.x/etc/bashrc"

    保存并关闭(注意其中的$HOME/OpenFOAM/OpenFOAM-3.x/etc/bashrc表示安装的OpenFOAM路径,需要确保正确)。重新打开新的终端的时候,环境变量自动生效。这时如果用户键入:

    of3x 
    

    则调用OpenFOAM-3.x环境,用户可以调用OpenFOAM-3.x。类似的,键入:

    of4x 
    

    则调用OpenFOAM-4.x环境,用户可以调用OpenFOAM-4.x。需要注意的是用户需要确保OpenFOAM-3.x以及4.x已经存在相应的文件夹中。

    在Windows下登录Linux客户端远程操作

    首先需要下载PuTTY(用于支持命令行操作远程的Linux系统),以及Xming(不需要图形操作的可以不下载Xming)。PuTTY下载的时候选择putty.exe(直接可以运行不需要安装)。Xming下载下来之后全部采取默认安装即可。

    (1).直接运行Xming,不需要配置;
    (2).打开PuTTY,显示如下:


    在其中的host处填入Linux主机IP地址,例如:130.192.23.23;显示如下:


    (3).输入用户名和密码即可进入如下:


    直接操作即可,和Linux无异。

    如果需要图形界面,需要对PuTTY进行设置,在(1)执行之后进行:

    (1.5).打开PuTTY,进入到Connection——SSH——X11配置窗口,如下:


    在其中选中Enable X11....,然后在X display location中填写:localhost:0

    返回上文第二步继续操作即可。进入到命令行模式之后输入gedit,如果显示下图表明成功:


    在windows10中安装OpenFOAM

    windows10中的bash环境可以直接安装ubuntu系统,经初步测试和真实的ubuntu系统无异样,可以当作一个没有窗口的真实的ubuntu,这样,OpenFOAM就可以直接安装在windows10系统了。如何开启bansh环境主要参考JayYin的文章(请注意:win10系统需要安装windows10周年更新才可以打开相关功能),在配置好windows10的bash环境之后,打开bash,会自动显示下面的界面:

    然后单击y开始下载。下载后我们的bash里面就有了一个ubuntu系统。下一步,OpenFOAM在此bash环境可以采用上文中编译的方法进行安装(测试可行),也可以deb的方式安装(测试可行)。如果采用deb的方式,打开bash输入:
    sudo add-apt-repository http://dl.openfoam.org/ubuntu
    sudo sh -c "wget -O - http://dl.openfoam.org/gpg.key | apt-key add -"
    sudo apt-get update
    sudo apt-get -y install openfoam4
    
    安装完成后参考上文配置环境变量即可。


    东岳流体dyfluid.com
    勘误、讨论、补充内容请前往CFD中国