教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

工程计算开源软件OpenFOAM

来源:网络收集 时间:2026-05-16
导读: 66 《高性能计算发展与应用》 2008年第二期 总第二十三期 工程计算开源软件OpenFOAM 陈小龙 上海超级计算中心 上海 201203 xlchen@ssc.net.cn 摘要: 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字,全部文档内容请下载后查看。喜欢就下载吧 ……

工程计算开源软件OpenFOAM.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/269754.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)