感谢支持
我们一直在努力

在OpenSUSE 11.0和11.1上安装OpenFOAM的方法

来源苏军伟的博客:http://blog.sina.com.cn/openfoamresearch
小王的科研阵地:http://blog.sina.com.cn/wanghuiru1984


OpenFOAM的安装方法


很多OpenFOAM的网友针对流行的Ubuntu系统的安装成功,但其工作量明显不小。虽然OpenFOAM是在OpenSUSE上开发的,但不掌握Openfoam的原理,安装还是很盲目的,以下是我的安装方法,给初学者提供一些参考。


对比可以编译通过的OpenFOAM 1.5和不需要编译的1.6版本的的安装方法之间的区别(见这里与这里)


可以发现,大部分步骤都是一样的,个人理解:在执行编译连接openfoam的时候(./ALLwmake命令),只是进行编译这个过程,(因为有bug)最终的可执行文件是由压缩包得到的,因此,采用下面的步骤安装:


1.先按第3页与第4页中的方法把源文件和编译过的文件都解压放在一起


以下基本可以对照官方的readme文件来做


2.如果是在opensuse11.0下安装,由于qt的版本不够,为保险起见,按照readme中的地址


ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.3.5.tar.bz2


下载qt4.3.5版本,并且安装,过程比较简单,都采用默认方式,解压缩后


tar xvf qt-x11-opensource-src-4.3.5.tar.bz2


cd /home/用户名/OpenFOAM/ThirdParty-1.6/qt-x11-opensource-src-4.3.5


./configure


make  (当时提示用  gmake,我用的也是gmake)


make install


3. kate $HOME/.bashrc


将   source $HOME/OpenFOAM/OpenFOAM-1.6/etc/bashrc   这句话加到该文件的最后,每次启动都可以


执行。


4.  export FOAM_INST_DIR=/home/用户名/OpenFOAM


foamDotFile=$FOAM_INST_DIR/OpenFOAM/OpenFOAM-1.6/etc/bashrc


[ -f $foamDotFile ] && . $foamDotFile


如果没有这几句话,后面./ALLwmake总是提示找不到安装目录。


5. 因为已经把源文件和binary包都解压缩在一起,因此可以直接在OpenFOAM-1.6文件夹中运行


./ALLwmake


执行编译,需要花几个小时吧。


最后可能提示说application 有点问题,不用理会这个错误


6.按照readme文件中找到foamInstallationTest运行,应该显示安装没有问题


7.按照readme文件中getting stared步骤,在paraFoam时出错,提示不知道该打开什么文件,也就是数据导


不进去,表明ParaView这个软件没问题,是openfoam paraview reader和paraview软件连接没有做好,


因此需要重新编译PV3FoamReader,这个时候才发现下载的1.6的包中并没有解压缩出来cmake-2.6.4这


个软件,如过有的话应该不会出现这个问题。

8.从官网上http://www.cmake.org/files/v2.6/cmake-2.6.4.tar.gz 下载这个软件的源文件包,需要进行


编译的


9.安装这个文件,步骤基本一样


./configure


make


sudo make install(管理员帐号运行安装)


10.完成后,按照readme中间的说明


执行


cd $FOAM_UTILITIES/postProcessing/graphics/PV3FoamReader


./Allwclean


./Allwmake


完成两者的关联,至此OpenFOAM安装完毕。如果paraview还有问题需要按照readme中方法重新编译paraview了。如果是OpenSUSE 11.1的版本的话,在安装系统时可以选择qt这一项,自动安装,省去了自己安装的麻烦,其他过程一样。

OpenFOAM 1.6 安装及其新功能率先体验


penFOAM 1.6发布了,里面一些新的功能可能令很多openfoam fans垂涎。如果下载binary包的话,看不到代码,如果下载代码包的话,需要重新编译。今天晚上实验安装一下,发现里面还有很多bug,根本编译通不过,难免有点可惜。openfoam每次新版本发行都会有很多安装方面的问题,使得很多fans对于新版本望而却步,新的版本装不上,老板本搞坏了,岂不是得不偿失。


几天看了openfoam两种general包和binary包的结构发现,其实很容易将两种包合到一起,免了编译安装(即使里面有bug也无所谓,不需要编译)。合起来方法很简单。


(1)下载所有的包。


包括source pack 和binary pack。  对于binary pack最好下载双精度的,因为,单精度根本满足不了工程要求。


(2)根目录建立OpenFOAM文件夹,将所有下载的包,放到该文件夹里面,并执行如下命令


tar xzf OpenFOAM-1.6.General.gtgz     //解压缩source包


tar xzf ThirdParty-1.6.General.gtgz  //解压缩第三方source包


tar xzf OpenFOAM-1.6.linuxGccDPOpt.gtgz //解压缩binary包,放心,不会冲掉的


tar xzf ThirdParty-1.6.linuxGcc.gtgz  //解压缩第三方的binary包


(3)更新环境


如果你当前安装了openfoam以前版本,http://ubuntuone.cn请参看本站博文“如何实现同一用户下的OpenFOAM多版本编译”以免去不同版本下的环境冲突。如果没有装过openfoam,直接进入OpenFOAM-1.6/etc,执行


source bashrc 就可以了。 为了避免每次启动都要执行source bashrc,可以将下面命令,写入到你根目录下的.bashrc中。


source $HOME/OpenFOAM/OpenFOAM-1.6/etc/bashrc


(4)编译paraview


进入OpenFOAM目录下的ThirdParty-1.6,执行


sh  makeParaView //编译paraview。


如果不执行编译,清执行下面命令


cd $FOAM_UTILITIES/postProcessing/graphics/PV3FoamReader


./Allwclean


./Allwmake


然后执行 sh makeParaView。


最后重新执行


cd $FOAM_UTILITIES/postProcessing/graphics/PV3FoamReader


./Allwclean


./Allwmake


上面编译可以实现openfoam paraview reader和paraview软件连接。


现在基本完成了,省去了编译的过程。  不过在编译paraview时候,需要Python,cmake等软件支持,系统装了,才能编译paraview。


体验一下新功能吧。


另外附上一句话,编译OpenFOAM-1.6需要利用编译器gcc 4.3.3,以前版本不行,会出现编译错误。

 


    OpenFOAM的安装并没有想象的那么复杂,感觉安装比较困难主要是由于对linux和OpenFOAM的配置不熟造成的。下面对OpenSUSE(一种linux系统,OpenFOAM就是基于该平台开发的)下OpenFOAM的安装过程详细的介绍一下。


(1)系统的选择。本人推荐选择OpenSUSE,他比较容易用,图形界面和windows接近,且安装OpenFOAM时候需要的包,在系统安装的时候可以一并选择,省去了以后重新安装包的麻烦。当然你可以选择其他linux系统,可能安装比较麻烦一些。


(2)OpenSUSE的安装,比较简单,你腾出一个windows盘(最好大于30g),然后在网上下载一个openSUSE(最好刻成盘)直接用图形界面安装安装到腾出的盘中。网上OpenSUSE的安装说明很多,可以按照一步一步来,很简单。在软件安装选择的时候记着将下面包一起安装:gcc(编译器),Python(一种语言,paraview需要),cmake(编译paraview需要)Qt(paraview需要)。忘记选择也不要紧,可以在系统安装后用yast安装。


(3)下载OpenFOAM包,到openfoam网站上去,选择linux平台,32位或者64位,这个是你的opensuse是32为或者64位的,不是指的硬件。
网址是
http://www.opencfd.co.uk/openfoam/linux.html
该网页对openfoam包的说明如下:











































$HOME/OpenFOAM

   

OpenFOAM software md5sum













[Picture] Source pack – essential to all platforms

OpenFOAM-1.5.General.gtgz 










 
16aafeae129bae67626a6dbd9d7e109b














[Picture] Binary pack, double precision

OpenFOAM-1.5.linuxGccDPOpt.gtgz 










 
fac72fa01a3a882cfbb16227a81be2d3














[Picture] Binary pack, single precision (optional)

OpenFOAM-1.5.linuxGccSPOpt.gtgz 










 
65241f0ab03ed6b9567e065af7407c21


   

Third-party software













[Picture] Source pack – essential to all platforms

ThirdParty.General.gtgz 










 
84e0c2b4e40bd4feb81dee5dc6da3b26














[Picture] Binary pack

ThirdParty.linuxGcc.gtgz 








 
6edef7ecf3e381a85ac5108ec5038940
上面说的source pack是指只有源代码的包,下载该包需要编译,binary pack是编译好的包,下载下来直接用就行了,不用安装的。如果你只是像用fluent或cfx一样用openfoam,不搞开发,直接用binary包就行了。你要是想对OpenFOAM包进行扩充的话,下载source parck,在本机上用debug模式重新编译一下。


(4) 包的解压缩
在你的根目录下创建一个名字为OpenFOAM的文件夹,将上面下载的包放在里面。在控制台下进入OpenFOAM文件夹
cd ~/OpenFOAM
并输入命令
tar xzf OpenFOAM-1.5.General.gtgz
tar xzf ThirdParty.General.gtgz
对你下载的包进行当前文件夹解压缩


(5)环境配置
将下面一句话加入到根目录下的.bashrc中,注意文件前面有一个“.”,说明该文件为隐藏文件
只需要在控制台上输入
kate $HOME/.bashrc
就会代开.bashrc,将下面一句话加入到文件中
. $HOME/OpenFOAM/OpenFOAM-<version>/etc/bashrc
其中,<version>用版本代替,比如你安装了1.5, 则
. $HOME/OpenFOAM/OpenFOAM-1.5/etc/bashrc
注意前面的”.”,不能去掉,linux下的点表示对某个文件的执行。

如果你想在debug模式下编译更改文件
/OpenFOAM/OpenFOAM-1.5/etc/bashrc中
将${WM_COMPILE_OPTION:=Opt};..前面加上#,将${WM_COMPILE_OPTION:=Debug}前的#去掉。
#: ${WM_COMPILE_OPTION:=Opt}; export WM_COMPILE_OPTION
: ${WM_COMPILE_OPTION:=Debug}; export WM_COMPILE_OPTION

如果你要使用你系统的编译器(通常都需要改,ThirdParty里面没有gcc),将
/OpenFOAM/OpenFOAM-1.5/etc/settings.sh中的
compilerInstall=OpenFOAM前面加#,并将compilerInstall=System前#去掉
#compilerInstall=OpenFOAM
compilerInstall=System


(6)更新环境
在控制台上输入命令
source $HOME/.bashrc
或者
关掉控制台,在重新打开


(7)编译第三方包
进入OpenFOAM/ThirdParty
运用命令 cd $HOME/OpenFOAM/ThirdParty
输入 ./Allwmake


(8)编译OpenFOAM
进入/OpenFOAM/OpenFOAM-1.5
cd $HOME/OpenFOAM/OpenFOAM-1.5
输入./Allwmake


(9)编译paraview
cd $FOAM_INST_DIR/ThirdParty
rm -rf ParaView3.3-cvs/platforms
buildParaView3.3-cvs

现在安装过程已经说完了,祝你好运

OpenFOAM目前有多个公司在维护:以Henry weller为首的OpenCFD的openfoam 官方公司,还有以hrvoje Jasak为首的Wikki公司(-dev版本)。也许你会很苦脑,到底是该用那个版本呢?还有如果我当前工作是基于1.5的,如何更新了1.6,那我以前做得工作能不能在1.6下面有条不紊的工作呢?要不要换成1.6体验一下新功能呢?  其实有一种方法可以在同一用户下进行多版本OpenFOAM安装,根据你的爱好,可以在不同版本进行随时切换,而不相互影响。


我的笔记本上装了3个版本
1.5.x(官方1.5的开发版本),可以用“ git clone http://repo.or.cz/r/OpenFOAM-1.5.x.git”下载
1.4.1(上一个版本)
1.5-dev(hrvoje jsask为首的openfoam-extend工程,说来惭愧,他们也将我列为其中的一个developer,我并没为此版本做过多少贡献,该版本网址:http://sourceforge.net/projects/openfoam-extend/)。


闲言少叙,首先分析一下openfoam的运行环境。
(1)openfoam运行环境配置分析
OpenFOAM是靠配置当前运行环境来运行的,而起环境配置文件是在openfoam根目录下的etc/bashrc文件(对于1.4.1是在根目录下.OpenFOAM-1.4.1/bashrc,进入1.4.1你看不到的,是个隐藏文件夹,注意前面的”.”。linux下以“.”开头的是隐藏文件)。在openfoam官方安装指南通常将bashrc文件的执行加入到自己根目录下的配置文件”.bashrc”中,每次启动控制台的时候,就会自动执行该文件,进而配置openfoam环境。  如果我们手动配置openfoam环境,这样不就可以实现openfoam环境切换了吗?每次切换的时候,只需要更新一下系统中openfoam当前版本运行环境即可。
(2)环境配置更新
如果你想对环境进行更新,只需要执行要使用版本下面etc/bashrc文件即可。可以采用如下命令
1.4.1版本
source /home/sujunwei/OpenFOAM/OpenFOAM-1.4.1/.OpenFOAM-1.4.1/bashrc
1.5
source $HOME/OpenFOAM/OpenFOAM-1.5/etc/bashrc
1.5.x
source $HOME/OpenFOAM/OpenFOAM-1.5.x/etc/bashrc
1.5-dev
source $HOME/OpenFOAM/OpenFOAM-1.5-dev/etc/bashrc
但是如果这样每次切换需要执行这么长的命令,很烦,可以将其写成系统可以找到的文件,然后source一下那个文件就行了。


(3)环境配置更新文件
只需要将上面的一句话写到一个文件中,附件中有我的系统配置文件(加不上附件,可以到http://www.openfluid.cn/attachment.php?aid=262&k=9ddb736a1b938b3e4a8f819c72dce8f0&t=1246360743&fid=62&sid=XCNXuN%2B3%2FWvswrbexlGqEgQY1fPq7Q896ae9I6ivUTdr9jW),将起解压缩到$HOME/bin下就行了(bin系统可以找到,在系统的$PATH 中). 你可以仿照着写一下。其实不用改的,如果你和我安装相同版本的话。文件名字要记住,以便用于版本切换。比如,我只需要在控制台上输入  source OpenFOAM141  就可以使用1.4.1了。输入 source openfoam-extend就可以使用dev版本了。是不是很简单?


(4)不同版本的安装
不同版本的安装和单一版本安装没有什么区别,比如你要安装1.5.x 按照我附件相应配置文件名字为OpenFOAM15x,直接输入source OpenFOAM15x就可以执行相应的安装了。对于不同的版本,需要在新环境下,重新安装即可,所有的都要重新安装,包括第三方包。放心,新的配置环境不会影响你以前安装的版本。  应当注意不要将那个etc/bashrc的执行命令,写在你的.bashrc下面了,直接写到你的配置文件中就行了,每次使用前source一下。


不妨试一试,祝你好运。

赞(0) 打赏
转载请注明出处:服务器评测 » 在OpenSUSE 11.0和11.1上安装OpenFOAM的方法
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏