OpenFOAM顶盖驱动流详解使用说明材料(中文翻译版)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引言

这是开源场运算和操作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目录中所有的指导手册都是可复制的。教程根据流动类型分列在不同的目录下,对应子目录根据求解器slover分类。例如,所有icoFoam的案件存储在一个子目录“incompressible / icoFoam”,incompressible表示流动类型为不可压。如果用户希望运行一套例子,建议该用户复制tutorials目录到本地运行目录。他们可以轻松的通过输入下边的命令来复制:

mkdir -p $FOAM RUN

cp -r $FOAM TUTORIALS $FOAM RUN

2.1盖驱动腔流Lid-driven cavity flow

本节将介绍如何进行预处理,运行和后处理一个例子,涉及二维正方形区域内的等温,不可压缩流动。图2.1中几何体的所有边界都是由壁面。在x方向顶层墙体以1米/秒的速度移动,而其他3个墙壁是静止的。最初,流动会假设为层流,将在均匀网格上使用icoFoam求解器来求解层流等温不可压流动。在本教程中,将研究加强网格的划分的效果和网格朝向壁面分级的效果。最终,流动雷诺数增加,必须使用用于恒温不可压缩紊流的pisoFoam求解器.

2.1.1前处理

通过编辑实例文件在OpenFOAM中设置实例,用户应选择一个xeditor进行前处理,如emacs,vi,gedit,kate,nedit等。编辑文件可能在OpenFOAM中,因为I / O的目录格式的关键字意思很明确,很容易使没有经验的用户理解。

模拟实例涉及网格,流场,属性,控制参数等数据。如4.1节所述,在OpenFOAM,这些数据是存储在实例目录下的一组文件中,而不是单个实例文件,如许多其他流体力学软件包。实例目录给予适当的描述性名称,例如:该教程中的第一个例子就叫cavity。在编辑实例文件和运行cavity实例前的准备工作中,用户应打开该案例的目录:

cd /home/turtlebot/OpenFOAM/OpenFOAM-

2.3.0/tutorials/incompressible/icoFoam/cavity

2.1.1.1生成网格

OpenFOAM经常运行在三维直角坐标系统中,生成的都是三维几何结构。OpenFOAM默认求解三维问题,可以通过在某些边界上指定一个'special' empty边界条件,这些边界垂直于不要求解的第三维,从而来求解二维问题。(三维如何求解二维的问题)

cavity腔域是一个在xy平面上边长d= 0.1m的正方形。起初用20*20的均匀网格。块结构见图2.2。网格生成器是OpenFOAM的blockMesh,根据一个输入文档blockMeshDict(在给定实例的constant/polyMesh目录下)中的指定描述生成网格。对该实例输入的blockMeshDict如下所示:

11 format ascii;

12 class dictionary;

13 object blockMeshDict;

14 }

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

16

17 convertToMeters 0.1;

18

19 vertices

20 (

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 );

30

31 blocks

32 (

33 hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)

34 );

35

36 edges

37 (

38 );

39

40 patches

41 (

42 wall movingWall

43 (

44 (3 7 6 2)

45 )

46 wall fixedWalls

47 (

48 (0 4 7 3)

49 (2 6 5 1)

50 (1 5 4 0)

51 )

52 empty frontAndBack

53 (

54 (0 3 2 1)

55 (4 5 6 7)

56 )

57 );

58

59 mergePatchPairs

相关文档
最新文档