OpenFOAM使用手册(中文翻译版)

上传人:1505****484 文档编号:45180226 上传时间:2021-12-06 格式:DOC 页数:21 大小:113.50KB
收藏 版权申诉 举报 下载
OpenFOAM使用手册(中文翻译版)_第1页
第1页 / 共21页
OpenFOAM使用手册(中文翻译版)_第2页
第2页 / 共21页
OpenFOAM使用手册(中文翻译版)_第3页
第3页 / 共21页
资源描述:

《OpenFOAM使用手册(中文翻译版)》由会员分享,可在线阅读,更多相关《OpenFOAM使用手册(中文翻译版)(21页珍藏版)》请在装配图网上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除引言 这是开源场运算和操作 c+库类(openfoam)的使用指南。他详细描述了OpenFOAM的基本操作。首先通过第二章一系列教程练习。然后通过对更多的独立组件的更详细的描述学习openfoam。 Of 首先主要是一个c+库类,主要用于创建可执行文件,比如应用程序(application)。应用程序分成两类:求解器,都是为了解决特定的连续介质力学问题而设计的;公用工程,这些是为了执行包括数据操作等任务而设计的。Of 包括了数量众多的solver和utilities,牵涉的问题也比较广泛。将在第三章进行详尽的描述。 Of 的一个强项是用户可以通过

2、必要的预备知识(包括数学,物理和编程技术)创建新的solvers 和utilities。 Of 需要前处理和后处理环境。前处理、后处理接口就是of本身的实用程序(utilities),以此确保协调的数据传输环境。图1.1是of总体的结构。第4章和第五章描述了前处理和运行of 的案例。既包括用of提供的mesh generator划分网格也包括第三方软件生成的网格数据转换。第六章介绍后处理。Chapter 2指导手册 在这一章中我们详细描述了安装过程,模拟和后进程处理一些OpenFOAM测试案例,以引导用户运行OpenFOAM的基本程序。 $FOAM_TUTORIALS 目录包含许多案件演示of

3、提供的所有求解器以及许多共用程序的使用,在试图运行教程之前,用户必须首先确保他们已经正确地安装了OpenFOAM。 该教程案件描述 blockMesh预处理工具的使用,paraFoam案例设置和运行OpenFOAM求解器及使用paraFoam进行后处理。使用OpenFOAM支持的第三方后处理软件的用户可以选择:他们要么可以按照教程使用paraFoam,或当需要后处理时参阅第六章的第三方软件使用说明。 OpenFOAM安装目录下的tutorials目录中所有的指导手册都是可复制的。教程根据流动类型分列在不同的目录下,对应子目录根据求解器slover分类。例如,所有icoFoam的案件存储在一个子

4、目录“incompressible / icoFoam”, incompressible表示流动类型为不可压。如果用户希望运行一套例子,建议该用户复制tutorials目录到本地运行目录。他们可以轻松的通过输入下边的命令来复制:mkdir -p $FOAM RUNcp -r $FOAM TUTORIALS $FOAM RUN2.1盖驱动腔流Lid-driven cavity flow 本节将介绍如何进行预处理,运行和后处理一个例子,涉及二维正方形区域内的等温,不可压缩流动。图2.1中几何体的所有边界都是由壁面。在x方向顶层墙体以1米/秒的速度移动,而其他3个墙壁是静止的。最初,流动会假设为层流

5、,将在均匀网格上使用icoFoam求解器来求解层流等温不可压流动。在本教程中,将研究加强网格的划分的效果和网格朝向壁面分级的效果。最终,流动雷诺数增加,必须使用用于恒温不可压缩紊流的pisoFoam求解器.2.1.1前处理 通过编辑实例文件在OpenFOAM中设置实例,用户应选择一个xeditor进行前处理,如emacs,vi,gedit,kate,nedit等。编辑文件可能在OpenFOAM中,因为I / O的目录格式的关键字意思很明确,很容易使没有经验的用户理解。 模拟实例涉及网格,流场,属性,控制参数等数据。如4.1节所述,在OpenFOAM,这些数据是存储在实例目录下的一组文件中,而不

6、是单个实例文件,如许多其他流体力学软件包。实例目录给予适当的描述性名称,例如:该教程中的第一个例子就叫cavity。在编辑实例文件和运行cavity实例前的准备工作中,用户应打开该案例的目录: cd $FOAM RUN/tutorials/incompressible/icoFoam/cavity2.1.1.1生成网格 OF经常运行在三维直角坐标系统中,所有的几何形状都是三维的。OF默认求解三维问题,可以通过在某些边界上指定一个'special' empty边界条件,这些边界垂直于不要求解的第三维,从而来求解二维问题。 cavity腔域是一个在xy平面上边长d= 0.1m的正方

7、形。起初用20*20的均匀网格。块结构见图2.2。网格生成器是OpenFOAM的blockMesh,根据一个输入文档blockMeshDict(在给定实例的constant/polyMesh目录下)中的指定描述生成网格。对该实例输入的blockMeshDict如下所示:11 format ascii;12 class dictionary;13 object blockMeshDict;14 15 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /1617 convertToMeters 0

8、.1;1819 vertices20 (21 (0 0 0)22 (1 0 0)23 (1 1 0)24 (0 1 0)25 (0 0 0.1)26 (1 0 0.1)27 (1 1 0.1)28 (0 1 0.1)29 );3031 blocks32 (33 hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)34 );3536 edges37 (38 );3940 patches41 (42 wall movingWall43 (44 (3 7 6 2)45 )46 wall fixedWalls47 (48 (0 4 7 3)49 (

9、2 6 5 1)50 (1 5 4 0)51 )52 empty frontAndBack53 (54 (0 3 2 1)55 (4 5 6 7)56 )57 );5859 mergePatchPairs60 (61 );6263 / * /头7行是文件头信息,用寬显线表示。接下来是FoamFile子目录中的文件信息,用.大括号界定。注释(来自苏军伟博客):FoamFile   /文件头    version     2.0;  /版本号    format  &#

10、160;   ascii; /存储形式二进制或者ascii    class       volScalarField;/场的类型,体心标量场    object      p; /场的名字在手册其他部分: 为清楚起见并节省空间,文件头,包括寬显线及FoamFile子目录,将会在引用实例文件时全部省去。 文件首先指定块顶点坐标,然后通过顶点标号和单元个数定义块(此处仅有一个),最后,它定义边界块。建议用户查阅5.3节了解blockMeshDict文件中输入

11、项的含义。 在blockMeshDict文件上运行blockMesh生成网格。在这个实例目录中,做到这一点,只需在终端输入: blockMesh 终端窗口产生blockMesh运行状态报告。任何blockMeshDict文件的错误都会被blockMesh挑出来,所产生的错误信息直接引导用户到文件中产生问题的所在行。在该阶段不应该有错误。2.1.2 边界和初始条件 完成网格生成,用户可以看看为这个案例设置的初始场文件。案例设置开始时间t = 0 s,所以初始流场数据被设置在cavity目录下面的名字为0的子文件夹里。文件夹0里包括两个文件,p和U。每个压力(p)和速度(U)的初始值和边界条件都必

12、须设置。让我们来检验下文件p:17 dimensions 0 2 -2 0 0 0 0; 18 19 internalField uniform 0; 20 21 boundaryField 22 23 movingWall 24 25 type zeroGradient;26 2728 fixedWalls 29 30 type zeroGradient;31 3233 frontAndBack 34 35 type empty; /空边界条件,说明求解是二维流动,这个在openFOAM是独有的,如果遇到该类边界,该边界不参与方程/离散,也就是什么都不做。36 37 3839/ * / 流场

13、数据文件有3个主要的输入:dimensions:指定流场尺度(单位的指数),这里的运动学压力,即m2s-2(0 2 -2 0 0 0 0 )(见第4.2.6节获取更多信息);internalField:其内部文件数据可以是统一的,由单一值确定;不均匀时,流场所有值必须指定(详细信息见 4.2.8节 );boundaryField:边界的流场数据,包括边界条件和及所有边界块的数据(详细信息见4.2.8节)。 对于这个腔体例子,边界仅由壁面组成,分为两种边界:(1)fixedWall:固定墙包括侧墙和低墙(2) movingWall :移动墙的顶盖。作为壁面,两者的P文件都是 zeroGradie

14、nt边界条件,即“压力垂直梯度为零”。frontAndBack代表二维情况下的前后两个块,因此必须设置为empty。 该实例中,正如大多数我们遇到的情况一样,初始场被设置为是均匀的。在这里,压力是运动学上的压力,作为一种不可压缩的情况,其绝对值是不相关,因此为方便起见设置为uniform 0。(为什么跟绝对值不相关?) 用户可用同样的方式检测0 / U文件中的速度场。dimensions为对速度所期望的因次,内部流场初始化为uniform zero ,在这个例子里速度场必须由由3个矢量表示,即均匀的(0 0 0)见第4.2.5节获取更多信息)。 对frontAndBack块,速度边界流场要求相

15、同的边界条件。其他方向都是墙:固定墙需要假定无滑移条件,因此fixedValue 条件其值为统一(0 0 0)。顶面以1米每秒的速度沿x方向移动,因此也需要fixedValue条件,但为统一(1 0 0)值。2.1.1.3物理特性 实例的物理属性存储在后缀为.Properties的文件里,放在Dictionaries目录树。对于这个icoFoam例子,唯一必须指定的运动粘度是存储在transportProperties目录中。用户可以检查运动粘度是否正确设置,通过打开transportProperties目录来查看或编辑的入口。运动粘度的关键字是nu,在方程中用同音的希腊字母代表。最初,例子运

16、行时雷诺数为10,其中雷诺数定义为: 式中,d和1U1分别为特征长度和特征速度,为运动粘度。此处d=0.1m,1U1=1m/s,所以Re=10时,=0.01m2 s1 。因此正确的动力粘度文件入口指定为:2.1.1.4 control 与时间控制、解数据的读取与存储相关的输入数据都是从controlDict目录读入的。读者应看看这个文件;作为实例控制文件,他放在system目录中。 运行的开始/结束时刻及时间步长必须设置。 4.3节详细介绍了OpenFOAM提供的度够灵活的时间控制。在这个教程我们设置开始运行时刻从t=0开始,这意味着of需要从文件夹0读取流场数据,更多案例文件结构信息见4.1

17、小节。因此我们设置startFrom关键词为startTime 并指定关键词startTime 为0。 对于结束时间,我们希望获得流动绕空腔循环(即稳定)时的稳态解。一般而言,层流中,流体通过该区域10次才能达到稳态。在这个例子里,流动没有通过该区域,因为这里没有进口也没有出口。取而代之,设盖子穿过腔体10次为结束时间,即1s;事实上,事后发现0.5s就足够了,因此应采用该值。指定stopAt关键词为endTime,并赋值0.5 现在我们需要设置时间步长,由关键词 deltaT 代表。运行icoFoam时为达到瞬时精确及数值稳定,要求Courant 数小于1。对于一个单元Courant 数定义

18、如下: t是时间步长,|U|是通过单元的速度大小, x是该速度方向上的单元尺寸。流速在穿过区域时是变化的,必须确保任何地方的Co<1。因此我们以最糟的状况选择 t的取值:Co的最大值必须与大尺度流速和小的单元尺度联合的效果相一致。这里,这个整个区域的单元尺寸固定,所以Co的最大值发生在紧挨着盖子的地方,这里速度接近1米每秒。单元尺寸为: 因此为了达到全部区域内Co<=1,时间步长deltaT 的设置必须小于等于:作为模拟进程,我们希望能写下每隔一段时间的结果,这样我们就能在后处理包里查看结果。关键词writeControl表示设置输出结果时刻的一些可选项。这里我们选择timeSte

19、p 选项:每隔n次时间步长输出一次结果,n值由关键词writeInterval指定。假设我们要设置在时刻0.1, 0.2,. . . , 0.5 s输出结果,时间步长是0.005s,因此是每20次步长输出一次结果,故给writeInterval赋值20。 Of会根据当前时间创建一个新的目录,例如0.1s,在每个时刻输出一系列的数据,在4.1章节有具体介绍。在icoFoam求解器输出的每个流场信息U 和 p放在时间目录里。对于这个例子,在controlDict中的输入如下:2.1.1.5 离散和线性求解器设置 用户可以在system目录下 fvSchemes文件中指定选择有限体积离散法。用户线性

20、方程求解器规范、限差和其他算法控制。用户可以自由的查看这些库类,但是在它们的入口函数中我们目前只需要fvSolution中PISO 目录下的pRefCell 和pRefValue。在封闭系统如腔体内,用的是相对压力:是压力范围而不是绝对值。在这种情况下,求解器在pRefCell 单元中通过pRefValue 设置一个相对值,在该实例中都设为0。改变其中任何一个的值都会改变绝对压力场只改变绝对压力场,而不会改变相对压力场或速度场。2.1.2查看网格 在实例运行前,最好查看一下网格以检查是否有错。网格在OpenFOAM 提供的后处理工具paraFoam中查看,通过在终端在案例目录下(yingyin

21、g-desktop:$ cd /home/ying/RUN/tutorials/incompressible/icoFoam/cavity回车)输入: paraFoam来启动paraFoam后处理。 也可以通过另一个目录位置执行: paraFoam -case $FOAM RUN/tutorials/incompressible/icoFoam/cavity 从而打开了ParaView窗口如图6.1所示。在Pipeline Browser,用户可以看到ParaView已经打开了cavity案例模块:cavity.OpenFOAM 。在点击Apply按钮前, 用户需要从Region Status

22、 和面板上选择一些几何结构。因为该案例很小, 通过检查Region Status 面板标题相邻的box可以很容易地选择所有的数据,这可以自动检查各个面板中的所有独立部件。然后用户可以点击Apply按钮将几何结构加载到ParaView中。6.1.5.1节中介绍了一些常用设置,请查阅该章节中的相关设置。 之后用户应该打开Display面板,其控制着所选模块的可视化重现。在Display面板中,用户应该做如下工作,如图2.3所示:(1)设置Color为Solid Color ;(2)点击Set Solid Color 选择适当的颜色,如黑色(对于白色背景);(3)在Style面板,从Represen

23、tation 菜单选择Wireframe 。背景颜色可以在顶部菜单面板的Edit中选择View Settings. 来设置。 尤其是第一次启动ParaView,必须如6.1.5节描述的一样操作。特殊的,由于这是一个2D的情况,要求在Edit菜单中选择View Settings窗口,在General 面板必须选择Use Parallel Projection 。在Annotation 窗口Orientation Axes可以勾选或不宣,或通过鼠标拖曳来移动。 2.1.3 运行应用程序 正如一切UNIX/Linux可执行软件,OpenFOAM应用程序可以按以下两种方式运行:作为前台处理器,也就是说

24、,前台处理器中的shell一直等候,直到命令在给定命令提示符之前完成为止;作为后台处理器,不需要在shell接受附加要求之前完成。 在该情况下,可以在前台运行icoFoam。icoFoam求解器即可以通过进入案例目录,在命令提示符处输入以下命令: icoFoam 从而执行,也可以是可选择的-case,给定案例目录,如: icoFoam -case $FOAM RUN/tutorials/incompressible/icoFoam/cavity 进程写入终端,显示当前时间,最大Courant 数,所有场的初始及最终残差。2.1.4后处理 当结果一写入时间目录,就可以用paraFoam来查看。回

25、到paraFoam窗口,并且选择cavity.OpenFOAM 模块的Properties 面板。如果案例模块的正确的窗口面板似乎在任何时刻都不存在,则确保:cavity.OpenFOAM 是高亮蓝色的;旁边的eye按钮是开的以显示图像是可行的; 为了使paraFoam准备好显示所感兴趣的数据,首先使要求运行时间为0.5s,如果当ParaFoam开着时运行案例,时间目录中的输出数据不会自动在Paraview中加载。为装载数据,用户必须在Properties窗口中选择Update GUI ,然后点击绿色的Apply按钮。时间数据就会加载到ParaView中。2.1.4.1等值面及等值线的绘制 为

26、查看压力,用户应该打开Disply面板,由于它控制着所选模型的可视化表现。为绘制一个简单的压力曲线,用户需要按照下面来选择,如图2.4具体所示:在Style面板,从Representation 菜单选择Surface ;在 Color 面板,选择。p及Rescale to Data Range ,为了看早t=0.5s时刻的结果,用VCR Controls 或者 Current Time Controls 将时间设为0.5,这些位于ParaView窗口顶部菜单下方的工具栏中,见图6.4.压力场如预期一样,腔体左上部为低压区,右上角为高压区,如图2.5所示。 通过点图标。p,压力场在各个单元间内插

27、,从而得到连续的流场。相反的,如果用户选择单元图标,在每个单元上就是一个蛋度的压力值,所以每个单元都由单一的颜色表示而没有梯度。 颜色棒图可以在Active Variable Controls 中点击Toggle Color Legend Visibility 而出现,也可以在View菜单选择Show Color Legend 。点击Active Variable Controls 工具栏或Disply窗口中Color面板中的Edit Color Map 按钮,用户就可以设置颜色棒图特性的范围,比如文字大小,字型选择及尺度计数形式等。通过鼠标拖动可以改变颜色棒图在图像窗口的位置。 ParaVi

28、ew的新版本默认使用颜色尺度为蓝色到白色到红色万恶不是更常见的蓝色到绿色到红色(彩虹)。因此用户第一次执行ParaView时,可能希望改变颜色尺度,者可以通过在Color Scale Editor 中选择Choose Preset (初调),然后选择Blue to Red Rainbow 。在点击OK确认以后,用户就可以点击Make Default 按钮以便ParaView一直采用这种颜色色棒。 如果用户旋转图像,可以发现整个几何表面的都按压力上色了。为产生真实的等值线,用户首先要产生一个切割面,或者说“slice(切片)”,穿过整个几何形状使用Slice滤波器,见6.1.6.1节描述。切割面

29、中心在(0.05, 0.05, 0.005) ,垂直线设为(0, 0, 1) 。一旦产生了切割面,通过使用6.1.6节所介绍的Contour filter 来产生等值线。6.1.6.1 引入切割面 通常用户都希望产生一个穿过平面的等值线,而不是等值面。用户就需要用Slice filter来创造一个切割面,等值线就在这个切割面上绘制。Slice filter允许用户在Slice Type 中通过设定center及 normal/radius 来指定切割Plane,Box或Sphere。用户可以用鼠标操作切割面。 然后用户可以在切割面上运行Contour filter 易产生等值线,操作见6.1.

30、6.6.1.6 等值线绘制在顶部菜单栏的Filter菜单中选择Contour,就可绘制等值线。filter在指定的模块上运行,所以如果模型本身是3D的,则等值线会是一系列的2D表面分别代表恒定的值,也就是说等值面。Contour的Properties 面板包括 Isosurfaces 列表,可以编辑,最方便的就是使用New Range 窗口,所选择的尺度场从下拉菜单中选择。所得等值线图如下所示:2.1.4.2 向量绘制 在绘制流速向量之前,需要移走其他已经创建的模块,比如上面使用的Slice 及Contour filters 。可通过在以Pipeline Browser中高亮相关模块,然后在各

31、自的Properties 面板中点击Delete ,从而整体移除,也可以通过切换Pipeline Browser中相关模块的eye按钮来使其处于不工作状态。 现在我们希望在每个单元的中心产生一个速度向量点符,首先要过滤单元中心的数据,如6.1.7.1所描述。在Pipeline Browser中使cavity.OpenFOAM 模块高亮,用户从Filter菜单中选择Cell Centers ,点击Apply。 在Pipeline Browser中使Centers高亮,然后在Filter菜单中选择Glyph(点符),则Properties窗口应该如图2.6所示,在Properties面板,速度流场

32、U自动在 vectors 菜单中选择,因为它是目前唯一的向量场。默认图像的Scale Mode为速度的Vector Magnitude,但是由于我们想看到贯穿整个区域的速度,应该选择off,Set Scale Factor为0.005.点击应用,出现图像,但可能是一个单一的颜色,比如白色。用户应该根据速度量级用颜色标识图像,通过在Disply面板中设置Color by U来控制,也可以在Edit Color Map中选择Show Color Legend(图例)。输出如图2.7所示,在图中,大写的Times Roman fonts是在Color Legend标题中选择的,通过取消选定Autom

33、atic Label Format,在Label Format文字框中输入%-#6.2f将其标记为2个固定的有效数字。在View Settings的General面板中设置背景色为白色,见6.1.5.1节描述。6.1.7 向量绘制向量平面图由Glyph filter产生,filter读取Vectors中选择的场,且提供一个Glyph Types范围,Arrow提供一个清晰的向量平面图给Glyph Types。在一个用户可以操作其为最佳效果的面板,每个图形都有图形控制选项。剩下的Properties面板主要包括图像的Scale Mode菜单,最常见的Scale Mode选项为:Vector,其中

34、图像长度正比于向量量级;Off,其中每个图像都是一样的长度。Set Scale Factor 参数控制图像的基本长度。6.7.1.7在单元中心绘制向量默认在单元顶点绘制,但通常希望在单元中心绘制数据。首先对案例模块应用Cell Centers lter,然后对产生的单元中心数据应用Glyph lter。2.1.4.3 流线绘制同样的,在ParaView中继续后处理之前,要使之前所描述的向量绘制等模块退出,现在希望绘制速度流线,见6.1.8节所述。在Pipeline Browser中保持cavity.OpenFOAM模块高亮,在Filter菜单选择Stream Tracer,点击应用。参数窗口应

35、设置如图2.8所示。指定Seed points(原点)沿着Line Source,其运行垂直于几何中心,也就是说,从(0.05, 0, 0.005)到 (0.05, 0.1, 0.005),在本教程中的图像应用:point Resolution为21;Max Propagation为Length 0.5;初始Step Length 为 Cell Length 0.01;以及Integration Direction BOTH。默认参数使用Runge-Kutta 2 Integrator Type 。点击应用产生轨迹,然后从Filter中选择Tube来产生高质量的流线图。在本图中,选择:Nun.

36、 Sides 6;Radius 0.0003;Radius factor 10.流管根据速度量级上色。点击Apply产生如图2.9所示。2.1.5 增加网格分辨率 在每个方向上通过一个2因数增加网格分辨率,粗网格得出的结果可以映射到细网格上,作为问题的初始条件。然后将细网格的解与粗网格的解作对比。2.1.5.1 用已存在的案例创建一个新的案例 现在希望根据cavity创建一个名为cavityFine的新案例,用户需要克隆cavity案例,并且编辑必须的文件。首先,在于cavity相同的目录下创建一个新的案例文件,如: cd $FOAM RUN/tutorials/incompressible/

37、icoFoam mkdir cavityFine 然后从cavity案例中拷贝基本的文件到cavityFine中,然后进入cavityFine案例: cp -r cavity/constant cavityFine cp -r cavity/system cavityFine cd cavityFine 2.1.5.2 创建细网格 希望用blockMesh增加网格单元数。打开 blockMeshDict 文件,编辑block的指定信息。块的指定在blocks关键词下的列表中。Block定义的句法结构见5.3.1.3节的完整描述;在该阶段只需知道紧随hex的首先是块顶点的列表,然后是是每个方向上

38、许多单元数的列表。最初在cavity案例中设为(20 20 1),现在改为(40 40 1)并保存文件.像之前一样运行blockMesh,得到新的细网格。2.1.5.3 将粗网格结果映射到细网格 mapFields 应用程序将与一个给定几何结构相关的场映射到另外一个几何结构的相应场中,在我们的例子中,流场认为是连续的,由于源场及目的场的几何结构及边界类型或条件都是恒定的。在该例子中执行 mapFields时使用 -consistent 命令行。 从目标案例controlDict 中startFrom/startTime 指定的 时间目录中读取mapFields映射的流场数据,也就是说,结果被映

39、射到的地方。在本例中,希望从cavity案例粗网格的最终结果映射到cavityFine案例中的细网格,因此,由于这些结果存储在cavity的0.5文件中,在controlDict文件中设置 startTime为0.5,startFrom设为 startTime。 现在案例已准备好运行mapFields,输入mapFields -help 快速显示mapFields要求源案例目录作为自变量。使用 -consistent选项,所以应用程在cavityFine目录执行: mapFields ./cavity -consistent 应用程序将运行并在终端输出:Source: "."

40、; "cavity" Target: "." "cavityFine" Create databases as time Source time: 0.5 Target time: 0.5 Create meshes Source mesh size: 400 Target mesh size: 1600 Consistently creating and mapping fields for time 0.5 OpenFOAM-1.7.1 2.1 Lid-driven cavity flow U-33 interpolating p

41、 interpolating U End 2.1.5.4 控制调整 为保持Courant数小于1,见2.1.1.4节所讨论的,由于所有单元的尺寸都评分了所以时间步长必须评分,所以 controlDict 文件中deltaT设为0.0025。流场数据在固定数目的时间步长间隔时输出。此处演示如何在固定时间间隔指定数据输出。 在controlDict 中的writeControl 关键词下,在用runTime输入产生的输出结果间指定一个固定数量的运行时间,而不是通过timeStep 输入固定书目的时间步来输出。在该案例中,用户应该指定没0.1输出,因此应设置writeInterval 为0.1且wr

42、iteControl 为runTime。最终,由于案例是在粗网格结果上开始的,只需要运行很短的时间就能达到合理的收敛为稳态。所以endTime 设为0.7Squebao这些设置正确并保存文件。2.1.5.5 运行代码作为后台过程用户应该体验运行icoFoam作为后台程序,重新定向终端输出到log文件,者在之后可以看到。在 cavityFine 目录下,用户执行: icoFoam > log & cat log 2.1.5.6 在细网格上绘制向量 用户可以在ParaView中同时打开多个案例,这是由于本质上每个新的案例就是Pipeline Browser 中一个新的模块。当在Par

43、aView中打开一个新的案例时有一个次要的不便,因为有一个前提,所选数据是一个带有扩展名的文件。但是在OpenFOAM中,每个案例存储在指定目录结构的大批没有扩展名的文件中,paraFoam程序自动运行的结果,就是产生一个带有扩展名 .OpenFOAM 的空白文件,因此,cavity案例模块称为cavity.OpenFOAM。 然而,如果用户希望在ParaView中直接打开另一个案例,就需要创建这样一个空白文件。例如,为加载cavityFine 案例,通过输入下列命令来创建该文件: cd $FOAM RUN/tutorials/incompressible/icoFoam touch cavi

44、tyFine/cavityFine.OpenFOAM 现在通过在File菜单选择Open,并且通过浏览目录选择cavityFine.OpenFOAM ,cavityFine 案例可以加载到ParaView中。用户现在可以在ParaView中由细网格绘制向量图。通过同时使两个案例的glyph激活,图像可以与cavity案例相比较。2.1.5.7 绘制图像用户也许希望通过抽取一些速度标量及沿着穿过区域的轴线绘制2维图像来使结果具体化。 OpenFOAM 对这种数据处理很在行。有无数的应用程序可以做专门的数据处理,一些简单的计算包括在一个单个的应用程序foamCalc 中。作为一个应用程序,它是独特

45、的,因为它是这样的: foamCalc <calcType> <fieldName1 . fieldNameN> 在<calcType>中指定计算器操作;在输出时,采用下列操作:addSubtract; randomise; div; components; mag; magGrad; magSqr; interpolate 。用户可以通过故意调用一个不存在的操作来获得<calcType> 列表,所以foamCalc 产生一个错误信息并且列出可用的类型,例如:>> foamCalc xxxx Selecting calcType xx

46、xx unknown calcType type xxxx, constructor not in hash table Valid calcType selections are: 8 randomise magSqr magGrad addSubtract div mag interpolate components components 及 mag calcTypes 提供有用的速度标量。当在案例如cavity上运行“foamCalc components U ”时,它从每个时间文件中读取速度矢量场,在相应的时间文件中,输出标量场Ux,Uy,Uz分别代表速度的x,y,z分量。类似的,“f

47、oamCalc mag mag U” 输出一个标量场magU 到每个时间文件中,代表速度的量级。 用户可以在 cavity及 cavityFine 案例上用components calcType 运行foamCalc 。例如,对于cavity案例,用户应该进入cavity目录并执行foamCalc如下: cd /home/ying/RUN/tutorials/incompressible/icoFoam/cavity foamCalc components U 单独的分量可以在ParaView 中绘制成图。这是很快速的,方便的,并且在标志及格式上有合理的好的控制,所以打印的输出是相当好的标准品

48、。但是为发表图像,用户也许偏好输出未加工的数据,然后用专门的图像工具来绘制,比如gnuplot 或 Grace/xmgr 。为此,我们推荐使用sample应用程序,见6.5节和2.2.3节。 在开始绘制之前,用户需要加载新产生的Ux, Uy 及 Uz 场到ParaView 中。为此,在所工作的基本模块例如cavity.OpenFOAM 中,需要检查Properties 面板顶部的Update GUI 按钮。点击应用使新的场加载到ParaView 中,将出现在Vol Field Status 窗口。确保已选择新的场且改变得到应用,也就是说如果需要再次点击Apply。同样,如果在 Region S

49、tatus 面板上选择了boundary regions ,边界上的数据插入错误。因此用户应该取消Region Status 面板中的边界,也就是说movingWall, fixedWall 及frontAndBack ,然后应用这些改变。 现在为了在 ParaView 中显示图像,用户应该选择所感兴趣的模块,例如cavity.OpenFOAM ,从Filter->Data Analysis 菜单应用Plot Over Line 。这在已存在的3DView窗口旁边打开了一个新的XY Plot窗口,创建了一个ProbeLine 模块,在其中用户可以指定Properties面板中线条的终点。

50、在这个例子中,用户应该使线条在区域中心垂直向上 ,也就是说,在Point1 和 Point2 文本框中,从(0.05, 0, 0.005) 到(0.05, 0.1, 0.005) ,设置Resolution 为100. 点击应用,在XYPlot窗口出现图像,在Display面板,选择2.1.6 网格分级在 cavityGrade /constant/polyMesh /blockMeshDict 文件中,制定了分级等级,blockMesh根据blockMeshDict 文件划分网格。convertToMeters 0.1; vertices (0 0 0) (0.5 0 0) (1 0 0)

51、(0 0.5 0) (0.5 0.5 0) (1 0.5 0) (0 1 0) (0.5 1 0) (1 1 0) (0 0 0.1) (0.5 0 0.1) (1 0 0.1) (0 0.5 0.1) (0.5 0.5 0.1) (1 0.5 0.1) (0 1 0.1) (0.5 1 0.1) (1 1 0.1) blocks hex (0 1 4 3 9 10 13 12) (10 10 1) simpleGrading (2 2 1) hex (1 2 5 4 10 11 14 13) (10 10 1) simpleGrading (0.5 2 1) hex (3 4 7 6 12

52、13 16 15) (10 10 1) simpleGrading (2 0.5 1) hex (4 5 8 7 13 14 17 16) (10 10 1) simpleGrading (0.5 0.5 1) edges patches wall movingWall (6 15 16 7) (7 16 17 8) wall fixedWalls (3 12 15 6) (0 9 12 3) (0 1 10 9) (1 2 11 10) (2 5 14 11) (5 8 17 14) empty frontAndBack (0 3 4 1) (1 4 5 2) (3 6 7 4) (4 7

53、8 5) (9 10 13 12) (10 11 14 13) (12 13 16 15) (13 14 17 16) mergePatchPairs 在终端执行:cd /home/ying/RUN/tutorials/incompressible/icoFoam/cavityGrade blockMesh paraFoam 所形成的网格为靠近上下左右壁面处密集,中间稀疏,如右图所示:2.1.6.2 改变时间及时间步长 靠近顶盖的速度最大,单元最小,则最大的Co数产生于顶盖附近,见2.1.1.4节所述,因此很有必要估计顶盖附近的单元尺寸,以便计算合适的时间步。 当使用非均匀网格梯度,block

54、Mesh通过等比级数计算单元尺寸。沿着长度为l,有n个单元,最后一个单元与第一个单元之间的比例为R,最小单元的尺寸 xs 为: (2.5)r为相邻单元尺寸之比: 对cavityGrade案例,在每个块中沿各个方向的单元数为10,最大最小单元比为2,块高宽为0.05m,因此最小的单元长度为3.45mm(l=0.05m,r=21/9=1.08,a=R=2),从公式2.2可知,为使Co<1,则时间步<3.45ms,为确保结果在合适的时间间隔输出 ,时间步deltaT 减小为2.5ms,设置writeInterval =40,所以每0.1s输出一次,这些设置见 cavityGrade/sy

55、stem/controlDict 文件。 startTime 设为cavityFine 案例的结束时间,也就是0.7,由于cavity和cavityFine 在所指示的运行时间内收敛较好,可以设置 cavityGrade的运行时间为0.1s,也就是endTime 为0.8.2.1.6.3 映射流场 如2.1.5.3节,使用mapFields 将cavityFine 的最终结果映射到cavityGrade网格上,进入cavityGrade目录并执行mapFields : cd /home/ying/RUN/tutorials/incompressible/icoFoam/cavityGrade

56、mapFields ./cavityFine -consistent 现在从案例目录运行icoFoam,并且监视时间信息。查看该案例的收敛结果并通过后处理工具与其他结果作对比,见2.1.5.6节及2.1.5.7节所描述。2.1.7 增加雷诺数 之前所有案例的雷诺数都为10,这个数非常小很快产生稳定解,在腔体底部拐角处仅有很小的二次漩涡。现在增加雷诺数到50,此时需要较长时间达到收敛,首先应用cavity 案例中的粗网格,用户应该复制cavity案例并命名为cavityHighRe : cd /home/ying/RUN/tutorials/incompressible/icoFoam cp -

57、r cavity cavityHighRe 2.1.7.1 前处理 进入cavityHighRe 案例并编辑transportProperties 文件。由于Re根据因数10增加,因此要根据因数10减少动力粘度,即1*10-3m2s-1.从cavity案例结束处重新开始运行该案例。为此,设置startFrom 关键词为 latestTime ,以便icoFoam提取存储在最近时刻文件(也就是0.5)中的初始数值,endTime设为2s.2.1.8 高雷诺数流动2.1.8.1前处理 改变cavity案例目录到$FOAM RUN/tutorials/incompressible/pisoFoam/

58、- ras 目录下(注意:pisoFoam/ras 目录)。和之前一样运行blockMesh产生网格,当使用带有壁面函数的standard k 模型时,没有必要使网格朝向壁面分级,这是由于近壁单元的流动已经建模,而不用分辨。 在1.6版本以前,一系列壁面函数模型在OpenFOAM中可用,在单个的边界上作为边界条件来提供。这使得在不同的壁面区域可以使用不同的壁面函数模型。壁面函数模型通过湍流粘度场来指定,在0/nut文件中的t :dimensions 0 2 -1 0 0 0 0; internalField uniform 0; boundaryField movingWall type nu

59、tWallFunction; value uniform 0; fixedWalls type nutWallFunction; value uniform 0; frontAndBack type empty; 这个案例使用标准壁面函数,在 movingWall 和 fixedWalls 由nutWallFunction 关键词指定,其他的壁面函数模型包括rough wall functions,由关键词 nutRoughWallFunction 指定。 用户现在应该打开0/k及0/epsilon文件,检查边界条件。对壁面边界条件, 指定为epsilonWall- Function 边界条件

60、,k指定为 kqRwallFunction 边界条件,后者是一个一般的边界条件,可以提供给任何包括湍流动能类型的流场,例如k,q,或者雷诺应力R。k及 的初始值由一个估计的波动速度分量U ,以及湍流长度尺度l来指定,k及 由下列公式定义:此处C是 k 模型的常系数等于0.09,对笛卡尔坐标,k为:此处Ux'2 , Uy'2 及Uz'2 是波动速度在x,y,z方向的分量。假设初始湍流是各向同性的,即Ux2 =Uy2=Uz2,等于顶盖速度的5%,l等于盒子宽度0.1m的20%,所以k及为: 这形成了k 及 的初始条件,U及p的初始条件分别为(0,0,0)及0,和之前一样。 优先于OpenFOAM1.6版本,湍流模拟方法的类型,例如RAS或者打我模拟(LES)在每个求解器中都声明了。这导致在求解器应用时有很多的重复代码,在大部分使用RAS湍流模拟的求解器处,将会有等量的LES求解器。 然而在1.6版本中,湍流模拟方法是在运行时间选择的 ,通过在turbulenceProperties 文件中的 simulationType 关键词,用户

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

  • 人际学习环境的设计
  • 人才评价与领导干部选拔
  • 塑料原料与助剂讲义课件
  • 税法(重点参考)
  • 地产项目工程建安成本管理思路
  • 国际酒店标准电话礼仪中英文版
  • 国际资本流动与国际货币危机概述
  • 断食疗法 幻灯片
  • 断奶仔猪多系统衰竭综合症
  • 文言实词解释
  • 文秘管理与应用写作
  • 文体学长短句例子
  • 物联网安全网关
  • 微信营销培训材料
  • 高中英语必修3 Unit 1 reading
点击下载此资源

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!

玻璃钢生产厂家玻璃钢灵芝雕塑西安公园玻璃钢雕塑厂家望城长沙玻璃钢雕塑价格多少钱陕西大型玻璃钢雕塑市场欧式玻璃钢花盆价格镇江玻璃钢古铜雕塑河北装饰商场美陈市场价玻璃钢雕塑用什么材料制作湖北户内玻璃钢雕塑北京景区玻璃钢雕塑厂家青海人物玻璃钢雕塑定制杭州玻璃钢雕塑摆件报价晋城玻璃钢雕塑公司福建模压法玻璃钢雕塑设计本地玻璃钢雕塑高品质的选择山西多彩玻璃钢雕塑方法树脂与玻璃钢雕塑广东季节性商场美陈销售厂家黄陂做玻璃钢雕塑厂深圳儿童玻璃钢雕塑厂家玻璃钢花盆浸水开裂张家界校园玻璃钢雕塑克拉玛依玻璃钢雕塑定制济源知名校园玻璃钢雕塑玻璃钢家具雕塑生产厂家大型商场美陈合同南宁环保玻璃钢雕塑市场新郑肖像玻璃钢彩绘雕塑厂家太湖泡沫玻璃钢雕塑人物玻璃钢雕塑哪家靠谱香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化