openfoam 的安装【转载】
原文地址: 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之类以确认安装,回车确认。这样所有预安装包安装完毕。

(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
如果显示如下信息:

openfoam 的安装【转载】的更多相关文章
- CocoaPods的安装[转载]
[转载] 原地址http://www.tuicool.com/articles/7VvuAr3 觉得很好,很有用 iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem ...
- MyEclipse 8.5 开发环境配置,汉化,Aptana2.0插件,SVN 插件,Flex Builder 3/4 插件安装(转载)
转载地址http://elf8848.iteye.com/blog/630864 下载MyEclipse 8.5 可以通过代理http://www.proxyie.cn/访问MyEclipse的官方网 ...
- dubbo安装(转载)
1. 概述 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂 ...
- centos6中office及中文输入法安装 (转载)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xuxuezhe.blog.51cto.com/1636138/73 ...
- apache源码安装 转载
转载 1.先进入/usr/local/中创建三个文件夹 apr apr-util apache cd /usr/local目录 mkdir apr mkdir apr-util mkdir apach ...
- windows 下rabbitmq 安装---转载
原文地址:http://blog.sina.com.cn/s/blog_7cc0c8cc0101mb4a.html 1.下载并安装erlang,http://www.erlang.org/downlo ...
- cocoa pods 安装 转载
1.打开终端 终端输入 $ruby -v 查看ruby的版本 打印代码: ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64- ...
- Kickstart无人值守安装[转载]
导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装. 常规的办法有什么? 光盘安装系统===>一个服务器DV ...
- linux svn安装(转载)
第一章 安装 1. 采用源文件编译安装.源文件共两个,为:subversion-1.6.1.tar.gz (subversion 源文件)subversion-deps-1.6.1.tar.gz (s ...
随机推荐
- UIText光标用法
1.获取当前光标位置 UITextRange *range = _textField.selectedTextRange; 2.选取开始到最后的文字 UITextPosition *start = [ ...
- mybatis一个怪异的问题: Invalid bound statement not found
ssm中报一下错误: invalid bound statement (not found): me.tspace.pm.dao.userdao.getuser at org.apache.ib ...
- junit学习笔记
junit编程规范 测试方法上必须使用@Test进行修饰 测试方法必须使用public void 进行修饰,不能带任何的参数 新建一个源代码目录 测试类的包应该和被测试类保持一致 测试单元中的每个方法 ...
- 自定义cell自适应高度
UITableView在许多App种被大量的应用着,呈现出现的效果也是多种多样的,不能局限于系统的一种样式,所以需要自定义cell 自定义cell呈现的内容也是多种多样的,内容有多有少,所以需要一种能 ...
- 使用excel计算指数平滑和移动平均
指数平滑法 原数数据如下: 点击数据——数据分析 选择指数平滑 最一次平滑 由于我们选择的区域是B1:B22,第一个单元格“钢产量”,被当做标志,所以我们应该勾选标志.当我们勾选了标志后,列中的第 ...
- tyvj1189 盖房子
描述 永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所房子,这个房子必须是正方形的.但是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵).这些瑕 ...
- Coursera-Getting and Cleaning Data-week1-课程笔记
博客总目录,记录学习R与数据分析的一切:http://www.cnblogs.com/weibaar/p/4507801.html -- Sunday, January 11, 2015 课程概述 G ...
- ACM 计算几何中的精度问题(转)
http://www.cnblogs.com/acsmile/archive/2011/05/09/2040918.html 计算几何头疼的地方一般在于代码量大和精度问题,代码量问题只要平时注意积累模 ...
- 微信小程序想要的是无法监测的流量dark social
“微信小程序”将带来什么样的变化?就单单的是一个超级Web app?还是只是为了给大家手机节省一些空间?腾讯想要的是高达70%以上的“无法监测的巨大流量”,称之为“dark social”(暗社交). ...
- MySQL中find_in_set()和in的区别
弄个测试表来说明两者的区别 CREATE TABLE `test` ( `id` int(8) NOT NULL auto_increment, `name` varchar(255) NOT NUL ...