OpenFOAM报告ppt—中冶赛迪2011.01
- 格式:pdf
- 大小:748.59 KB
- 文档页数:45
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标准求解器基本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与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带有自己的网格生成功能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是一个自由开源的计算流体力学(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量纲
摘要:
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 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)结果验证:将仿真结果与实验数据或理论分析进行对比,验证模型的正确性和可靠性。
openfoam reactingfoam解析摘要:一、OpenFOAM 简介1.OpenFOAM 的背景与历史2.OpenFOAM 的特点与优势二、ReactingFOAM 解析1.ReactingFOAM 的定义与作用2.ReactingFOAM 的基本原理3.ReactingFOAM 的应用领域三、OpenFOAM 与ReactingFOAM 的关系1.OpenFOAM 与ReactingFOAM 的关联性2.OpenFOAM 与ReactingFOAM 的结合应用四、OpenFOAM 在反应流体动力学中的应用1.反应流体动力学的基本概念2.OpenFOAM 在反应流体动力学中的实际应用3.OpenFOAM 在反应流体动力学中的优势与局限性五、展望OpenFOAM 与ReactingFOAM 的未来发展1.OpenFOAM 的未来发展趋势2.ReactingFOAM 的未来发展趋势3.OpenFOAM 与ReactingFOAM 共同发展的前景正文:一、OpenFOAM 简介OpenFOAM 是一款开源的计算流体动力学(CFD)软件,广泛应用于流体动力学、传热和化学反应等领域的数值模拟。
OpenFOAM 起源于英国曼彻斯特大学,经过多年的发展,已经成为国际上备受瞩目的CFD 软件之一。
它具有丰富的物理模型、高效的可扩展性和灵活的编程接口等特点,用户可以根据需求进行定制化开发,满足各种复杂问题的高效求解。
二、ReactingFOAM 解析1.ReactingFOAM 的定义与作用ReactingFOAM 是OpenFOAM 的一个扩展模块,专门用于处理流体中的化学反应问题。
它基于反应动力学理论,可以模拟流体中多种化学反应过程,包括气相和液相反应、气相和液相催化反应等。
通过ReactingFOAM 模块,用户可以在OpenFOAM 中方便地实现化学反应的数值模拟,进一步拓展了OpenFOAM 的应用领域。
openfoam建筑风环境算例【实用版】目录1.OpenFOAM 简介2.建筑风环境 CFD 模拟实例介绍3.OpenFOAM 在建筑风环境模拟中的应用4.实例详解5.结论正文1.OpenFOAM 简介OpenFOAM 是一个开源的计算流体动力学(CFD)软件,广泛应用于各种工程领域,如建筑、能源、环境等。
它基于有限体积法(Finite Volume Method,FVM)进行数值求解,可以模拟复杂的流场和热传递过程。
OpenFOAM 具有强大的图形用户界面(GUI)和脚本编程能力,用户可以根据需要进行自定义,以满足各种工程需求。
2.建筑风环境 CFD 模拟实例介绍本文将以一个基于 OpenFOAM 的建筑风环境 CFD 模拟实例为例,详细介绍如何利用 OpenFOAM 进行建筑风环境模拟。
实例中,建筑模型为一个 STL 格式的小屋模型,尺寸约为 x[-8,m,8,m],重心位于 (0,0)。
通过模拟不同风速和方向下的风环境,可以分析建筑的通风效果和风压分布,为建筑设计提供参考依据。
3.OpenFOAM 在建筑风环境模拟中的应用OpenFOAM 在建筑风环境模拟中的应用主要包括以下几个方面:(1) 创建几何模型:根据建筑设计图纸,创建几何模型,包括建筑外形、门窗、楼层等。
(2) 网格划分:对几何模型进行网格划分,以获得离散的计算域。
(3) 设置物理参数:设置流体物理参数,如密度、粘度等;设置边界条件和初始条件,如风速、风向、温度等。
(4) 求解:运用 FVM 方法进行求解,得到流场和热传递过程的数值解。
(5) 后处理:对计算结果进行后处理,提取感兴趣的物理量,如风速、风压等。
4.实例详解以下将以实例为依据,详细说明 OpenFOAM 在建筑风环境模拟中的具体应用。
(1) 创建几何模型首先,根据小屋模型的 STL 文件,利用 OpenFOAM 的 GUI 功能创建几何模型。
模型包括建筑本体、门窗等组成部分。
openfoam 手册
OpenFOAM是一个开源的计算流体动力学(CFD)工具箱,主要用于模拟和分析流体动力学问题。
以下是OpenFOAM手册的简要介绍:
1. 概述:OpenFOAM的目的是提供一个灵活、高效和可扩展的CFD工具箱,用户可以使用OpenFOAM进行各种流体动力学模拟,包括流体动力学、传热、化学反应等。
2. 安装与配置:在开始使用OpenFOAM之前,需要先安装和配置OpenFOAM。
该手册提供了详细的安装和配置指南,包括在各种操作系统
上的安装步骤、环境变量的设置等。
3. 基础教程:对于初学者来说,该手册提供了OpenFOAM的基础教程,
包括基本的命令和工具、文件格式、网格生成等。
通过这些教程,用户可以快速上手OpenFOAM。
4. 进阶教程:对于已经熟悉OpenFOAM基础的用户,该手册提供了进阶
教程,包括更高级的CFD技术、优化技巧等。
这些教程可以帮助用户提高
他们的CFD模拟技能。
5. 案例分析:手册中包含了一些典型的流体动力学问题案例,如管道流动、翼型绕流等。
这些案例分析可以帮助用户更好地理解CFD模拟的过程和结果,并学习如何解决实际问题。
6. 参考指南:该手册还包括了OpenFOAM的参考指南,包括函数库、算
法和数学基础等。
这些指南为用户提供了深入了解OpenFOAM所需的知识。
7. 常见问题与解答:手册最后包含了常见问题与解答部分,用户可以在这里找到在使用OpenFOAM过程中遇到的问题和解决方案。
总之,OpenFOAM手册是一个全面的指南,可以帮助用户从初学者到专家全面了解和使用OpenFOAM工具箱。
OpenFOAM常⽤类的⼀些总结OpenFOAM常⽤类的⼀些总结OpenFOAM中有许多类,每个类的功能都很强⼤,这也使它⾯向对象设计得以实现。
对于程序,最常⽤到的,也是最底层的就是数据,在OpenFOAM中引⼊了三类基础数据类型:标量scalar, 向量vector, 张量tensor.这三个中数据类型,也是FOAM中最基础的三个类。
(还有⼀个⽐较重要的就是bool和label,前者就是是⾮型,及对错型,只不过是更扩展⼀些,后者是标签型数据,相当于c中的整型。
关于更多的其它数据类型可以参看⽬录..\src\OpenFOAM\primitives⾥⾯)在上述数据类的基础上,增加场(field)的概念,就引⼊了标量场scalarField, 向量场vectorField, 张量场tensorField。
实际上这三个类⼜是field类的typedef,如typedef field saclarField。
这些场类中都有对应的成员函数进⾏加减乘除运算,还有复杂的点积叉积等。
说到这field class,其实他就像是⼀个数据存放的区域⼀样,存放上scalar,那它成了标量场scalarField。
这些类中可以有接⼝实现数据的计算。
从field类中⼜派⽣出了FieldField类,这个就是说场中场类,其实这个主要⽤于边界条件类的⼀个基类。
因为边界条件算是⽹格类场中的⼀个特殊的场,后⾯会介绍。
⽐field类⾼⼀点的就是⼏何场类GeometricField class,其相⽐field class多了纪录场位置的相关信息。
说到这⾥请⼤家注意他和polyMesh class的区别,后者只是纪录⽹格的结构,如点的位置、⾯的组成、体的组成等等,polyMesh class中对应有pointMesh,surfaceMesh,volMesh 等类,从字⾯上很容易理解其处理和记录⽹格点、⽹格⾯、⽹格体等信息。
⽽GeometricField 类,其则是记录了在什么样的⽹格上有量a的相关信息或数据。
openfoam能量方程引言OpenFOAM是一种开源的计算流体力学(CFD)软件,它提供了一套完整的求解器和工具,用于模拟和分析流体力学问题。
能量方程是OpenFOAM中的一个核心方程,用于描述流体中能量的传输和转化。
本文将对OpenFOAM能量方程进行深入探讨。
能量方程的基本形式能量方程是描述流体中能量守恒的方程,一般形式如下:∂(ρE)+∇⋅(ρuE)=∇⋅(λ∇T)+q̇∂t其中,ρ是流体的密度,E是单位质量的总能量,u是流体的速度矢量,T是流体的温度,λ是热导率,q̇是单位质量的热源或热汇。
能量方程的物理意义能量方程描述了流体中能量的守恒和传输过程。
其中,第一项表示单位时间内单位体积的能量变化率,第二项表示单位时间内单位体积的能量输运率。
右侧第一项表示热传导的能量输运,右侧第二项表示热源或热汇的能量输运。
能量方程的离散化在OpenFOAM中,能量方程的离散化采用了有限体积法。
首先将流体域划分为离散的小单元,然后在每个单元上进行能量方程的离散化。
离散化后的能量方程可以表示为:∂(ρE)+∇⋅(ρuE)=∇⋅(λ∇T)+q̇∂t能量方程的求解器在OpenFOAM中,能量方程的求解器主要有两种:steadyState和transient。
steadyState求解器用于求解稳态能量方程,transient求解器用于求解瞬态能量方程。
根据实际需求选择合适的求解器进行求解。
能量方程的边界条件在OpenFOAM中,能量方程的边界条件可以分为两类:温度边界条件和热通量边界条件。
常用的温度边界条件有fixedValue、fixedGradient和zeroGradient等,常用的热通量边界条件有fixedValue、fixedGradient和zeroGradient等。
根据具体情况选择合适的边界条件。
能量方程的求解策略在OpenFOAM中,能量方程的求解策略主要有两种:显式求解和隐式求解。
显式求解适用于稳态问题和低雷诺数问题,隐式求解适用于瞬态问题和高雷诺数问题。
openFOAM基础--编译applications和librariesopenFOAM是一个库,用户在编程时需要调用此库,当然用的语言是面向对象的c++语言。
在使用openFOAM时我们应该将关注点放在顶层使用类以及数值算法上,这就需要对openFOAM Library的调用机制有一个详细的了解。
并且由于我们在使用c++语言编程,因此需要对c++的编译过程有所了解。
关于编译器,我们可以直接使用LINUX自带的make程序,但openFOAM又提供了一个编译程序wmake,它建立在make的基础上,但比make更强大和简单。
并且wmake不仅可以用于openFOAM library,而且可以用于任何c++代码。
openFOAM中的类,本质上是c++的class,都定义在.c文件中,这些文件在用编译器进行编译之后会生成.so文件(可执行的二进制文件),形成库(library)。
openFOAM在提供时都已经生成了.so文件,因此当我们编译一个调用了某class(该class所在文件为nc.c)的程序app.c时,nc.c不会被重新编译,而是调用直接调用nc.so文件。
这种机制称为“动态链接”。
而如果对某.c文件进行了修改,则重新编译之后才会生效。
c++中,我们在使用一个变量或者对象时,必须确保该变量或对象已经存在,这就需要进行声明。
在使用类时同样需要事先声明,这些对类的声明都包装在.h文件中,我们称之为头文件(header file)。
头文件中声明的类一定要能在库中找到,这就要求声明的类与.c文件中定义的类相一致。
头文件都必须以#include "xx.h"的形式被“包含”在使用了该头文件的c文件中(.c或.h文件)。
一个c文件要想使用某个类,则必须在文件的开始将声明了该类的.h文件包含进来。
这样一来,我们在编译一个程序的时候,可以通过“递归搜索”找到一系列的.h 文件名,我们把这些.h文件称为dependences,而这一系列文件名也就是一个dependence list。
OpenFOAM简介 (2009-05-01 05:31:09)转载▼标签: openfoam 教育分类: OpenFOAM入门OpenFOAM是在linux平台下基于C++的面向对象计算流体力学(CFD)软件包,软件采用有限容积方法。
其前身FOAM(Field Operation and Manipulation的缩写),是Hrvoje Jasak在Imperial College London机械工程系博士阶段所写,后来开发源代码并更名为OpenFOAM.目前OpenFOAM主要有两个版本(1)官方版本:网址:该版本以Herny weller为首的OpenCFD公司维护。
该版本主要基于有限容积方法,功能比较强大,目前商业cfd软件cfx、fluent能够支持的功能openfoam基本都能够支持。
(2)dev版本网址:/viewvc/openfoam-extend/该版本以Hrvoje Jasak为首的在openfoam官方版本进行扩充,除了官方版本的有限容积方法,dev版本支持有限元、有限面积等。
在动网格方面,dev版本明显强于官方版本。
该软件架构设计优越,可以针对具体问题编写专门求解程序。
由于采用了面向对象编程技术,新模型的加入变得轻松自如,改变了商业软件修改困难的问题,因此该软件受到科研工作者的清眛,是CFD开发人员或科研工作者必备工具,该软件在CFD方面有较好的发展前景。
然而,该软件比较复杂,研究代码的人需要linux,c++及其数值算法基础。
OpenFOAM的前身为FOAM(Field Operation and Manipulation的简写),后来作为开源代码公布到网上,任何人都可以自由下载和传播她的源代码。
她的官方网站为, 有兴趣的可以访问该网站了解关于OpenFOAM更多的内容。
其作者之一Hrvoje Jasak为克罗地亚(南斯拉夫成员国)人,1993年在读PhD期间开始写FOAM。
OpenFOAM顶盖驱动流详解使⽤说明材料(中⽂翻译版)引⾔这是开源场运算和操作c++库类(openfoam)的使⽤指南。
他详细描述了OpenFOAM 的基本操作。
⾸先通过第⼆章⼀系列教程练习。
然后通过对更多的独⽴组件的更详细的描述学习openfoam。
Of ⾸先主要是⼀个c++库类,主要⽤于创建可执⾏⽂件,⽐如应⽤程(application)。
应⽤程序分成两类:求解器,都是为了解决特定的连续介质⼒学问题⽽设计的;公⽤⼯程,这些是为了执⾏包括数据操作等任务⽽设计的。
Of 包括了数量众多的solver和utilities,牵涉的问题也⽐较⼴泛。
将在第三章进⾏详尽的描述。
Of 的⼀个强项是⽤户可以通过必要的预备知识(包括数学,物理和编程技术)创建新的solvers 和utilities。
Of 需要前处理和后处理环境。
前处理、后处理接⼝就是of本⾝的实⽤程序(utilities),以此确保协调的数据传输环境。
图1.1是of 总体的结构。
第4章和第五章描述了前处理和运⾏of 的案例。
既包括⽤of提供的mesh generator划分⽹格也包括第三⽅软件⽣成的⽹格数据转换。
第六章介绍后处理。
Chapter 2指导⼿册在这⼀章中我们详细描述了安装过程,模拟和后进程处理⼀些OpenFOAM测试案例,以引导⽤户运⾏OpenFOAM的基本程序。
$FOAM_TUTORIALS ⽬录包含许多案件演⽰of提供的所有求解器以及许多共⽤程序的使⽤,在试图运⾏教程之前,⽤户必须⾸先确保他们已经正确地安装了OpenFOAM。
该教程案件描述blockMesh预处理⼯具的使⽤,paraFoam案例设置和运⾏OpenFOAM 求解器及使⽤paraFoam进⾏后处理。
使⽤OpenFOAM⽀持的第三⽅后处理软件的⽤户可以选择:他们要么可以按照教程使⽤paraFoam,或当需要后处理时参阅第六章的第三⽅软件使⽤说明。
OpenFOAM安装⽬录下的tutorials⽬录中所有的指导⼿册都是可复制的。