“工欲善其事必先利其器”,在利用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. 简谈百度坐标反转至WGS84的三种思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 基于百度地图进行数据展示是目前项目中常见场景,但是因为百度地图 ...

  2. CRC、反码求和校验 原理分析

    3月份开始从客户端转后台,算是幸运的进入全栈工程师的修炼阶段.这段时间一边是老项目的客户端加服务器两边的维护和交接,一边是新项目加加加班赶工,期间最长经历了连续工作三天只睡了四五个小时的煎熬,人生也算 ...

  3. ABP文档 - Javascript Api - AJAX

    本节内容: AJAX操作相关问题 ABP的方式 AJAX 返回信息 处理错误 HTTP 状态码 WrapResult和DontWrapResult特性 Asp.net Mvc 控制器 Asp.net ...

  4. 一步一步教你用CSS画爱心

    今天小颖给大家分享一个用CSS画的爱心,底下有代码和制作过程,希望对大家有所帮助. 第一步: 先画一个正方形.如图: <!DOCTYPE html> <html> <he ...

  5. 比Mysqli操作数据库更简便的方式 。PDO

    下面来说一下PDO 先画一张图来了解一下 mysqli是针对mysql这个数据库扩展的一个类 PDO是为了能访问更多数据库 如果出现程序需要访问其他数据库的话就可以用PDO来做 PDO数据访问抽象层1 ...

  6. Java学习之反射机制及应用场景

    前言: 最近公司正在进行业务组件化进程,其中的路由实现用到了Java的反射机制,既然用到了就想着好好学习总结一下,其实无论是之前的EventBus 2.x版本还是Retrofit.早期的View注解框 ...

  7. JS的内建函数reduce

    @(js) reduce函数,是ECMAScript5规范中出现的数组方法.在平时的工作中,相信大家使用的场景并不多,一般而言,可以通过reduce方法实现的逻辑都可以通过forEach方法来变相的实 ...

  8. 利用for循环找出1000以内的质数

    var n=0; for(var i=2;i<=1000;i++){  var zhishu=true;  for(var j=2;j<i;j++){    if(i%j==0){    ...

  9. java统计字符串单词的个数

    在一些项目中可能需要对一段字符串中的单词进行统计,我在这里写了一个简单的demo,有需要的同学可以拿去看一下. 本人没怎么写个播客,如果有啥说的不对的地方,你来打我啊 不说废话了直接贴代码: 实现代码 ...

  10. git 命令总结

    1 删除分支 git push origin :branch name(Task_******) //删除远程分支 git branch -D branch name(Task_******)     ...