工程计算开源软件OpenFOAM
66
《高性能计算发展与应用》 2008年第二期 总第二十三期
工程计算开源软件OpenFOAM
陈小龙 上海超级计算中心 上海 201203 xlchen@ssc.net.cn
摘要:
OpenFOAM是一款开源的连续介质计算力学软件包,包括计算流体力学。本文针对OpenFOAM软件的发展历程、程序功能和使用方法进行初步介绍,并描述该软件在上海超级计算中心曙光4000A上的移植与编译过程,同时给出了软件的基本使用方式和操作过程。
1. 软件背景介绍
OpenFOAM的前身为FOAM(Field Operation and Manipulation的简写),后来作为开源代码公布到网上,任何人都可以自由下载和传播她的源代码。其作者之一Hrvoje Jasak为克罗地亚(南斯拉夫成员国)人,1993年在读PhD期间开始写FOAM。在2004年,OpenFOAM软件的创始人与主要开发者Henry Weller将该软件开源化,与此同时成立了OpenCFD公司,专门进行OpenFOAM软件的研发、技术支持和官方培训。
其官方网站为www.openfoam.org 。
OpenFOAM(Open Field Operation and Manipulation的简称)软件可以模拟复杂流体流动、化学反应、湍流流动、换热分析等现象,还可以进行结构动力学分析、电磁场分析以及金融评估等。该软件由OpenCFD公司开发维护,在GNU General Public License许可下可以自由下载和发布。
OpenFOAM软件的核心技术为一系列的高效C++模块数据包,利用这些数据包可以构造出一系列有效的求解器、辅助工具和库文件,用来模拟特定的工程机械问题和进行前后处理,包括数据处理、图形显示、网格处理、物理模型和求解器接口等。
OpenFOAM提供了许多预编译好的求解器、辅助工具和模型库等,可以模拟一系列复杂问题。同时
它也是一款开源软件,用户可以扩展软件本身的功能和处理能力。该软件开源化不仅仅在于其程序代码对外公开,而且其软件程序结构和软件架构设计也开源化。因此用户可以最大程度地拓展程序以实现用户自定义功能。
OpenFOAM是一个完全由C++编写的面向对象的CFD类库,采用类似于我们日常习惯的方法在软件中描述偏微分方程,采用有限体积法对偏微分方程进行求解。软件支持三维任意多面体网格(比如CD-adapco公司推出的CCM+生成的多面体网格),因而可以处理复杂的几何外形,支持区域分解并行计算等。
2. 软件架构
OpenFOAM软件首先是一个C++库文件包,它包含许多可执行文件(也称为应用程序包)。从文件组织结构来说这些应用程序大体可以分为两大类:求解器和辅助工具。求解器用来求解连续介质力学中的某个特定问题,而辅助工具主要用来进行数据操作、辅助求解器完成计算任务。
从程序实现功能的角度来看,OpenFOAM软件同众多商业CFD软件一样,包括核心求解器、前处理和后处理三大模块。具体组成如下:
图1 OpenFOAM软件组织结构
而从程序开发的角度来看,OpenFOAM软件主要基于以下几个主要的类及其相互之间的作用。
1、Primitive与Container----基础类及容器类2、描述空间及时间的类3、张量的数学运算类
4、Field、Dimension Set、Boundary Conditon和Geometric Field---场、量纲、边界条件及几何场
5、Mesh---网格类6、积分、微分及离散类7、矩阵类
8、描述PDE(偏微分方程)的类9、物理模型类
在OpenFOAM中代码的组织,及类的区分和实现都是基于以上这些部分分别编写的
3. 软件功能
OpenFOAM软件可以模拟复杂流体流动、化学反应、湍流流动、换热分析等现象,还可以进行结构动力学分析、电磁场分析。具体功能分述如下:
求解方面 用户可以进行基本的CFD分析,可压与不可压缩流动分析、多相流分析、燃烧分析、热分析以及电磁场和结构动力学耦合分析。
前处理方面 软件拥有自己的JAVA/C++图形界面——case管理器FoamX,可以对case进行管理,对模型数据进行操作、设置边界条件和求解设置等内容,此外还有其他一些直接对数据进行操作的辅助
工具,如setField、MapField等工具。
图2 FoamX前处理界面
后处理方面 软件自带有paraFoam模块,可以对OpenFOAM软件的数据直接进行读取。paraFoam基于开源可视化软件ParaView开发,可以进行一些常用的后处理操作,如网格显示、云图显示、等值面显示、曲线绘制等等。此外,软件包含有与第三方软件的接口工具,可以通过专业的后处理软件进行数据处理,如foamToEnsight、foamToFieldview、foamToGMV、smapToFoam等。Ensight软件也可以直
接读取OpenFOAM软件的计算结果。
工程计算应用软件系列介绍
67
图3 paraFoam后处理界面
网格方面 软件支持各种各样的多面体非结构化网格,包括四面体、立面体、棱柱网格、Polehedral等。网格生成的时候即可以在自带的FoamX前处理器里进行简单操作(blockMesh),也可以接受其他网格处理软件生成的网格,包含有多种网格转换工具如cfxToFoam、fluentMeshToFluent、mshToFoam、ansysToFoam等。对于网格模型数据,可以进行网格编辑操作和网格质量检查,如网格移动、旋转、细化、重编号、网格分割、动网格等。
物理模型 软件包含有先进的物理模型,用来模拟可压与不可压缩流体、牛顿与非牛顿流体。湍流模型方面既有常规的层流、S-A模型,还包括各种各样的k-e模型,还包括有丰富的大涡模拟模拟,如各种Smagorinsky模型、scale similarity模型、spectral
eddy viscosity模型等等。另外OpenFOAM还具有以下
功能和特点:
燃烧模拟
拉格朗日粒子追踪及射流滑移网格,网格层消等
各种各样的工具箱,包括各种ODE求解器、ChemKIN接口等
自动生成动网格与网格转换工具,可以转换多种网格形式为FOAM可以处理的网格形式
支持多种网格接口
4. 软件移植与安装
4.1 软件推荐安装软硬件要求
硬件要求:至少128M内存,磁盘空间大约需要600M,在安装过程中需要使用大约1-2G硬盘空间作
《高性能计算发展与应用》 2008年第二期 总第二十三期
临时存储空间
操作系统:SuSE10.1及以上通讯库:MPI
编译器:GCC4.1.2及以上,或Intel C++ 9.14.2 上海超级计算中心曙光4000A软硬件环境
硬件环境:曙光4000A机群系统,单节点四路AMD Opteron 850,8G RAM
…… 此处隐藏:2081字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




