“工欲善其事必先利其器”,在利用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. win10 环境 gitbash 显示中文乱码问题处理

    gitbash 是 windows 环境下非常好用的命令行终端,可以模拟一下linux下的命令如ls / mkdir 等等,如果使用过程中遇到中文显示不完整或乱码的情况,多半是因为编码问题导致的,修改 ...

  2. Android UI体验之全屏沉浸式透明状态栏效果

    前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...

  3. Js new到底发生了什么

    在Js中,我们使用了new关键字来进行实例化 那么在这个new的过程中到底发生了什么? 关于构造函数的return 正常来讲构造函数中是不用写return语句的,因为它会默认返回新创建的对象. 但是, ...

  4. Canvas绘图之平移translate、旋转rotate、缩放scale

    画布操作介绍 画布绘图的环境通过translate(),scale(),rotate(), setTransform()和transform()来改变,它们会对画布的变换矩阵产生影响. 函数 方法 描 ...

  5. Zabbix基本配置及监控主机

    监控主机一版需要在被监控的主机上安装Zabbix Agent 监控主机 安装zabbix-agent 首先需要在被监控的主机上安装agent,可以下载预编译好的RPM进行安装,下载地址:http:// ...

  6. AES加密

    package com.edu.hpu; import java.math.BigInteger; import java.security.MessageDigest; import java.se ...

  7. 协议森林16 小美的桌号(DHCP协议)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...

  8. Node.js:理解stream

    Stream在node.js中是一个抽象的接口,基于EventEmitter,也是一种Buffer的高级封装,用来处理流数据.流模块便是提供各种API让我们可以很简单的使用Stream. 流分为四种类 ...

  9. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  10. ES6的一些常用特性

    由于公司的前端业务全部基于ES6开发,于是给自己开个小灶补补ES6的一些常用特性.原来打算花两天学习ES6的,结果花了3天才勉强过了一遍阮老师的ES6标准入门(水好深,ES6没学好ES7又来了...) ...