OpenFOAM使用手册中文翻译版Word文档格式.docx

上传人:b****6 文档编号:17420089 上传时间:2022-12-01 格式:DOCX 页数:36 大小:1.12MB
下载 相关 举报
OpenFOAM使用手册中文翻译版Word文档格式.docx_第1页
第1页 / 共36页
OpenFOAM使用手册中文翻译版Word文档格式.docx_第2页
第2页 / 共36页
OpenFOAM使用手册中文翻译版Word文档格式.docx_第3页
第3页 / 共36页
OpenFOAM使用手册中文翻译版Word文档格式.docx_第4页
第4页 / 共36页
OpenFOAM使用手册中文翻译版Word文档格式.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

OpenFOAM使用手册中文翻译版Word文档格式.docx

《OpenFOAM使用手册中文翻译版Word文档格式.docx》由会员分享,可在线阅读,更多相关《OpenFOAM使用手册中文翻译版Word文档格式.docx(36页珍藏版)》请在冰豆网上搜索。

OpenFOAM使用手册中文翻译版Word文档格式.docx

mkdir-p$FOAMRUN

cp-r$FOAMTUTORIALS$FOAMRUN

2.1盖驱动腔流Lid-drivencavityflow

本节将介绍如何进展预处理,运行和后处理一个例子,涉及二维正方形区域内的等温,不行压缩流淌。

图2.1中几何体的全部边界都是由壁面。

在x方向顶层墙体以1米/秒的速度移动,而其他3个墙壁是静止的。

最初,流淌会假设为层流,将在匀称网格上运用icoFoam求解器来求解层流等温不行压流淌。

在本教程中,将探究加强网格的划分的效果和网格朝向壁面分级的效果。

最终,流淌雷诺数增加,必需运用用于恒温不行压缩紊流的pisoFoam求解器.

前处理

通过编辑实例文件在OpenFOAM中设置实例,用户应选择一个xeditor进展前处理,如emacs,vi,gedit,kate,nedit等。

编辑文件可能在OpenFOAM中,因为I/O的书目格式的关键字意思很明确,很简洁使没有经历的用户理解。

模拟实例涉及网格,流场,属性,限制参数等数据。

如4.1节所述,在OpenFOAM,这些数据是存储在实例书目下的一组文件中,而不是单个实例文件,如很多其他流体力学软件包。

实例书目赐予适当的描述性名称,例如:

该教程中的第一个例子就叫cavity。

在编辑实例文件和运行cavity实例前的打算工作中,用户应翻开该案例的书目:

cd$FOAMRUN/tutorials/incompressible/icoFoam/cavity

生成网格

OF经常运行在三维直角坐标系统中,全部的几何形态都是三维的。

OF默认求解三维问题,可以通过在某些边界上指定一个'

special'

empty边界条件,这些边界垂直于不要求解的第三维,从而来求解二维问题。

cavity腔域是一个在xy平面上边长d=0.1m的正方形。

起初用20*20的匀称网格。

块构造见图2.2。

网格生成器是OpenFOAM的blockMesh,依据一个输入文档blockMeshDict(在给定实例的constant/polyMesh书目下)中的指定描述生成网格。

对该实例输入的blockMeshDict如下所示:

11formatascii;

12classdictionary;

13objectblockMeshDict;

14}

15//*************************************//

16

17convertToMeters0.1;

18

19vertices

20(

21(000)

22(100)

23(110)

24(010)

25(000.1)

26(100.1)

27(110.1)

28(010.1)

29);

30

31blocks

32(

33hex(01234567)(20201)simpleGrading(111)

34);

35

36edges

37(

38);

39

40patches

41(

42wallmovingWall

43(

44(3762)

45)

46wallfixedWalls

47(

48(0473)

49(2651)

50(1540)

51)

52emptyfrontAndBack

53(

54(0321)

55(4567)

56)

57);

58

59mergePatchPairs

60(

61);

62

63//*************************************************************************//

头7行是文件头信息,用寬显线表示。

接下来是FoamFile子书目中的文件信息,用{...}大括号界定。

注释〔来自苏军伟博客〕:

FoamFile 

 

//文件头

{

version 

2.0;

//版本号

format 

ascii;

//存储形式二进制或者ascii

class 

volScalarField;

//场的类型,体心标量场

object 

p;

//场的名字

}

在手册其他局部:

为清晰起见并节约空间,文件头,包括寬显线及FoamFile子书目,将会在引用实例文件时全部省去。

文件首先指定块顶点坐标,然后通过顶点标号和单元个数定义块〔此处仅有一个〕,最终,它定义边界块。

建议用户查阅5.3节了解blockMeshDict文件中输入项的含义。

在blockMeshDict文件上运行blockMesh生成网格。

在这个实例书目中,做到这一点,只需在终端输入:

blockMesh

终端窗口产生blockMesh运行状态报告。

任何blockMeshDict文件的错误都会被blockMesh挑出来,所产生的错误信息干脆引导用户到文件中产生问题的所在行。

在该阶段不应当有错误。

2.1.2边界和初始条件

完成网格生成,用户可以看看为这个案例设置的初始场文件。

案例设置起先时间t=0s,所以初始流场数据被设置在cavity书目下面的名字为0的子文件夹里。

文件夹0里包括两个文件,p和U。

每个压力〔p〕和速度〔U〕的初始值和边界条件都必需设置。

让我们来检验下文件p:

17dimensions[02-20000];

18

19internalFielduniform0;

20

21boundaryField

22{

23movingWall

24{

25typezeroGradient;

26}

27

28fixedWalls

29{

30typezeroGradient;

31}

32

33frontAndBack

34{

35typeempty;

//空边界条件,说明求解是二维流淌,这个在openFOAM是独有的,假如遇到该类边界,该边界不参加方程//离散,也就是什么都不做。

36}

37}

38

39//*************************************************************************//

流场数据文件有3个主要的输入:

dimensions:

指定流场尺度〔单位的指数〕,这里的运动学压力,即m2s-2〔02-20000〕〔见第节获得更多信息〕;

internalField:

其内部文件数据可以是统一的,由单一值确定;

不匀称时,流场全部值必需指定(具体信息见节〕;

boundaryField:

边界的流场数据,包括边界条件和及全部边界块的数据〔具体信息见节〕。

对于这个腔体例子,边界仅由壁面组成,分为两种边界:

〔1〕fixedWall:

固定墙包括侧墙和低墙〔2〕movingWall:

移动墙的顶盖。

作为壁面,两者的P文件都是zeroGradient边界条件,即“压力垂直梯度为零”。

frontAndBack代表二维状况下的前后两个块,因此必需设置为empty。

该实例中,正如大多数我们遇到的状况一样,初始场被设置为是匀称的。

在这里,压力是运动学上的压力,作为一种不行压缩的状况,其肯定值是不相关,因此为便利起见设置为uniform0。

〔为什么跟肯定值不相关?

用户可用同样的方式检测0/U文件中的速度场。

dimensions为对速度所期望的因次,内部流场初始化为uniformzero,在这个例子里速度场必需由由3个矢量表示,即匀称的〔000〕见第节获得更多信息〕。

对frontAndBack块,速度边界流场要求一样的边界条件。

其他方向都是墙:

固定墙须要假定无滑移条件,因此fixedValue条件其值为统一〔000〕。

顶面以1米每秒的速度沿x方向移动,因此也须要fixedValue条件,但为统一〔100〕值。

2.1.1.3物理特性

实例的物理属性存储在后缀为.....Properties的文件里,放在Dictionaries书目树。

对于这个icoFoam例子,唯一必需指定的运动粘度是存储在transportProperties书目中。

用户可以检查运动粘度是否正确设置,通过翻开transportProperties书目来查看或编辑的入口。

运动粘度的关键字是nu,在方程中用同音的希腊字母ν代表。

最初,例子运行时雷诺数为10,其中雷诺数定义为:

式中,d和1U1分别为特征长度和特征速度,ν为运动粘度。

此处d=0.1m,1U1=1m/s,所以Re=10时,ν=0.01m2s−1。

因此正确的动力粘度文件入口指定为:

2.1.1.4control

与时间限制、解数据的读取与存储相关的输入数据都是从controlDict书目读入的。

读者应看看这个文件;

作为实例限制文件,他放在system书目中。

运行的起先/完毕时刻刚好间步长必需设置。

4.3节具体介绍了OpenFOAM供应的度够敏捷的时间限制。

在这个教程我们设置起先运行时刻从t=0起先,这意味着of须要从文件夹0读取流场数据,更多案例文件构造信息见4.1小节。

因此我们设置startFrom关键词为startTime并指定关键词startTime为0。

对于完毕时间,我们盼望获得流淌绕空腔循环〔即稳定〕时的稳态解。

一般而言,层流中,流体通过该区域10次才能到达稳态。

在这个例子里,流淌没有通过该区域,因为这里没有进口也没有出口。

取而代之,设盖子穿过腔体10次为完毕时间,即1s;

事实上,事后发觉0.5s就足够了,因此应采纳该值。

指定stopAt关键词为endTime,并赋值0.5

此时此刻我们须要设置时间步长,由关键词deltaT代表。

运行icoFoam时为到达瞬时准确及数值稳定,要求Courant数小于1。

对于一个单元Courant数定义如下:

δt是时间步长,|U|是通过单元的速度大小,δx是该速度方向上的单元尺寸。

流速在穿过区域时是变更的,必需确保任何地方的Co<

1。

因此我们以最糟的状况选择δt的取值:

Co的最大值必需与大尺度流速和小的单元尺度联合的效果相一样。

这里,这个整个区域的单元尺寸固定,所以Co的最大值发生在紧挨着盖子的地方,这里速度接近1米每秒。

单元尺寸为:

因此为了到达全部区域内Co<

=1,时间步长deltaT的设置必需小于等于:

作为模拟进程,我们盼望能写下每隔一段时间的结果,这样我们就能在后处理包里查看结果。

关键词writeControl表示设置输出结果时刻的一些可选项。

这里我们选择timeStep选项:

每隔n次时间步长输出一次结果,n值由关键词writeInterval指定。

假设我们要设置在时刻0.1,0.2,...,0.5s输出结果,时间步长是0.005s,因此是每20次步长输出一次结果,故给writeInterval赋值20。

Of会依据当前时间创立一个新的书目,例如0.1s,在每个时刻输出一系列的数据,在4.1章节有具体介绍。

在icoFoam求解器输出的每个流场信息U和p放在时间书目里。

对于这个例子,在controlDict中的输入如下:

2.1.1.5离散和线性求解器设置

用户可以在system书目下fvSchemes文件中指定选择有限体积离散法。

用户线性方程求解器标准、限差和其他算法限制。

用户可以自由的查看这些库类,但是在它们的入口函数中我们目前只须要fvSolution中PISO书目下的pRefCell和pRefValue。

在封闭系统如腔体内,用的是相对压力:

是压力范围而不是肯定值。

在这种状况下,求解器在pRefCell单元中通过pRefValue设置一个相对值,在该实例中都设为0。

变更其中任何一个的值都会变更肯定压力场只变更肯定压力场,而不会变更相对压力场或速度场。

2.1.2查看网格

在实例运行前,最好查看一下网格以检查是否有错。

网格在OpenFOAM供应的后处理工具paraFoam中查看,通过在终端在案例书目下

〔ying@ying-desktop:

~$cd/home/ying/RUN/tutorials/incompressible/icoFoam/cavity回车〕输入:

paraFoam

来启动paraFoam后处理。

也可以通过另一个书目位置执行:

paraFoam-case$FOAMRUN/tutorials/incompressible/icoFoam/cavity

从而翻开了ParaView窗口如图6.1所示。

在PipelineBrowser,用户可以看到ParaView已经翻开了cavity案例模块:

cavity.OpenFOAM。

在点击Apply按钮前,用户须要从RegionStatus和面板上选择一些几何构造。

因为该案例很小,通过检查RegionStatus面板标题相邻的box可以很简洁地选择全部的数据,这可以自动检查各个面板中的全部独立部件。

然后用户可以点击Apply按钮将几何构造加载到ParaView中。

6.1.5.1节中介绍了一些常用设置,请查阅该章节中的相关设置。

之后用户应当翻开Display面板,其限制着所选模块的可视化重现。

在Display面板中,用户应当做如下工作,如图2.3所示:

〔1〕设置Color为SolidColor;

〔2〕点击SetSolidColor选择适当的颜色,如黑色〔对于白色背景〕;

〔3〕在Style面板,从Representation菜单项选择择Wireframe。

背景颜色可以在顶部菜单面板的Edit中选择ViewSettings...来设置。

尤其是第一次启动ParaView,必需如6.1.5节描述的一样操作。

特殊的,由于这是一个2D的状况,要求在Edit菜单中选择ViewSettings窗口,在General面板必需选择UseParallelProjection。

在Annotation窗口OrientationAxes可以勾选或不宣,或通过鼠标拖曳来移动。

2.1.3运行应用程序

正如一切UNIX/Linux可执行软件,OpenFOAM应用程序可以按以下两种方式运行:

作为前台处理器,也就是说,前台处理器中的shell始终等候,直到吩咐在给定吩咐提示符之前完成为止;

作为后台处理器,不须要在shell承受附加要求之前完成。

在该状况下,可以在前台运行icoFoam。

icoFoam求解器即可以通过进入案例书目,在吩咐提示符处输入以下吩咐:

icoFoam

从而执行,也可以是可选择的-case,给定案例书目,如:

icoFoam-case$FOAMRUN/tutorials/incompressible/icoFoam/cavity

进程写入终端,显示当前时间,最大Courant数,全部场的初始及最终残差。

2.1.4后处理

当结果一写入时间书目,就可以用paraFoam来查看。

回到paraFoam窗口,并且选择cavity.OpenFOAM模块的Properties面板。

假如案例模块的正确的窗口面板好像在任何时刻都不存在,那么确保:

cavity.OpenFOAM是高亮蓝色的;

旁边的eye按钮是开的以显示图像是可行的;

为了使paraFoam打算好显示所感爱好的数据,首先使要求运行时间为0.5s,假如当ParaFoam开着时运行案例,时间书目中的输出数据不会自动在Paraview中加载。

为装载数据,用户必需在Properties窗口中选择UpdateGUI,然后点击绿色的Apply按钮。

时间数据就会加载到ParaView中。

2.1.4.1等值面及等值线的绘制

为查看压力,用户应当翻开Disply面板,由于它限制着所选模型的可视化表现。

为绘制一个简洁的压力曲线,用户须要遵照下面来选择,如图2.4具体所示:

在Style面板,从Representation菜单项选择择Surface;

在Color面板,选择。

p及RescaletoDataRange,为了看早t=0.5s时刻的结果,用VCRControls或者CurrentTimeControls将时间设为0.5,这些位于ParaView窗口顶部菜单下方的工具栏中,见图6.4.压力场如预期一样,腔体左上部为低压区,右上角为高压区,如图2.5所示。

通过点图标。

p,压力场在各个单元间内插,从而得到连续的流场。

相反的,假如用户选择单元图标

,在每个单元上就是一个蛋度的压力值,所以每个单元都由单一的颜色表示而没有梯度。

颜色棒图可以在ActiveVariableControls中点击ToggleColorLegendVisibility而出现,也可以在View菜单项选择择ShowColorLegend。

点击ActiveVariableControls工具栏或Disply窗口中Color面板中的EditColorMap按钮,用户就可以设置颜色棒图特性的范围,比方文字大小,字型选择及尺度计数形式等。

通过鼠标拖动可以变更颜色棒图在图像窗口的位置。

ParaView的新版本默认运用颜色尺度为蓝色到白色到红色万恶不是更常见的蓝色到绿色到红色〔彩虹〕。

因此用户第一次执行ParaView时,可能盼望变更颜色尺度,者可以通过在ColorScaleEditor中选择ChoosePreset〔初调〕,然后选择BluetoRedRainbow。

在点击OK确认以后,用户就可以点击MakeDefault按钮以便ParaView始终采纳这种颜色色棒。

假如用户旋转图像,可以发觉整个几何外表的都按压力上色了。

为产生真实的等值线,用户首先要产生一个切割面,或者说“slice〔切片〕”,穿过整个几何形态运用Slice滤波器,见6.1.6.1节描述。

切割面中心在(0.05,0.05,0.005),垂直线设为(0,0,1)。

一旦产生了切割面,通过运用6.1.6节所介绍的Contourfilter来产生等值线。

6.1.6.1引入切割面

通常用户都盼望产生一个穿过平面的等值线,而不是等值面。

用户就须要用Slicefilter来缔造一个切割面,等值线就在这个切割面上绘制。

Slicefilter允许用户在SliceType中通过设定center及normal/radius来指定切割Plane,Box或Sphere。

用户可以用鼠标操作切割面。

然后用户可以在切割面上运行Contourfilter易产生等值线,操作见6.1.6.

6.1.6等值线绘制

在顶部菜单栏的Filter菜单中选择Contour,就可绘制等值线。

filter在指定的模块上运行,所以假如模型本身是3D的,那么等值线会是一系列的2D外表分别代表恒定的值,也就是说等值面。

Contour的Properties面板包括Isosurfaces列表,可以编辑,最便利的就是运用NewRange窗口,所选择的尺度场从下拉菜单中选择。

所得等值线图如下所示:

2.1.4.2向量绘制

在绘制流速向量之前,须要移走其他已经创立的模块,比方上面运用的Slice及Contourfilters。

可通过在以PipelineBrowser中高亮相关模块,然后在各自的Properties面板中点击Delete,从而整体移除,也可以通过切换PipelineBrowser中相关模块的eye按钮来使其处于不工作状态。

此时此刻我们盼望在每个单元的中心产生一个速度向量点符,首先要过滤单元中心的数据,如所描述。

在PipelineBrowser中使cavity.OpenFOAM模块高亮,用户从Filter菜单中选择CellCenters,点击Apply。

在PipelineBrowser中使Centers高亮,然后在Filter菜单中选择Glyph〔点符〕,那么Properties窗口应当如图2.6所示,在Properties面板,速度流场U自动在vectors菜单中选择,因为它是目前唯一的向量场。

默认图像的ScaleMode为速度的VectorMagnitude,但是由于我们想看到贯穿整个区域的速度,应当选择off,SetScaleFactor为0.005.点击应用,出现图像,但可能是一个单一的颜色,比方白色。

用户

应当依据速度量级用颜色标识图像,通过在Disply面板中设置ColorbyU来限制,也可以在EditColorMap中选择ShowColorLegend〔图例〕。

输出如图2.7所示,在图中,大写的TimesRo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1