“工欲善其事必先利其器”,在利用OpenFoam解决我们的工程问题之前,首先要做的事情是搭建一个OpenFoam运行环境。很遗憾的是,OpenFoam的原生开发系统是Linux,因此对于习惯使用Linux操作系统的使用者来讲,自然不存在任何的问题,但是对于长期使用Windows操作系统的人,就需要掌握一些简单的Linux操作基础了。本文存在的目的即在于此。

1 软件的获取

OpenFoam的获取很简单,在其官方网站可以下载。

不同于Windows安装程序,在Linux下安装软件的步骤略有不同。OpenFoam在linux下的安装方式主要有两种:

1.1 Ubuntu下的安装

在ubuntu系统下的安装方式非常简单。

  • 版本升级

    若系统中已经安装了openfoam,仅仅只是升级到最新版本4.1的话,可以通过在终端运行以下命令来实现
sudo apt-get update
sudo apt-get install --only-upgrade openfoam4
  • 全新安装

    如果是全新安装的话,则需要先添加软件源。通过在终端运行以下命令:
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

等待更新完毕后,可运行命令安装OpenFoam:

sudo apt-get -y install openfoam4

安装完毕后需要配置.bashrc文件,利用命令:

sudo gedit ~/.bashrc

将会以文本文件形式打开.bashrc文件,在文件最后面添加语句:

source /opt/openfoam4/etc/bashrc

添加完毕后保存并关闭终端,开启一个新的终端运行测试命令:

simpleFoam -help

当出现simpleFoam的使用帮助信息时,则表示OpenFoam已经安装成功。

1.2 其他Linux系统下的安装

其他linux系统下安装OpenFoam稍微有点麻烦,通常需要编译。不过如果实在搞不定的话,也可以尝试CFDSupport提供的# OpenFOAM® in Box,其已经打包好了所有的依赖项,不需要进行编译,唯一的缺点是版本更新有点慢。

1.3 windows下安装

在Windows下运行OpenFoam主要有两种方式.

  • 利用虚拟机

    安装虚拟机软件(如vmware、virtualBox之类),在虚拟机软件中安装linux系统,然后将Openfoam安装在虚拟中的linux系统中,安装过程与上述linux下安装方式完全相同,这里不再赘述。
  • 运行windows版本

    目前存在一些经过编译了的windows版本的OpenFoam,也可以选择使用。比较流行的Winows版本的OpenFoam包括:
  • BlueCFD。BlueCFD可以在windows下运行,采用MSYS模拟linux环境,目前支持4.0版本的openfoam。
  • OpenCFD。ESI公司收购OpenFoam后搞出来的版本,算是比较官方的版本,里面有linux预编译版和windows版,不过windows版本目前只支持3.x版本的OpenFoam。
  • CFD Support。CFD Support出品的OpenFoam for Windows也是一款非常好用的在windows下的openfoam,目前支持3.x版本的OpenFoam。
  • simflow。提供了用于windows下使用的OpenFoam引擎,同时还提供了一个前处理GUI。不过免费的GUI只支持少于10万个网格,更多的网格则需要交钱了。

    windows版本的安装方法很简单,就和常规的windows程序安装方式一样,这里就不详细描述其安装过程了。

【一起学OpenFoam】02 软件准备的更多相关文章

  1. 学EE做硬件找工作不如学CS做软件,为什么会这样?

    学EE做硬件找工作不如学CS做软件,为什么会这样? 电子工程(EE)就业最好的方向居然是转计算机,也许让有的人觉得很不公平,EE也是很重要的学科,我们学习也很努力,为什么就业会不如CS?也有的人好奇, ...

  2. 【一起学OpenFOAM】04 OpenFOAM的学习资源

    OpenFOAM的学习资料并不多,个人猜测也许是与软件的类型有关系. 对于商用软件来讲,由于要占领市场,软件开发商自然是巴不得会用软件的人越多越好,因为他们卖的是软件,会用的人越多,软件卖得越好.他们 ...

  3. 【一起学OpenFOAM】03 OpenFOAM基本使用流程

    OpenFOAM初学者常常对于软件的使用流程感到很迷惑,与其他的具有GUI的CFD软件不同,OpenFOAM的所有操作均为基于文本操作,譬如说里面各种计算模型.计算参数.流程控制参数等,均为通过修改对 ...

  4. 【一起学OpenFOAM】系列由来

    1 为什么要学习OpenFOAM 掐指算起来,接触CFD也差不多有十个年头了,其间一直使用的商用CFD软件,有Fluent.CFX.StarCCM+等,这些商用软件各有其优缺点,都能较好的解决常规的工 ...

  5. 【一起学OpenFoam】01 OpenFoam的优势

    CFD技术发展到今天,已经超过了大半个世纪了,已经涌现出非常多的CFD软件可供人们使用.通用商业CFD软件譬如Fluent.CFX.Star CCM+等在工业上得到了广泛的应用,另外一些专用的软件(如 ...

  6. 谷哥的小弟学前端(02)——HTML常用标签(2)

    探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架 ...

  7. 学java编程软件开发,非计算机专业是否能学

    近几年互联网的发展越来越好,在国外,java程序员已经成为高薪以及稳定职业的代表,虽然国内的有些程序员很苦逼,但是那只是少数,按照国外的大方向来看,程序员还是一个很吃香的职业.根据编程语言的流行程度, ...

  8. [从产品角度学EXCEL 02]-EXCEL里的树形结构

    这是<从产品角度学EXCEL>系列第三篇. 前言请看: 0 为什么要关注EXCEL的本质 1 excel是怎样运作的 或者你可以去微信公众号@尾巴说数 获得连载目录. 本文仅由尾巴本人发布 ...

  9. 从零开始学JAVA(02)-用Eclipse写hello World

    在安装好JAVA开发环境的前提下开始以下工作,以下文章参考http://blog.csdn.net/ojtojt/article/details/3476157文章,进行测试编写日记,内容版权归原作者 ...

随机推荐

  1. ASP.NET Core HTTP 管道中的那些事儿

    前言 马上2016年就要过去了,时间可是真快啊. 上次写完 Identity 系列之后,反响还不错,所以本来打算写一个 ASP.NET Core 中间件系列的,但是中间遇到了很多事情.首先是 NPOI ...

  2. 如何优雅的使用RabbitMQ

    RabbitMQ无疑是目前最流行的消息队列之一,对各种语言环境的支持也很丰富,作为一个.NET developer有必要学习和了解这一工具.消息队列的使用场景大概有3种: 1.系统集成,分布式系统的设 ...

  3. Javascript生成二维码(QR)

    网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成.本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于大流量的网 ...

  4. JavaScript性能优化

    如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...

  5. Android Ormlite 学习笔记2 -- 主外键关系

    以上一篇为例子,进行主外键的查询 定义Users.java 和 Role.java Users -- Role 关系为:1对1 即父表关系 Role -- Users 关系为:1对多 即子表关系 下面 ...

  6. .NET Core的文件系统[5]:扩展文件系统构建一个简易版“云盘”

    FileProvider构建了一个抽象文件系统,作为它的两个具体实现,PhysicalFileProvider和EmbeddedFileProvider则分别为我们构建了一个物理文件系统和程序集内嵌文 ...

  7. ZKWeb网页框架1.4正式发布

    本次更新的内容有 添加更快的批量操作函数 添加IDatabaseContext.FastBatchSave 添加IDatabaseContext.FastBatchDelete 注意这些函数不会触发注 ...

  8. [转载]Cookie/Session的机制与安全

    Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道.本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题. 因 ...

  9. JavaWeb——Listener

    一.基本概念 JavaWeb里面的listener是通过观察者设计模式进行实现的.对于观察者模式,这里不做过多介绍,大概讲一下什么意思. 观察者模式又叫发布订阅模式或者监听器模式.在该模式中有两个角色 ...

  10. linux拷贝命令,移动命令

    http://blog.sina.com.cn/s/blog_7479f7990101089d.html