贤人好客 / 开源项目 / OpenFOAM开源有限元软件

分享

   

OpenFOAM开源有限元软件

2010-08-11  贤人好客
1.    软件背景介绍

OpenFOAM的前身为FOAM(Field Operation and Manipulation的简写),后来作为开源代码公布到网上,任何人都可以自由下载和传播她的源代码。其作者之一Hrvoje Jasak为克罗地亚(南斯拉夫成员国)人,1993年在读PhD期间开始写FOAM。在2004年,OpenFOAM软件的创始人与主要开发者Henry Weller将该软件开源化,与此同时成立了OpenCFD公司,专门进行OpenFOAM软件的研发、技术支持和官方培训。其官方网站为www.openfoam.org

OpenFOAM(Open Fi e ld Ope r a t i on and Manipulation的简称)软件可以模拟复杂流体流动、化学反应、湍流流动、换热分析等现象,还可以进行结构动力学分析、电磁场分析以及金融评估等。
该软件由OpenCFD公司开发维护,在GNU General Public License许可下可以自由下载和发布。OpenFOAM软件的核心技术为一系列的高效C++模块数据包,利用这些数据包可以构造出一系列有效的求解器、辅助工具和库文件,用来模拟特定的工程机械问题和进行前后处理,包括数据处理、图形显示、网格处理、物理模型和求解器接口等。

OpenFOAM提供了许多预编译好的求解器、辅助工具和模型库等,可以模拟一系列复杂问题。同时它也是一款开源软件,用户可以扩展软件本身的功能和处理能力。该软件开源化不仅仅在于其程序代码对外公开,而且其软件程序结构和软件架构设计也开源化。因此用户可以最大程度地拓展程序以实现用户自定义功能。

OpenFOAM 是一个完全由C++编写的面向对象的CFD类库,采用类似于我们日常习惯的方法在软件中描述偏微分方程,采用有限体积法对偏微分方程进行求解。软件支持三维任意多面体网格(比如CDadapco公司推出的CCM+生成的多面体网格),因而可以处理复杂的几何外形,支持区域分解并行计算等。
2.    软件架构

OpenFOAM软件首先是一个C++库文件包,它包含许多可执行文件(也称为应用程序包)。从文件组织结构来说这些应用程序大体可以分为两大类:求解器和辅助工具。求解器用来求解连续介质力学中的某个特定问题,而辅助工具主要用来进行数据操作、辅助求解器完成计算任务。

从程序实现功能的角度来看,OpenFOAM软件同众多商业CFD软件一样,包括核心求解器、前处理和后处理三大模块。

而从程序开发的角度来看,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、apField等工具。

后处理方面
软件自带有paraFoam模块,可以对OpenFOAM软件的数据直接进行读取。paraFoam基于开源可视化软件ParaView开发,可以进行一些常用的后处理操作,如网格显示、云图显示、等值面显示、曲线绘制等等。此外,软件包含有与第三方软件的接口工具,可以通过专业的后处理软件进行数据处理,如foamToEnsight、foamToFieldview、foamToGMV、smapToFoam等。Ensight软件也可以直接读取 OpenFOAM软件的计算结果。
网格方面
软件支持各种各样的多面体非结构化网格,包括四面体、立面体、棱柱网格、Polehedral等。网格生成的时候即可以在自带的 FoamX前处理器里进行简单操作(blockMesh),也可以接受其他网格处理软件生成的网格,包含有多种网格转换工具如cfxToFoam、 fluentMeshToFluent、mshToFoam、ansysToFoam等。对于网格模型数据,可以进行网格编辑操作和网格质量检查,如网格移动、旋转、细化、重编号、网格分割、动网格等。

物理模型
软件包含有先进的物理模型,用来模拟可压与不可压缩流体、牛顿与非牛顿流体。湍流模型方面既有常规的层流、S-A模型,还包括各种
各样的k-e模型,还包括有丰富的大涡模拟模拟,如各种Smagorinsky模型、scale similarity模型、spectraleddy viscosity模型等等。另外OpenFOAM还具有以下功能和特点:
燃烧模拟。
拉格朗日粒子追踪及射流。
滑移网格,网格层消等。
各种各样的工具箱,包括各种ODE求解器、ChemKIN接口等。
自动生成动网格与网格转换工具,可以转换多种网格形式为FOAM可以处理的网格形式。
支持多种网格接口。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多

    ×
    ×

    ¥.00

    微信或支付宝扫码支付:

    开通即同意《个图VIP服务协议》

    全部>>