OpenFOAM报告ppt—中冶赛迪2011.01

合集下载

openfoam入口流速加入正弦函数

openfoam入口流速加入正弦函数

openfoam入口流速加入正弦函数摘要:1.OpenFOAM 简介2.入口流速加入正弦函数的背景和目的3.正弦函数的选取和参数设置4.加入正弦函数后的数值模拟结果5.结果分析和讨论6.结论正文:1.OpenFOAM 简介OpenFOAM 是一个开源的计算流体力学(CFD)软件,广泛应用于工程领域的流体动力学问题的数值模拟和分析。

OpenFOAM 采用求解器耦合技术,可以灵活地解决各种复杂的流体动力学问题,为研究者提供了强大的数值模拟平台。

2.入口流速加入正弦函数的背景和目的在实际工程中,流体的运动往往受到许多复杂因素的影响,例如,入口流速的波动。

为了更好地模拟这种波动,研究者可以在OpenFOAM 中加入正弦函数,以构建一个更为真实的流场。

加入正弦函数的目的是使模拟结果更接近实际情况,提高数值模拟的准确性和可靠性。

3.正弦函数的选取和参数设置在OpenFOAM 中,正弦函数的选取和参数设置对于模拟结果具有重要影响。

研究者需要根据实际情况和模拟需求,选取合适的正弦函数和参数。

通常情况下,正弦函数可以表示为:f(x,y,z,t) = A * sin(ωx * t + φ),其中A 表示振幅,ω表示角频率,t 表示时间,φ表示初相位。

正弦函数的参数需要通过调整A、ω和φ来实现最佳的模拟效果。

4.加入正弦函数后的数值模拟结果在OpenFOAM 中加入正弦函数后,可以对流场进行数值模拟。

通过调整正弦函数的参数,研究者可以获得一系列的模拟结果。

这些结果可以帮助研究者更好地理解流场的波动特性,为实际工程应用提供理论依据。

5.结果分析和讨论对加入正弦函数后的数值模拟结果进行分析和讨论,可以发现正弦函数对流场波动的影响。

结果表明,正弦函数的参数对流场波动具有显著影响。

适当调整正弦函数的参数,可以使模拟结果更接近实际情况,提高数值模拟的准确性和可靠性。

6.结论通过在OpenFOAM 中加入正弦函数,可以实现对流场波动的更为真实的模拟。

OpenFoam标准求解器

OpenFoam标准求解器

OpenFoam标准求解器基本CFD求解器laplacianFoam 求解简单的拉普拉斯(Laplace)方程,如固体中的热传递potentialFoam 势流(potential flow)求解器,可用于生成Navier-Stokes代码的初始解scalarTransportFoam 求解被动标量(scalar)的转换方程不可压缩流动adjointShapeOptimiz- ationFoam 稳态求解,非牛顿流体的不可压缩、紊流。

在区域中应用blockage引起压力损失(使用伴随矩阵评估)从而优化管道形状boundaryFoam 不可压缩一维紊流的稳态求解,常用于生成入口的边界层条件icoFoam 牛顿流体的不可压缩层流的瞬态求解器。

nonNewtonianIcoFoam 非牛顿流体的不可压缩层流的瞬态求解器。

pimpleDyMFoam 瞬态求解器,牛顿流体不可压缩,使用PIMPLE(PISOSIMPLE的简写)算法的移动网格pimpleFoam 大时间步的瞬态求解器,不可压缩,使用PIMPLE 算法pisoFoam 不可压缩瞬态求解器porousSimpleFoam 稳态求解,不可压缩紊流,内在或外在的孔隙度porosity处理shallowWaterFoam 瞬态求解,无粘性旋转浅水方程simpleFoam 稳态求解,不可压缩紊流SRFSimpleFoam 稳态求解,非牛顿流体不可压缩紊流,in single rotating frame SRFPimpleFoam 大时间步瞬态求解,单一旋转框架中的不可压缩流动,使用PIMPLE算法可压缩流动rhoCentralDyMFoam 基于密度的可压缩流动求解器,Kurganov and Tadmor中心迎风方法,可移动网格、紊流模型rhoCentralFoam 基于密度的可压缩流动求解器,Kurganov and Tadmor中心迎风方法rhoLTSPimpleFoam 稳态求解,可压缩流体的线性或紊流,支持运行时修改有限体积选项,如MFR、显式多孔性rhoPimplecFoam 稳态求解,可压缩流体的线性或紊流,用于HV AC或相似应用rhoPimpleFoam 同上rhoPorousSimpleFoam 可压缩流体紊流的稳态求解,RANS紊流模型,显式或隐式多孔性,运行时可选有限体积选项rhoSimplecFoam SIMPLEC稳态求解,可压缩流体的紊流或层流RANS流动rhoSimpleFoam 同上sonicDyMFoam 瞬态,超声波,网格运动的可压缩气体,层流或紊流sonicFoam 瞬态,超声波,可压缩气体,层流或紊流sonicLiquidFoam 瞬态,超声波,可压缩液体,层流多相流动cavitatingDyMFoam 瞬态气化,通过均一平衡模型获得液体/蒸汽混合物的压缩性系数,网格可动,网格布局可改,可重新生成网格cavitatingFoam 瞬态气化,通过均一平衡模型获得液体/蒸汽混合物的压缩性系数compressibleInterDyMFoa m 两种可压缩,非等温,不相溶的流体,使用VOF相分数,网格可动,网格布局可改,可重新生成网格compressibleInterFoam 两种可压缩,非等温,不相溶的流体,使用VOF相分数compressibleMulti-phaseInterFoamn种可压缩,非等温,不相溶的流体,使用VOF相分数interFoam 两种不可压缩,非等温,不相溶的流体,使用VOF相分数interDyMFoam 两种不可压缩,非等温,不相溶的流体,使用VOF相分数,网格可动,网格布局可改,可重新生成网格interMixingFoam 3种不可压缩流体,其中两种可溶,使用VOF 方法捕获相界面interPhaseChangeFoam 两种不可压缩,非等温,不相溶的流体,伴随相变。

OpenFOAM学习总结

OpenFOAM学习总结

OpenFoam的学习总结OpenFoam与Fluent,Star-CD等相比较,具有更高的求解效率与灵活性,并且可以根据用户的需要自己构建求解器和定义相应的离散方法。

一、实例操作篇1、例子的结构2、求解实例的步骤:1)导入网格。

将Fluent中生成的网格文件.msh导入到OpenFoam中需要执行fluentMeshToFoam命令。

通过该命令导入的网格由于软件转换的不足,需要使用者在执行前检查导入网格的边界条件是否正确,只有在网格边界条件正确的情况下才能执行计算命令。

2)检查网格。

命令为checkMesh3)设置相应的物性参数,如在case1/constant/transportProperties路径下设定运动粘度(nu)。

4)设定初始条件,如在case1/0/p路径下设定初始状态下的压力场。

5)对计算时间和输入/输出数据的控制。

如在case1/system/controlDict路径下设定相应的起始/终止时间,一定的时间步,输出的格式或精度,输出的时间间隔等。

6)设定各个求解量的离散格式,如在case1/system/fvSchemes路径下设定时间的离散格式为欧拉格式,即:ddtSchemes {default Euler}。

7)设定求解器,求解方法,以及松弛因子等,如在case1/system/fvSolution路径下设定求解方法为PISO方法。

8)执行求解命令,如icoFaom –case case1。

9)导出数据。

如果导出网格数据用foamMeshToFluent命令,如果导出计算结果数据用foamDataToFluent命令。

10) 用Fluent等软件查看计算结果。

3、并行求解实例1)在需要并行求解的例子目录下面创建decomposeParDict文件,对其中包含的内容进行设置。

注:在decomposeParDict文件中包含的内容有:需要的并行处理器的个数;分割数据的方法,包括simple(按照xyz的顺序,对各个方向的分块数进行设定),hierarchical(对各个方向的分块数进行设定,各方向的顺序可以更改),metis(按照各个处理器需要分配的比重进行分配),manual(手动进行人工分配,需包含分配的文件);分散后的数据是否需要分配在不同的磁盘,如果需要则应该写明分配磁盘的路径。

openfoam使用步骤

openfoam使用步骤

openfoam使用步骤openfoam使用步骤[转载]使用openfoam的基本流前处理主要包括:网格的生成,物理参数的设定,初始边界条件的设定,求解控制设定,方程求解方法的选择,离散格式的选择。

网格生成:OpenFOAM带有自己的网格生成功能blockMesh,他可以生成块结构化网格,使用比较简单,但对于复杂几何,该功能实施比较复杂。

可以采用其网格软件如:gridgen,pointwise,gambit,icemcfd,tetgen,gmesh,ansys等生成网格,通过网格转换功能将其转换为openfoam可识别的网格。

我本人通常采用gridgen生成fluent网格,再采用fluentMeshT oFaom功能转换为openfoam可识别网格。

物理参数的设置:OpenFOAM中的物理参数文件都在当前case文件夹里面的constant文件夹中,里面常用的文件通常常有environmentalProperties:设定环境参数,重力加速度transportProperties:传输相关参数,比如黏性,密度,对于非牛顿流体的黏性模型及其参数等LESProperties:大涡模型及其相关的模型参数RASProperties: 雷诺时均模型及其相关模型参数thermodynamicProperties:热物理相关参数这些文件的名字由solver里面定义,可以任意更改,上面书写是openfoam中的一个惯例,至于如何更改,请参看solver说明。

初始边界条件的设定:初始条件和边界条件设定都在case文件夹中的0文件夹中,在Openfoam中,每个求解变量都有自己的单独的求解文件,下面以/OpenFOAM/OpenFOAM-1.5/tutorials/icoFoam/cavity/0/p压力文件为例进行说明FoamFile //文件头{version 2.0; //版本号format ascii; //存储形式二进制或者asciiclass volScalarField;//场的类型,体心标量场object p; //场的名字}// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ////场的单位,应当注意这里的压强单位并非实际压强,而是压强除去密度(p/rho)的单位//因为openfoam对动量方程直接求解的速度dimensions [0 2 -2 0 0 0 0];//初始条件:内部场为均匀场,所有全为0,如果不均匀场则采用setField或者funkySetField对初始场进行//设置,如何使用这些功能,以后再说明。

openfoam十周培训讲义 30次授课内容

openfoam十周培训讲义 30次授课内容

openfoam十周培训讲义 30次授课内容OpenFOAM是一个自由开源的计算流体力学(CFD)软件包,被广泛应用于工程领域。

为了帮助初学者快速掌握OpenFOAM的使用,一共进行了30次培训授课。

以下是这30次授课内容的总结。

第一次授课:介绍OpenFOAM的背景和基本理论知识。

介绍CFD的基本概念和方程式(Navier-Stokes、连续性方程等),并解释如何在OpenFOAM中实现这些方程。

第二次授课:介绍OpenFOAM的安装和配置。

讲解如何下载、安装和配置OpenFOAM,并演示如何设置环境变量、建立工作目录等基本操作。

第三次授课:开展第一个OpenFOAM案例。

介绍如何使用OpenFOAM 进行基本的流体模拟,包括如何准备网格、设置边界条件、运行求解器等。

第四次授课:介绍网格生成工具。

讲解如何使用snappyHexMesh 进行网格生成,以及常见的参数设置和技巧。

第五次授课:使用其他网格生成工具。

介绍使用其他网格生成工具(如blockMesh、cfMesh)的方法和注意事项。

第六次授课:介绍OpenFOAM的网格后处理工具。

演示如何使用paraFoam、Post-processing等工具进行结果的可视化和分析。

第七次授课:介绍OpenFOAM的物理模型。

讲解如何在OpenFOAM中设置不同的物理模型(湍流模型、辐射模型等),并解释每种模型的应用范围和限制。

第八次授课:讲解多相流模拟。

介绍如何使用OpenFOAM进行多相流模拟,包括欧拉-拉格朗日法、欧拉-欧拉法等。

第九次授课:介绍OpenFOAM的边界条件。

讲解不同类型的边界条件的设置方法和使用技巧。

第十次授课:介绍OpenFOAM的求解器。

讲解OpenFOAM中常用的求解器(如icoFoam、simpleFoam、pisoFoam等)的原理和使用方法。

第十一次授课:介绍OpenFOAM的并行计算方法。

讲解如何使用OpenFOAM进行并行计算,提高计算效率。

openfoam量纲

openfoam量纲

openfoam量纲
摘要:
1.OpenFOAM 简介
2.OpenFOAM 的量纲设置
3.OpenFOAM 中常用的量纲单位
4.OpenFOAM 的量纲转换
正文:
1.OpenFOAM 简介
OpenFOAM 是一个开源的计算流体力学(CFD)软件,广泛应用于工程领域,如流体动力学、热传导、传质过程等。

OpenFOAM 基于有限体积法(Finite Volume Method, FVM)进行求解,能够模拟复杂的三维流场,并提供高效的并行计算支持。

2.OpenFOAM 的量纲设置
在OpenFOAM 中,量纲是模拟过程中一个重要的设置。

合理的量纲设置能够确保模拟结果的准确性和可靠性。

OpenFOAM 中的量纲主要包括长度、时间、质量、能量和角度等。

3.OpenFOAM 中常用的量纲单位
在OpenFOAM 中,常用的量纲单位如下:
- 长度:米(m)
- 时间:秒(s)
- 质量:千克(kg)
- 能量:焦耳(J)
- 温度:开尔文(K)
- 压力:帕斯卡(Pa)
4.OpenFOAM 的量纲转换
在OpenFOAM 中,如果需要对模拟过程中的量纲进行转换,可以使用以下方法:
- 利用OpenFOAM 的转换函数,如` convertUtility()`函数进行单位转换。

- 在OpenFOAM 的输入文件中,使用`$convert`指令进行量纲转换。

总之,OpenFOAM 中的量纲设置对于模拟结果的准确性至关重要。

用户需要根据实际问题选择合适的量纲单位,并在模拟过程中进行合理的量纲转换。

OpenFoam文档

OpenFoam文档

i
Preface
The OpenFOAM CFD Toolbox has been used to build a wealth of solvers on fluid flows involving chemical reactions,turbulence and heat transfer. Algorithms on these solvers are hidden in the C++ codes.For the beginners,it is necessary to have the related document to be familiar with them.This book is for the purpose to document the algorithms on solvers.Readers will improve the knowledge of the CFD when they know how OpenFOAM implement this solvers.It is not a miracle,it is our thought.
Algorithm on Solvers and Models in OpenFOAM
YinLiang
() May 5, 2008
Copyright c 2008 YinLiang.The copyright of all objects in the website are belonged to Copyright Holder,online archives made free-cost to researchers.You may not copy and distribute the Document in any medium commercially without Copyright Holder’s permission.

openfoam reactingfoam解析

openfoam reactingfoam解析

openfoam reactingfoam解析【原创实用版】目录1.OpenFOAM 简介2.ReactingFOAM 的特点与应用3.ReactingFOAM 的解析方法正文1.OpenFOAM 简介OpenFOAM 是一个开源的计算流体力学(CFD)软件,广泛应用于工程领域,如航天、汽车、能源等。

它提供了一个强大的平台,用户可以在此基础上开发和模拟各种流体问题。

OpenFOAM 具有灵活的网格技术、高效的求解器和丰富的湍流模型,能够满足不同工程需求。

2.ReactingFOAM 的特点与应用ReactingFOAM 是 OpenFOAM 中的一个反应动力学模块,主要用于模拟含有化学反应的流体问题。

它具有以下特点:(1)可模拟多种化学反应,包括气体、液体和固体的化学反应;(2)考虑了反应物和生成物的传输过程,包括扩散和湍流输运;(3)支持多相流和气液两相流反应;(4)提供多种反应模型,如动力学模型、平衡模型和非平衡模型。

ReactingFOAM 在化工、能源、环境等领域具有广泛的应用,例如燃烧过程、催化剂研究、废气处理等。

3.ReactingFOAM 的解析方法对于 ReactingFOAM 的解析,通常需要通过以下几个步骤进行:(1)准备模型:根据实际问题,选择合适的反应模型和湍流模型,编写相应的 OpenFOAM 模型文件;(2)创建网格:使用 OpenFOAM 的网格工具创建三维网格,并对网格进行预处理,如设置边界条件和初始条件;(3)运行仿真:使用 OpenFOAM 运行仿真,得到流场和浓度分布等数据;(4)后处理:使用 OpenFOAM 的后处理工具对结果进行可视化和分析,如流线图、等值线图等;(5)结果验证:将仿真结果与实验数据或理论分析进行对比,验证模型的正确性和可靠性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Xi’an Jiaotong University
OpenFOAM 一种开源计算程序包 种开源计算程序包
苏军伟
2011.01于中冶赛迪
Xi’an Jiaotong University
作者简历
学习经历
2000-2004年西安交通大学过程装备与控制工程系、计算机科学与技术系
学士 2004-2007 2004 2007年西安交通大学过程装备与控制工程系 工学硕士 2007-至今 西安交通大学机械工程学院博士在读 2008-2009年在Imperial college London(OpenFOAM发源地)访问博士
–柴油雾化库 –Intermediate –CDEM的设计理念
作者blog:/openfoamresearch
Xi’an Jiaotong University
基本内容
OpenFOAM O FOAM的求解器及其前后物理功能 OpenFOAM常用基础类
作者blog:/openfoamresearch
Xi’an Jiaotong University
OpenFOAM功能库介绍
拉格朗日
cloud类 • src\OpenFOAM\fields\cloud\ • 功能 Cloud 类模板 • src\lagrangian\basic\Cloud • 功能
工学双
研究方向
多相流体力学数值模拟 描述任意复杂区域内密相颗粒流离散单元程序包(Jasak, 4th workshop) 描述生物反应器传质过程模型 任意非结构化网格有限容积Lattice Boltzmann模型 描述多分散系统的群体平衡模型 单相流动拓扑优化求解器 全隐式浮力驱动流求解器 一种全隐式是任意多区域共轭换热求解器
Xi’an Jiaotong University
OpenFOAM功能库介绍
Xi’an Jiaotong University
O FOAM发展史 OpenFOAM
什么是Foam F Field Operation And Manipulation(场的运算与操作) 伦敦帝国理工学院机械工程系,93年Hrvoje Jasak在做博士论文时候和HenryWeller等通过开发 基于C++的CFD软件包(更确切:一种CFD语言) Nabla公司() 2004年8月2日Foam2.3发布 OpenFOAM 2004 年 12 月 Henry Weller 的 OpenCFD 公 司 () 成 立 并 发 布 开 源 的 Foam OpenFOAM1.0 2004年12月Hrvoje Jasak的Wikki公司()成立,并维护OpenFOAM的扩充 2007年9月Hrvoje Jasak的OpenFOAM extension工程确立,实现在OpenCFD ltd发布的OpenFOAM上 进一步完善 当前的版本 OpenCFD(Henry Weller等人)稳定版:OpenFOAM 1.7 开发版:OpenFOAM 1.7.x Wikki稳定版:OpenFOAM-dev O FOAM d 1.5 1 5 (压缩包) 开发版:OpenFOAM-dev 1.5 (实时更新版)
作者blog:/openfoamresearch
Xi’an Jiaotong University
OpenFOAM功能库介绍
基础矩阵类 • 稀疏矩阵类:lduMatrix • 临近节点寻址:lduAddressing • 代数方程器求解器 •
– 预条件共轭梯度求解器PCG/PBICG – 光滑求解器 smoothSolver – 代数多重网格求解器 预条件器 – 对角不完全Cholesky(对称矩阵);DIC – 快速对角不完全Cholesky;FDIC – 对角不完全LU(反对称矩阵);DILU – 对角预条件器;diagonal – 代数多重网格求解器;GAMG – 没有预条件器;none 光滑器 – 高斯赛德尔;GaussSeidel – 对角不完全Cholesky(对称矩阵);DIC – 高斯赛德尔+对角不完全Cholesky(对称矩阵)DICGaussSeidel – 对角不完全LU(反对称矩阵);DILU – 高斯赛德尔+对角不完全LU(反对称矩阵)DILUGaussSeidel 书:Yousef Saad, Iterativemethods for Sparse Linear Systems
作者blog:/openfoamresearch


Xi’an Jiaotong University
OpenFOAM功能库介绍
有限容积库 有 容 库
数值离散:fvm • ddt, ddt d2dt2, d2dt2 div, div laplacian, laplacian sp, sp SuSp 表面插值格式(TVD非延迟修正) • QU QUICK, C , upw upwind, d, supe superBee, ee, 多项式拟合等 算子:fvc • ddt, div, grad, curl, laplacian等 场内点插值 • Cell • cellPoint llP i t • cellPointFace 有限容积矩阵类 fvMatrix(lduMatrix子类)
–粒子集合的顶层类,本类主要负责粒子的输入和输出位置管理 –父类是ObjectRegistry,使得粒子集可以在程序任何位置被访问 –本身并不存储粒子
–负责粒子集的管理,粒子的存储、增加、删除、移动等 –父类cloud和IDLList类,IDLList为双链表类模板 –负责position的输入输出 –负责 IOField 对象的构建和有效性检查( cloud 的每个粒子的属性都是通过 IOField来输入输出的) • 以存储对象为模板参数
作者blog:/openfoamresearch
Xi’an Jiaotong University
OpenFOAM功能库介绍
db库 • 字典类(dictionary) • • • • •
– 参数控制 对象注册机(objectRegistry) –Time, i mesh, h cloud l d – 对象容器、输出统一控制、任何地方方便查找 对象注册类(regIOobject) – 定义可以在对象注册机注册的对象,比如字典 运行期选择表: 行 选择表 runTimeSelection – 对象动态创建(C++不允许构造器虚拟),单一接口、多重实现的基础 – 湍流模型、差分格式、粘性模型等 库的动态加载:dlLibraryTable – 函数对象:functionObject – 独立于solver的solver功能的附加 时间基本库:Time – 控制整个程序运行 – 参数修改重新加载 – 库的动态加载 – 所有注册对象的容器
器id,初始id) • 负责位置跟踪 –方法:trackToFace: 从当前位置移动到经过的面
from l to

l | to from |
–优点: 时刻知道粒子所在网格单元,避免粒子网格单元确定,容易 CFD耦合 任意多面体网格内的颗粒跟踪 –缺点:纯颗粒流动计算也需要内部网格
作者blog:/openfoamresearch
作者blog:/openfoamresearch
Xi’an Jiaotong University
OpenFOAM功能库介绍
Particle P i l 类模板
src/lagrangian/basic/Particle 功能 • 负责存储粒子的基本属性(位置、所在单元、所在面,初始的处理
作者blog:/openfoamresearch
目前已经基于OpenFOAM的工作
Xi’an Jiaotong University
作者blog:/openfoamresearch
Xi’an Jiaotong University
check=full ,检查内存泄露情况)
--tool=memcheck --leak-
插值相关 • 点单元:interpolatePointToCell • xy插值:interpolateXY • 插值表:interpolationTable • 边界patchToPatchInterpolation
作者blog:/openfoamresearch
Xi’an Jiaotong University
基本内容
OpenFOAM O FOAM发展史 OpenFOAM下的微分方程 OpenFOAM功能库介绍 基础库 有限容积库
拉格朗日 • 拉格朗日库的几种设计方式 动网格 湍流模型库 传输模型库
Xi’an Jiaotong University
OpenFOAM功能库介绍
基础库
基本数据类型 • C++所有类型 • scalar, vector, tensor, quaternion, septernion, complex, Switch 等 复合数据类型 • List, Field, linkList, DLList, ptrList等 场类型 • Field:一串数,连续空间,模板类。类名:Field • 边界条件:一串数+边界。类名patchField • 单位:7个国际单位制。类名 个国际单位制 类名dimensionSet • 几何场:Field+边界条件。类名GeometricField • 场操作:+,-,*,/,sin, cos,等

作者blog:/openfoamresearch
Xi’an Jiaotong University
OpenFOAM下的微分方程
连续力学数学表达:微分方程 连续力学数学表达 微分方 OpenFOAM下的描述
solve ( fvm::ddt(k) + fvm::div(phi, k) - fvm::laplacian(nu() + nut, k) == nut*magSqr(symm(fvc::grad(U))) - fvm::Sp(epsilon/k, k) );
相关文档
最新文档