搜档网
当前位置:搜档网 › Fluent建模教程讲解

Fluent建模教程讲解

Fluent建模教程讲解
Fluent建模教程讲解

目录1.理论知识

1.1Gambit软件的介绍

1.2Fluent软件的介绍

1.3Exceed安装介绍

2.建模过程

2.1Gambit 启动

2.2建立几何模型

3.网格划分

4.1划分网格

4.2检查网格划分情况

4.3设置边界类型

4.4输出网格文件

4.计算求解

5.1检查网格并定义长度单位

5.2设置计算模型

5.3设置流体材料属性

5.4设置边界条件

5.5求解初始化

5.6设置残差监视

5.7保存case文件

5.8求解计算

5.9保存计算结果

5.后期处理

第一章读入case和data文件

第二章显示网格

第三章创建相关面

第四章计算各单电池获得的质量流率

第五章绘制图表

6.参考链接

第一章理论知识

1.1Gambit软件的介绍

GAMBIT是为了帮助分析者和设计者建立并网格化计算流体力学(CFD)模型和其它科学应用而设计的一个软件包。GAMBIT通过它的用户界面(GUI)来接受用户的输入。GAMBIT GUI简单而又直接的做出建立模型、网格化模型、指定模型区域大小等基本步骤,然而这对很多的模型应用已是足够了。

面向CFD分析的高质量的前处理器,其主要功能包括几何建模和网格生成。由于GAMBIT本身所具有的强大功能,以及快速的更新,在目前所有的CFD前处理软件中,GAMBIT稳居上游。

GAMBIT软件具有以下特点:

☆ ACIS内核基础上的全面三维几何建模能力,通过多种方式直接建立点、线、面、体,而且具有强大的布尔运算能力,ACIS内核已提高为ACIS R12。该功能大大领先于其它CAE软件的前处理器;

☆可对自动生成的Journal文件进行编辑,以自动控制修改或生成新几何与网格;

☆可以导入PRO/E、UG、CATIA、SOLIDWORKS、ANSYS、PATRAN等大多数CAD/CAE 软件所建立的几何和网格。导入过程新增自动公差修补几何功能,以保证GAMBIT与CAD软件接口的稳定性和保真性,使得几何质量高,并大大减轻工程师的工作量;

☆新增PRO/E、CATIA等直接接口,使得导入过程更加直接和方便;

☆强大的几何修正功能,在导入几何时会自动合并重合的点、线、面;新增几何修正工具条,在消除短边、缝合缺口、修补尖角、去除小面、去除单独辅助线和修

补倒角时更加快速、自动、灵活,而且准确保证几何体的精度;

☆ G/TURBO模块可以准确而高效的生成旋转机械中的各种风扇以及转子、定子等的几何模型和计算网格;

☆强大的网格划分能力,可以划分包括边界层等CFD特殊要求的高质量网格。GAMBIT中专用的网格划分算法可以保证在复杂的几何区域内直接划分出高质量的四面体、六面体网格或混合网格;

☆先进的六面体核心(HEXCORE)技术是GAMBIT所独有的,集成了笛卡尔网格和非结构网格的优点,使用该技术划分网格时更加容易,而且大大节省网格数量、提高网格质量;

☆居于行业领先地位的尺寸函数(Size function)功能可使用户能自主控制网格的生成过程以及在空间上的分布规律,使得网格的过渡与分布更加合理,最大限度地满足CFD分析的需要;

☆ GAMBIT可高度智能化地选择网格划分方法,可对极其复杂的几何区域划分出与相邻区域网格连续的完全非结构化的混合网格;

☆新版本中增加了新的附面层网格生成器,可以方便地生成高质量的附面层网格;

☆可为FLUENT、POLYFLOW、 FIDAP、ANSYS等解算器生成和导出所需要的网格和格式。

1.2Fluent软件的介绍

CFD商业软件介绍之一——FLUENT

通用CFD软件包,用来模拟从不可压缩到高度可压缩范围内的复杂流动。由于采用了多种求解方法和多重网格加速收敛技术,因而FLUENT能达到最佳的收敛速度和求解精度。灵活的非结构化网格和基于解的自适应网格技术及成熟的物理模型,使FLUENT在转换与湍流、传热与相变、化学反应与燃烧、多相流、旋转机械、动/变形

网格、噪声、材料加工、燃料电池等方面有广泛应用。

FLUENT软件具有以下特点:

☆FLUENT软件采用基于完全非结构化网格的有限体积法,而且具有基于网格节点和网格单元的梯度算法;

☆定常/非定常流动模拟,而且新增快速非定常模拟功能;

☆FLUENT软件中的动/变形网格技术主要解决边界运动的问题,用户只需指定初始网格和运动

壁面的边界条件,余下的网格变化完全由解算器自动生成。网格变形方式有三种:弹簧压缩式、动态铺层式以及局部网格重生式。其局部网格重生式是FLUENT所独有的,而且用途广泛,可用于非结构网格、变形较大问题以及物体运动规律事先不知道而完全由流动所产生的力所决定的问题;

☆FLUENT软件具有强大的网格支持能力,支持界面不连续的网格、混合网格、动/变形网格以

及滑动网格等。值得强调的是,FLUENT软件还拥有多种基于解的网格的自适应、动态自适应技术以及动网格与网格动态自适应相结合的技术;

☆FLUENT软件包含三种算法:非耦合隐式算法、耦合显式算法、耦合隐式算法,是商用软件中最多的;

☆FLUENT软件包含丰富而先进的物理模型,使得用户能够精确地模拟无粘流、层流、湍流。

湍流模型包含Spalart-Allmaras模型、k-ω模型组、k-ε模型组、雷诺应力模型(RSM)组、大涡模拟模型(LES)组以及最新的分离涡模拟(DES)和V2F模型等。另外用户还可以定制或添加自己的湍流模型;

☆适用于牛顿流体、非牛顿流体;

☆含有强制/自然/混合对流的热传导,固体/流体的热传导、辐射;

☆化学组份的混合/反应;

☆自由表面流模型,欧拉多相流模型,混合多相流模型,颗粒相模型,空穴两相流模型,湿蒸汽模型;

☆融化溶化/凝固;蒸发/冷凝相变模型;

☆离散相的拉格朗日跟踪计算;

☆非均质渗透性、惯性阻抗、固体热传导,多孔介质模型(考虑多孔介质压力突变);

☆风扇,散热器,以热交换器为对象的集中参数模型;

☆惯性或非惯性坐标系,复数基准坐标系及滑移网格;

☆动静翼相互作用模型化后的接续界面;

☆基于精细流场解算的预测流体噪声的声学模型;

☆质量、动量、热、化学组份的体积源项;

☆丰富的物性参数的数据库;

☆磁流体模块主要模拟电磁场和导电流体之间的相互作用问题;

☆连续纤维模块主要模拟纤维和气体流动之间的动量、质量以及热的交换问题;

☆高效率的并行计算功能,提供多种自动/手动分区算法;内置MPI并行机制大幅度提高并行效率。另外,FLUENT特有动态负载平衡功能,确保全局高效并行计算;

☆FLUENT软件提供了友好的用户界面,并为用户提供了二次开发接口(UDF);

☆FLUENT软件采用C/C++语言编写,从而大大提高了对计算机内存的利用率。

1.3Exceed安装介绍

i.将压缩包解压为三个文件夹到D盘,如图1-1所示。

图1- 1压缩包解压文件

ii.安装环境exceed.13

i.如图1-2所示,双击应用程序Msetup进行安装。

图1- 2 文件夹exceed.13

ii.弹出窗口如图1-3所示,点击install exceed。

图1- 3 exceed.13安装

iii.弹出窗口如图1-4所示,点击personal installation。

图1- 4 exceed.13安装

iv.弹出窗口如图1-5所示,选择english,点击OK。

图1- 5 exceed.13安装

v.剩余步骤按照提示操作直至安装结束。

iii.安装gambit

i.在解压缩后的文件夹内,双击应用程序gambit-install-2.4.6,

如图1-6所示。

图1- 6 gambit解压缩文件夹

ii.弹出对话框如图1-7所示。依次按照提示点击next。

图1- 7 gambit安装

iii.将安装文件保存到D盘,如图1-8所示。(与此前安装的exceed,以及此后将要安

装的fluent都置于同一个根目录下,以免运行时报错。)

图1- 8 gambit安装

依次按照提示点击next,直至安装结束。

iv.将图1-6内所示的拷贝到D:\fluent.Inc\license。将拷贝到D:\Fluent.Inc\gambit2.4.6。(勾掉选项,不要对server name进行设定) v.安装结束,重启电脑。

iv.安装fluent

2.1打开已解压缩的文件夹,双击进行安装。

2.2按照提示点击next,同样将其安装到D:\fluent.Inc。如图1-9所示。

图1- 9 fluent安装

2.3安装结束之后,将fluent解压缩后的文件夹内的拷贝到D:

Fluent.Inc\license。

2.4重启电脑,安装成功。

第二章建模过程

2.1Gambit启动

1)双击桌面的Gambit 2.4.6 快捷方式,如图2-1;弹出对话框,如图2-2,单击Run,启

动Gambit软件,窗口布局如2-3所示。

图2- 1 启动GAMBIT 图2- 2 Gambit Startup 对话框

图2- 3 Gambit 窗口布局

2.2建立几何结构

1)建立气道部分

操作步骤:

i.operation → geometry → volume ,弹出创建立方体的对话框,在

对应的width(X)、depth(Y)、height(Z)内填入相应数据,如图 2-4 所示。

图2- 4立方体设置对话框

点击apply,所创建的立方体如图2-5所示。

图2- 5单条气道

可以按下鼠标左键来转动图形,按下右键上下拖动可以缩放图形。

ii.点击,弹出对话框,点选 copy=16,z=-6,其他设置不变,结果如图2-6所示。

图2- 6 copy volumes 界面

首先在的黄色区域单击左键,再按住shift键,左键点击已画出的立方体模型,模型变成红色,同时黄色区域内自动显示所选模型的编号,如

,最后点击apply,得到界面如图2-7所示。

图2- 7气道部分

iii.构建气道的导流部分

如步骤a)所示,设置参数如图2-8,得到界面如图2-9。

图2- 8分流部分设置图2- 9创建分流部分

接着,移动刚创建的长方体。

首先确定相关点的坐标,步骤如图2-10所示。

图2- 10确定相关点的坐标图2- 11提取点的代号

按住shift,左键点击模型上任一点,黄色区域会自动提取点的代号,如图2-11所示。

点击apply,主界面下方transcript将显示该点的坐标,如图2-12所示。

图2- 12 显示该点的坐标

将与移动模型所需的点的坐标记录好之后,便可以开始移动模型了。

相关参数设置如图2-13。

图2- 13模型移动参数设置图2- 14导流部分图

按住shift键,左键点选刚创建的模型,该模型变成红色,表明已点选成功,同时,图2-13黄色区域内将显示出相应的模型编号。点击apply,得到界面如图2-14所示。

点击左边刚移动的模型,将其映射到X轴正向。设置参数,如图2-15所示。

图2- 15导流部分映射(a)图2- 16导流部分映射(b)

点击图中define按钮,弹出对话框,如图2-16所示。

选择X negative,点击apply。弹回到2-16界面,再次点击apply。得到界面如图2-17所示。

图2- 17气道部分模型

iv.构建气道主管部分

步骤如d)所示,相关尺寸设置如图2-18所示。

图2- 18主管部分参数图2- 19模型移动

将刚生成的长方体按照图2-19所示参数进行移动,得到结构如图2-20。

图2- 20主管inlet1部分结构图2- 21创建主管inlet1剩余结构

同样的方法再一次建立一个长方体,参数为width(x)=10, depth(y)=4.5, height(z)=23。如图2-21所示。

将a点移动到b点,参数如图2-22,得到模型如图2-23所示。

图2- 22 移动a点到b点图2- 23主管inlet1结构

复制主管部分。按住shift键,左键连续点击上步所构建的主管部分,两个部件都变成红色,表示已选定,相关参数设置如2-24所示。

图2- 24主管复制并移动图图2- 25主管inlet建立完成

点击apply,得到界面如图2-25所示。

按照2-16所示的映射方式,将刚构建的三个主管映射到另外一侧,得到界面如图2-26所示。

图2- 26单电池完整2D视图

按住左键,转动模型,可以看到各个部分的情况。

将所有部件合为一体。步骤如图2-27所示。

图2- 27合并各部件图2- 28合并步骤3对话框

步骤3点击之后,弹出对话框,如图2-28所示。

完成步骤2后,主界面上所有部件全部变为红色,表明已全部选中。点击2-27中的apply,所有部件合为一体。如图2-29所示。

图2- 29单电池完整3D视图

至此,单电池气道模型构建结束。

另附一些视图效果的处理。

在整个操作界面的右下角global control,如图2-30所示。按住右键点击,弹

出菜单,选择,得到模型的三维视图。

图2- 30 global control

回到global control 菜单,点击,弹出菜单special display attributes,相关设置如图2-31所示。

图2- 31 special display attributes设置

得到没有显示点的实体模型,如图2-32所示。

图2- 32单电池3D实体模型视图

v.堆叠单电池,形成含有十层单电池的电堆。

操作如图2-33所示。

图2- 33堆叠10层单电池

执行完1-5步之后,左键点击黄色区域,再按住shift键,左键点击所构建的单电池,选定需要复制的部件之后,执行第6步,得到界面,如图2-34所示。

图2- 34 10层电堆结构图

执行图2-27,图2-28所示步骤,将十层单电池合为一体。并且执行图2-30以及图2-31所示步骤,得到界面如图2-35所示。

图2- 35 10层电池堆3D实体模型视图

接下来,将模型保存。

操作如图2-36所示。

图2- 36保存模型文件(1)图2- 37保存模型文件(2)

设置保存名称10-cell stack,如图2-37所示。点击accept,保存完毕。

至此,十层电堆模型构建结束。

第三章网格划分

3.1 网格划分

针对本模型,采用六面体网格。具体操作步骤如图3-1所示:

图3- 1网格划分参数设定

在按住shift,点选模型之后,黄色部分自动显示所选模型代号,element将自动选择hex,type自动选择submap。(注:此处亦可根据运算的需要选择其它类型网格,详情参考后附的gambit中文帮助中关于网格划分的章节。作者尝试过使用四面体网格进行划分,不仅划分速度较慢,而且在进行网格检查的时候发现网格的扭曲度较大,计算结果的可靠度不高。

读者可自行尝试划分,并同六面体结构化网格相比较。)

在spacing下可根据计算的精度选择网格的尺寸interval size,本例选择1。如图3-2所示。

图3- 2网格尺寸选择

点击apply,系统开始划分网格,界面如图3-3所示。

图3- 3网格划分过程界面

注:以上直接进行网格划分的方法通常只对于简单的模型,对于结构较为复杂的算例,比如本例而言,则会出现以下问题,如图3-4所示。

图3- 4直接划分出的不规则网格

由于模型结构的原因,部分网格将会出现扭曲和不规则,这是划分网格的大忌,将严重影响随后进行的计算的精读。所以,针对复杂的结构,应该将其分割成较为简单和规则的结构来进行单独划分。针对本例,可将十层电堆重新划分成十个单层电池,分别对各层单电池进行划分,网格类型为六面体网格。

(注:这样的划分方案看似和之前电堆的建模过程相矛盾,实则是不同的,此时的重新分割是通过建立虚拟存在的面来划分,旨在使得网格划分的结构更简单,同时保证各层单电池的网格是相互连接的。并且,十层单电池单独按次序划分结束后也并不需要再将十层结构再进行一次合并,因为之前进行的划分是虚拟划分。)

详细步骤如下。

1)创建用于分割电堆的面

步骤如图3-5所示。得到界面如图3-6所示。

图3- 5 创建用于分割的面

图3- 6创建的面的示意图

此时,需将所创建的面移动到电堆的最底层和倒数第二层的交界处。步骤如3-7所示。

图3- 7移动分割面

将此面复制到相邻的两个单电池之间。共需向上复制8个。步骤如图3-8所示。

图3- 8复制分割面

得到界面如图3-9所示。

图3- 9分割面建立成功

2)分割实体

通过所建立的面,将电堆划分为十个单电池。步骤如图3-10所示。

图3- 10分割实体过程设置

得到效果如图3-11所示。

图3- 11电堆被分割后的效果图

3)单独划分

从电堆的最上层单电池开始,依次向下进行划分。针对最上层的单电池,步骤如图3-12所示。

图3- 12单独划分网格设置

过程如图3-13所示。

图3- 13单独划分网格过程

该层电池划分结束,粗略的可以发现,所划分的网格较图3-4中所示的效果而言,没有出现扭曲的现象,非常规整。如图3-14所示。(具体的网格数据在随后的步骤中将会给出。)

图3- 14部分网格示意图

剩下的单电池划分方式相同。逐一划分结束之后将得到如图3-15所示的效果。

图3- 15电堆网格整体示意图

3.2 检查网格划分情况

点击位于主界面右下角工具栏中的图标,打开网络设置对话框,如图3-16所示。

图3- 16 网格检查

1)在display type(显示类型)项选择plane(平面)。

2)选择3D element 以及。

3)在quality type (质量类型)项选择equalangle skew 。

4)在cut orientation 项,用鼠标左键拖动Z轴滑块,会显示不同的Z值平面上的网格。

5)在cut orientation 项,用鼠标左键拖动X或Y轴滑块,则会显示X和Y平面上的网格。

6)在display type项选择range,点击对话框下部滑块可选择显示的比例及大小。同时可

以看出网格总数以及每一部分的网格质量好坏。

3.3 设置边界类型

注意:在设置边界类型之前,可按照之前介绍的方法,在中将网格设置为不可见,这样利于计算机减少在这个阶段的计算量,同时便于对相关面进行观察和设置。

1)设置入口边界。操作如图3-17所示。

图3- 17边界类型设置

注:第五步时,右键长按,拖动选择velocity_inlet。

第六步时,按住shift键,左键点选模型中的第一个入口,变成红色表明选中为inlet 1。如图3-18所示。

图3- 18选择inlet1

以相同的方式设置其他两个速度入口inlet 2和inlet 3。

2)设置出口边界。

如同设置inlet的方式,点选模型另一侧的三个面来设置oulet1,outlet2和outlet3。

注意type项要相应的选择pressure_out。

边界类型设置完毕之后的界面如图3-19所示。

图3- 19边界类型设置完成

注意:对于其他未设置的面,默认为固壁。

3.4 输出网格文件

操作如图3-20所示。

图3- 20网格输出图3- 21文件名称保存

保留默认设置,点击accept确认。如图3-21所示。

第四章计算求解

1)检查网格并定义长度单位

图4- 1启动fluent

1)读入网格文件

如图4-2所示操作顺序。

图4- 2读入网格信息

在相应的文件夹内找到之前保存的10-cell stack.msh读入。读入后界面如图4-3所示。

图4- 3网格信息显示

2)网格光滑与交换

操作如图4-4所示。

图4- 4 网格光滑

弹出对话框如图4-5所示。

图4- 5网格光划过程

反复点击smooth和swap,直到主界面显示的数据没有变化,显示no nodes moved, smoothing complete. Done.为止。关闭对话框。

3)确定长度单位为cm。

依次点击grid-scale,打开长度单位设置对话框,如图4-6所示。

图4- 6设置模型尺寸

i.在1处点选mm。

ii.点击2处后,此时domain extents的单位全部变为mm。

iii.点击3处,界面给出区域的范围。

4)检查网格

依次点击grid—check。

Fluent会对网格进行各种检查并在信息反馈窗口中显示检查过程和结果,如图4-7所示。

图4- 7检查网格信息

其中,特别需要注意的是,最小体积必须是正值,不能有警告或者错误信息,最后一行必须是Done。

5)显示网格

依次点击display—grid,打开网格显示对话框后,按图4-8操作,可得到区域网格图。

图4- 8显示网格

2)设置计算模型

1)设置求解器

按照图4-9顺序操作,弹出求解器设置对话框,如图4-10所示。

图4- 9设置计算模型

图4- 10 模型设置信息

保留原始设置,点击OK。

2)启动能量方程

点击define—models—energy,打开能量方程设置对话框,如图4-11所示,点击OK。

图4- 11设置能量方程

3)设置层流模型

点击define—models—viscous,打开对话框,如图4-12所示,点选laminar,其他保

留初始设置,点击OK。

图4- 12设置层流模型

3)设置流体的材料属性

点击define—materials,打开材料属性设置对话框,如图4-13所示。

图4- 13 设置流体材料属性

i.点击右侧的fluent database,打开流体材料库对话框,如图4-14所示。

图4- 14选择流体材料为氢气

ii.在fluent fluid materials列表中选择hydrogen。

iii.点击copy,点击close。

iv.回到图4-13,此时material name里面显示的就是刚才点选的hydrogen了,点击change/creat。

v.点击close,关闭材料属性设置对话框。

4)设置边界条件

依次点击Define—boundary condition,打开边界条件设置对话框,如图4-15所示。

1)选择工作流体为氢气

按照图4-15所示步骤执行。

图4- 15选择工作流体为氢气

2)设置入流口的边界条件

Inlet 1操作步骤如图4-16、4-17所示

图4- 16 inlet1设置(1)

图4- 17 inlet设置(2)

补充说明:

i.第四步,速度0.94m/s的设置。

参考链接:A key geometric parameter for the flow uniformity in planar solid oxide fuel cell stacks. Wuxi Bi, Daifen Chen, Zijing Lin*. internatinal journal of hydrogen energy 3 4 ( 2 0 0 9 ) 3 8 7 3 – 3 8 8 4. 中的 3.3

节,关于入口速度的计算公式。

ii.第六步,反应温度取1073K,此时的氢气密度经计算为0.02287kg/m3。

iii.其余两个入流口inlet2 和inlet3的操作和inlet1相同。

3)设置出流口的边界条件

Outlet1的操作步骤如图4-18所示。

图4- 18 outlet1设置

Outlet2和outlet3的步骤与上述相同。

5)求解初始化

点击solve—initialize—initialize…,打开求解初始化设置对话框,如图4-19所示。

图4- 19 模型初始化

完成流场初始化。

6)设置残差监视

点击solve—monitor—residual…,打开监视器设置对话框,如图4-20所示。

图4- 20 残差监视窗口

补充说明:第二部将数值设定为1e-06,这是比较高的收敛值,虽然会降低计算的速度,但可以使得计算的精度更好。

7)保存case文件

点击file—write—case…,保存文件名为10-cell stack.cas。

8)求解计算

点击solve—iterate…,打开迭代计算对话框,如图4-21所示。

图4- 21计算迭代窗口

Fluent开始计算。在迭代191次后,计算收敛,残差监视曲线如图4-22所示。

图4- 22残差监视曲线

补充说明(一):关于计算是否收敛的判断。

图4-22 是计算进行到第191 步时残差曲线的走势。因为没有普适的收敛判断标准,所以在观察残差曲线时,不要仅仅监视残差曲线下降的数量级,最好同时能够监视相关流场变量的变化情况。

简单地说,可以用三种方法判断计算是否已经收敛:(参考链接:流体中文网fluent全攻略.pdf)

(1)观察残差曲线。

可以在残差监视器面板中设置Convergence Criterion(收敛判据),比如设为10-6,则

残差下降到小于10-6 时,系统即认为计算已经收敛并同时终止计算。

(2)流场变量不再变化。

有时候不论怎样计算,残差都不能降到收敛判据以下。此时可以用具有代表性的流场变量来判断计算是否已经收敛——如果流场变量在经过很多次迭代后不再发生变化,就可以认为计算已经收敛。

(3)总体质量、动量、能量达到平衡。

在Flux Reports(通量报告)面板中检查质量、动量、能量和其他变量的总体平衡情况。

通过计算域的净通量应该小于0.1%。Flux Reports(通量报告)面板如图4-23 所示,其启动方法为:Report -> Fluxes

图4- 23 Flux Reports(通量报告)面板

9)保存计算结果

点击file—write—data…,保存的文件名为10-cell stack.dat。

补充说明(二):如何将fluent背景设置为白色。

方法一:打开Fluent软件,在file里选择hardcopy,进入对话框后,去掉Reverse foregroung/background,然后点击Preview,弹出的对话框选Yes,然后再勾选Reverse foregroung/background,点击Preview,弹出对话框选择No,你会发现此时Fluent 的图片背景是白色的了;

方法二:如果只是想要图片贴到WORD中,那还有一种更简单的方法,就是直接右击图片框上面的蓝色栏,选择copy to Clipboard,复制到WORD里就是白色背景,不过不会发现颜色比在Fluent中淡些。

建议用第一种方法!

参考链接:

第五章后期处理

5.1读入case和data文件

点击file—read—case&data,读入10-cell stack.cas和10-cell stack.dat。

5.2显示网格(结构)

点击display—grid,打开网格显示对话框,点击display,显示网格。如图5-1所示。

图5- 1网格显示

补充说明:

1)Option项可以选择需要观察的线或者面。

2)在edge type中,如果只想观察结构,不需要观察网格,就选择feature。

3)在surface中可以选择需要观察的面。

4)可以利用鼠标左键和中键对图形进行旋转、缩放和移动。

5.3创建相关面

本算例旨在研究整个电堆的气流分布均匀性,这就需要将每一层单电池获得的气流量进行比较,故本节的主要工作是测量每一层单电池三个气流出口(outlet1、outlet2以及outlet3)的质量流率。由于整个十层电堆是联成一体的,fluent只能直接计算出整个电堆的总出口的质量流率,而不能直接计算出每一层单独的质量流率,所以需要创建相关的面,也就是整个电堆的outlet在y轴正向上的若干横截面来分别对每一层电池进行质量流率的计算。具体步骤如下:

1)点击surface—plane,打开plane surface窗口。设置如图5-2所示:

图5- 2创建相关的面

所构成的面plane-1如图5-3中红色部分所示。Plane-1是最底层单电池的气流出口,也是整个电堆的outlet1+outlet2+outlet3的总和。

图5- 3 plane-1 示意图

补充说明:

i.关于步骤2:points中三个点坐标的解释。

Fluent中plane surface所创建的面可由三个相关的点构成,如图5-3中所示的三个点即为图5-2中points所指示的点。Points中的三个相关点的坐标,可以在gambit中通过点坐标的测量得到。具体方法见本文2-10。

ii.在步骤4之后,如果fluent没有报错,则相关的面(比如plane-1)就构建成功了。

就可以通过display来查看刚才构成的面是否符合要求。操作如图5-4所示。

图5- 4网格显示

针对本例,此处的目的是查看所构建的plane是否和整个电堆的出口面积相同,同时,整个电堆的出口面积是outlet1+outlet2+outlet3的总和,所以在surfaces 项选择查看这四个面,如果在图像上是重合的,那么说明所构建的plane是符合要求的。面积计算方法:点击report—surface integrals…,如图5-5所示。

图5- 5面积计算

步骤3之后,fluent便会给出计算结果,如图5-6所示。

图5- 6面积计算结果

可以得出结论:plane-1符合要求。

2)创建好基准面plane-1之后,按照图5-2中显示的点的要求,只需将三个点的y坐标沿

y轴正方向移动一个单电池的高度6mm,即得到第二层单电池的气体流出口截面。值得注意的是,此截面是相邻两个单电池的交界面,为了避免计算中可能出现的临界面的误差,可以将第二层的气体流出口截面稍稍再向y轴正方向移动1mm,比如:将y0=-5.25mm 更改为y0=-5.25+6+1=1.75mm,其他保持不变,由此创建plane-2。以此类推,创建剩余所需的界面只需在plane-2的基础上向y轴正方向移动一个单电池的高度6mm就可以全部避开临界面,并且满足计算的要求。由此得到的结构如图5-7所示。

图5- 7 planes 示意图

5.4计算各单电池的质量流率

点击report—surface integrals…,相关设置如图5-8所示。

图5- 8 质量流率计算

1)由于本例没有添加电池电极材料的化学反应,不考虑传热,所以应当首先计算整个电堆

的气流进出口质量流率是否相当,以验证模型的正确性。如图5-8中所示,计算截面

surfaces中选定三个进口以及三个出口,计算结果如图5-9所示。

图5- 9总管质量流率计算结果

可以看出,进出口质量流率基本保持守恒。模型符合要求。

2)在图5-8所示的surfaces里面选择plane-1到plane-10全部的截面。点击compute。

得到计算结果如图5-10所示。

图5- 10每个截面质量流率计算结果

上图中所示的便是流经每一个截面的质量流率,(注:负值表示气体流向为y轴负方向)但还不能被描述为每个单电池各自获得的气体质量流率,还需要将这些数据进行简单的处理。以plane-2为例,在图5-10中与之对应的数据4.7654128e-05kg/s是包含流经第二层单电池及其以上所有单电池的气体质量流率之和,故应该用plane-2与plane-3的质量流率之差来表示第二层单电池单独获得的气体质量流率。

3)点击5-8中的write,可将数据输出为文本文档,将文本文档中的数据在excel中打开

可计算出每个单电池单独获得的气体质量流率。计算结果如图5-11所示。

图5- 11每个单电池单独获得的气体质量流率

5.5绘制图表

根据5-11中的数据可绘制出表5-1。

图5- 12 10层电堆燃料气道对应的燃料分布

根据参考链接:A key geometric parameter for the flow uniformity in planar solid oxide fuel cell stacks. Wuxi Bi, Daifen Chen, Zijing Lin*. internatinal journal of hydrogen energy 3 4 ( 2 0 0 9 ) 3 8 7 3 – 3 8 8 4. 中的2.3节,关于气体均匀度的计算公式。

可以计算出本算例的气体均匀度U=0.98。

FLUENT中文全教程1-250

FLUENT 教程 赵玉新 I、目录 第一章、开始 第二章、操作界面 第三章、文件的读写 第四章、单位系统 第五章、读入和操作网格 第六章、边界条件 第七章、物理特性 第八章、基本物理模型 第九章、湍流模型 第十章、辐射模型 第十一章、化学输运与反应流 第十二章、污染形成模型 第十三章、相变模拟 第十四章、多相流模型 第十五章、动坐标系下的流动 第十六章、解算器的使用 第十七章、网格适应 第十八章、数据显示与报告界面的产生 第十九章、图形与可视化 第二十章、Alphanumeric Reporting 第二十一章、流场函数定义 第二十二章、并行处理 第二十三章、自定义函数 第二十四章、参考向导 第二十五章、索引(Bibliography) 第二十六章、命令索引 II、如何使用该教程 概述 本教程主要介绍了FLUENT 的使用,其中附带了相关的算例,从而能够使每一位使用 者在学习的同时积累相关的经验。本教程大致分以下四个部分:第一部分包括介绍信息、用户界面信息、文件输入输出、单位系统、网格、边界条件以及物理特性。第二和第三部分包含物理模型,解以及网格适应的信息。第四部分包括界面的生成、后处理、图形报告、并行处理、自定义函数以及FLUENT 所使用的流场函数与变量的定义。 下面是各章的简略概括 第一部分: z开始使用:本章描述了FLUENT 的计算能力以及它与其它程序的接口。介绍了如何对具体的应用选择适当的解形式,并且概述了问题解决的大致步骤。在本章中,我们给出

了一个可以在你自己计算机上运行的简单的算例。 z使用界面:本章描述了用户界面、文本界面以及在线帮助的使用方法。同时也提供了远程处理与批处理的一些方法。(请参考关于特定的文本界面命令的在线帮助) z读写文件:本章描述了FLUENT 可以读写的文件以及硬拷贝文件。 z单位系统:本章描述了如何使用FLUENT 所提供的标准与自定义单位系统。 z读和操纵网格:本章描述了各种各样的计算网格来源,并解释了如何获取关于网格的诊断信息,以及通过尺度化(scale)、分区(partition)等方法对网格的修改。本章还描述了非一致(nonconformal)网格的使用. z边界条件:本章描述了FLUENT 所提供的各种类型边界条件,如何使用它们,如何定义它们and how to define boundary profiles and volumetric sources. z物理特性:本章描述了如何定义流体的物理特性与方程。FLUENT 采用这些信息来处理你的输入信息。 第二部分: z基本物理模型:本章描述了FLUENT 计算流体流动和热传导所使用的物理模型(包括自然对流、周期流、热传导、swirling、旋转流、可压流、无粘流以及时间相关流)。以及在使用这些模型时你需要输入的数据,本章也包含了自定义标量的信息。 z湍流模型:本章描述了FLUENT 的湍流模型以及使用条件。 z辐射模型:本章描述了FLUENT 的热辐射模型以及使用条件。 z化学组分输运和反应流:本章描述了化学组分输运和反应流的模型及其使用方法。本章详细的叙述了prePDF 的使用方法。 z污染形成模型:本章描述了NOx 和烟尘的形成的模型,以及这些模型的使用方法。 第三部分: z相变模拟:本章描述了FLUENT 的相变模型及其使用方法。 z离散相变模型:本章描述了FLUENT 的离散相变模型及其使用方法。 z多相流模型:本章描述了FLUENT 的多相流模型及其使用方法。 z Flows in Moving Zones(移动坐标系下的流动):本章描述了FLUENT 中单一旋转坐标系,多重移动坐标系,以及滑动网格的使用方法。 z Solver 的使用:本章描述了如何使用FLUENT 的解法器(solver)。 z网格适应:本章描述了explains the solution-adaptive mesh refinement feature in FLUENT and how to use it 第四部分: z显示和报告数据界面的创建:本章描述了explains how to create surfaces in the domain on which you can examine FLUENT solution data z图形和可视化:本章描述了检验FLUENT 解的图形工具 z Alphanumeric Reporting:本章描述了如何获取流动、力、表面积分以及其它解的数据。 z流场函数的定义:本章描述了如何定义FLUENT 面板内出现的变量选择下拉菜单中的流动变量,并且告诉我们如何创建自己的自定义流场函数。 z并行处理:本章描述了FLUENT 的并行处理特点以及使用方法 z自定义函数:本章描述了如何通过用户定义边界条件,物理性质函数来形成自己的FLUENT 软件。 如何使用该手册 z根据你对CFD 以及FLUENT 公司的熟悉,你可以通过各种途径使用该手册 对于初学者,建议如下:

(完整版)《FLUENT中文手册(简化版)》

FLUENT中文手册(简化版) 本手册介绍FLUENT的使用方法,并附带了相关的算例。下面是本教程各部分各章节的简略概括。 第一部分: ?开始使用:描述了FLUENT的计算能力以及它与其它程序的接口。介绍了如何对具体的应用选择适当的解形式,并且概述了问题解决的大致步骤。在本章中给出了一个简单的算例。 ?使用界面:描述用户界面、文本界面以及在线帮助的使用方法,还有远程处理与批处理的一些方法。?读写文件:描述了FLUENT可以读写的文件以及硬拷贝文件。 ?单位系统:描述了如何使用FLUENT所提供的标准与自定义单位系统。 ?使用网格:描述了各种计算网格来源,并解释了如何获取关于网格的诊断信息,以及通过尺度化(scale)、分区(partition)等方法对网格的修改。还描述了非一致(nonconformal)网格的使用. ?边界条件:描述了FLUENT所提供的各种类型边界条件和源项,如何使用它们,如何定义它们等 ?物理特性:描述了如何定义流体的物理特性与方程。FLUENT采用这些信息来处理你的输入信息。 第二部分: ?基本物理模型:描述了计算流动和传热所用的物理模型(包括自然对流、周期流、热传导、swirling、旋转流、可压流、无粘流以及时间相关流)及其使用方法,还有自定义标量的信息。 ?湍流模型:描述了FLUENT的湍流模型以及使用条件。 ?辐射模型:描述了FLUENT的热辐射模型以及使用条件。 ?化学组分输运和反应流:描述了化学组分输运和反应流的模型及其使用方法,并详细叙述了prePDF 的使用方法。 ?污染形成模型:描述了NOx和烟尘的形成的模型,以及这些模型的使用方法。 第三部分: ?相变模拟:描述了FLUENT的相变模型及其使用方法。 ?离散相变模型:描述了FLUENT的离散相变模型及其使用方法。 ?多相流模型:描述了FLUENT的多相流模型及其使用方法。 ?移动坐标系下的流动:描述单一旋转坐标系、多重移动坐标系、以及滑动网格的使用方法。 ?解法器(solver)的使用:描述了如何使用FLUENT的解法器。 ?网格适应:描述了如何优化网格以适应计算需求。 第四部分: ?显示和报告数据界面的创建:本章描述了explains how to create surfaces in the domain on which you can examine FLUENT solution data ?图形和可视化:本章描述了检验FLUENT解的图形工具 ?Alphanumeric Reporting:本章描述了如何获取流动、力、表面积分以及其它解的数据。 ?流场函数的定义:本章描述了如何定义FLUENT面板内出现的变量选择下拉菜单中的流动变量,并且告诉我们如何创建自己的自定义流场函数。 ?并行处理:本章描述了FLUENT的并行处理特点以及使用方法 ?自定义函数:本章描述了如何通过用户定义边界条件,物理性质函数来形成自己的FLUENT软件。 如何使用该手册 对于初学者,建议从阅读“开始”这一章起步。 对于有经验的使用者,有三种不同的方法供你使用该手册:按照特定程序的步骤从按程序顺序排列的目录列表和主题列表中查找相关资料;从命令索引查找特定的面板和文本命令的使用方法;从分类索引查找特定类别信息(在线帮助中没有此类索引,只能在印刷手册中找到它)。 什么时候使用Support Engineer:Support Engineer能帮你计划CFD模拟工程并解决在使用FLUENT 中所遇到的困难。在遇到困难时我们建议你使用Support Engineer。但是在使用之前有以下几个注意事项:●仔细阅读手册中关于你使用并产生问题的命令的信息 ●回忆导致你产生问题的每一步 ●如果可能的话,请记下所出现的错误信息 ●对于特别困难的问题,保存FLUENT出现问题时的日志以及手稿。在解决问题时,它是最好的资源。

fluent学习笔记

fluent技术基础与应用实例 4.2.2 fluent数值模拟步骤简介 主要步骤: 1、根据实际问题选择2D或3Dfluent求解器从而进行数值模拟。 2、导入网格(File→Read→Case,然后选择有gambit导出的.msh文件) 3、检查网格(Grid→Check)。如果网格最小体积为负值,就要重新 进行网格划分。 4、选择计算模型。 5、确定流体物理性质(Define→Material)。 6、定义操作环境(Define→operating condition) 7、制定边界条件(Define→Boundary Conditions) 8、求解方法的设置及其控制。 9、流场初始化(Solve→Initialize) 10、迭代求解(Solve→Iterate) 11、检查结果。 12、保存结果,后处理等。 具体操作步骤: 1、fluent2d或3d求解器的选择。 2、网格的相关操作 (1)、读入网格文件 (2)、检查网格文件 文件读入后,一定要对网格进行检查。上述的操作可以得到网格信息,从中看出几何区域的大小。另外从minimum volume 可以知道最小网格的体积,若是它的值大于零,网格可以用于计算,否则就要重新划 分网格。 (3)、设置计算区域 在gambit中画出的图形是没有单位的,它是一个纯数量的模型。故 在进行实际计算的时候,要根据实际将模型放大或缩小。方法是改变fluent总求解器的单位。 (4)、显示网格。 Display→Grid 3、选择计算模型

(1)、基本求解器的定义 Define→Models→Solver Fluent中提供了三种求解方法: ·非耦合求解 segregated ·耦合隐式求解 coupled implicit ·耦合显示求解 coupled explicit 非耦合求解方法主要用于不可压缩流体或者压缩性不强的流体。 耦合求解方法用在高速可压缩流体 fluent默认设置是非耦合求解方法,但对于高速可压缩流动,有强的体积力(浮力或离心力)的流动,求解问题时网格要比较密集,建 议采用耦合隐式求解方法。耦合能量和动量方程,可以较快的得到收敛值。耦合隐式求解的短板:运行所需要的存比较大。若果必须要耦合求解而机器存不够用,可以考虑采用耦合显示求解方法。盖求解方法也耦合了动量,能量和组分方程,但是存却比隐式求解方法要小。 需要指出的是,非耦合求解器的一些模型在耦合求解器里并不一定都有。耦合求解器里没有的模型包括:多相流模型、混合分数/PDF燃烧模型、预混燃烧模型。污染物生成模型、相变模型、Rosseland辐射模型、确定质量流率的周期性流动模型和周期性换热模型。 %%%有点重复,但是可以看看加深理解 Fluent提供三种不同的求解方法;分离解、隐式耦合解、显示耦合解。分理解和耦合解的主要区别在于:连续方程、动量方程、能量方程和 组分方程解的步骤不同。 分离解按照顺序解,耦合解是同时解。两种解法都是最后解附加的标量方程。隐式解和显示解的区别在于线性耦合方程的方式不同。 Fluent默认使用分离求解器,但是对于高速可压流动,强体积力导致 的强烈耦合流动(流体流动耦合流体换热耦合流体的混合,三者相互耦合的过程—文档整理者注)(浮力或者旋转力),或者在非常精细的网格上的流动,需要考虑隐式解。这一解法耦合了流动和能量方程, 收敛很快。%%% (2)、其他求解器的选择 在实际问题中,除了要计算流场,有时还要计算温度场或者浓度场等,因此还需要其他的模型。主要的模型有: Multiphase(多相流动)viscous(层流或湍流)energy(是否考虑传热)species(反应及其传热相关) (3)操作环境的设置 Define→operation→condition

FLUENT UDF 教程

FLUENT UDF 教程 第一章. 介绍 本章简要地介绍了用户自定义函数(UDF)及其在Fluent中的用法。在1.1到1.6节中我们会介绍一下什么是UDF;如何使用UDF,以及为什么要使用UDF,在1.7中将一步步的演示一个UDF例子。 1.1 什么是UDF? 1.2 为什么要使用UDF? 1.3 UDF的局限 1.4 Fluent5到Fluent6 UDF的变化 1.5 UDF基础 1.6 解释和编译UDF的比较 1.7一个step-by-stepUDF例子 1.1什么是UDF? 用户自定义函数,或UDF,是用户自编的程序,它可以动态的连接到Fluent求解器上来提高求解器性能。用户自定义函数用C语言编写。使用DEFINE宏来定义。UDF中可使用标准C 语言的库函数,也可使用Fluent Inc.提供的预定义宏,通过这些预定义宏,可以获得Flu ent求解器得到的数据。 UDF使用时可以被当作解释函数或编译函数。解释函数在运行时读入并解释。而编译UDF则在编译时被嵌入共享库中并与Fluent连接。解释UDF用起来简单,但是有源代码和速度方面的限制不足。编译UDF执行起来较快,也没有源代码限制,但设置和使用较为麻烦。 1.2为什么要使用UDF? 一般说来,任何一种软件都不可能满足每一个人的要求,FLUENT也一样,其标准界面及功能并不能满足每个用户的需要。UDF正是为解决这种问题而来,使用它我们可以编写FLUEN T代码来满足不同用户的特殊需要。当然,FLUENT的UDF并不是什么问题都可以解决的,在下面的章节中我们就会具体介绍一下FLUENT UDF的具体功能。现在先简要介绍一下UDF的一些功能: 定制边界条件,定义材料属性,定义表面和体积反应率,定义FLUENT输运方程中的源项,用户自定义标量输运方程(UDS)中的源项扩散率函数等等。λ 在每次迭代的基础上调节计算值λ 方案的初始化λ (需要时)UDF的异步执行λ 后处理功能的改善λ FLUENT模型的改进(例如离散项模型,多项混合物模型,离散发射辐射模型)λ 由上可以看出FLUENT UDF并不涉及到各种算法的改善,这不能不说是一个遗憾。当然为了源代码的保密我们还是可以理解这样的做法的。其实,如果这些代码能够部分开放,哪怕就一点点,我想FLUENT会像LINUX一样发展更为迅速,使用更为广泛。遗憾的是,从目前来看,这只是一种幻想。什么时候中国人可以出自己的精品? 1.3 UDF的局限 尽管UDF在FLUENT中有着广泛的用途,但是并非所有的情况都可以使用UDF。UDF并不能访

fluent中文简明教程

第一章Fluent 软件的介绍 fluent 软件的组成: 软件功能介绍: GAMBIT 专用的CFD 前置处理器(几何/网格生成) Fluent4.5 基于结构化网格的通用CFD 求解器 Fluent6.0 基于非结构化网格的通用CFD 求解器 Fidap 基于有限元方法的通用CFD 求解器 Polyflow 针对粘弹性流动的专用CFD 求解器 Mixsim 针对搅拌混合问题的专用CFD 软件 Icepak 专用的热控分析CFD 软件 软件安装步骤: 前 处 理 gambit 软 件 Fluent6.0 Fluent5.5&4.5 Fidap Polyflow Mixsim Icepack 通用软件 专用软件

step 1: 首先安装exceed软件,推荐是exceed6.2版本,再装exceed3d,按提示步骤完成即可,提问设定密码等,可忽略或随便填写。 step 2: 点击gambit文件夹的setup.exe,按步骤安装; step 3: FLUENT和GAMBIT需要把相应license.dat文件拷贝到FLUENT.INC/license目录下; step 4:安装完之后,把x:\FLUENT.INC\ntbin\ntx86\gambit.exe命令符拖到桌面(x为安装的盘符); step 5: 点击fluent源文件夹的setup.exe,按步骤安装; step 6: 从程序里找到fluent应用程序,发到桌面上。 注:安装可能出现的几个问题: 1.出错信息“unable find/open license.dat",第三步没执行; 2.gambit在使用过程中出现非正常退出时可能会产生*.lok文件,下次使用不能打开该工作文件时,进入x:\FLUENT.INC\ntbin\ntx86\,把*.lok文件删除即可; 3.安装好FLUENT和GAMBIT最好设置一下用户默认路径,推荐设置办法,在非系统分区建一个目录,如d:\users a)win2k用户在控制面板-用户和密码-高级-高级,在使用fluent用户的配置文件 修改本地路径为d:\users,重起到该用户运行命令提示符,检查用户路径是否修改; b)xp用户,把命令提示符发送到桌面快捷方式,右键单击命令提示符快捷方式在快捷方式-起始位置加入D:\users,重起检查。 几种主要文件形式: jou文件-日志文档,可以编辑运行; dbs文件-gambit工作文件; msh文件-从gambit输出得网格文件; cas文件-经fluent定义后的文件; dat文件-经fluent计算数据结果文件。 第二章专用的CFD前置处理器——Gambit GAMBIT软件是面向CFD的前处理器软件,它包含全面的几何建模能力和功能强大的网格划分工具,可以划分出包含边界层等CFD特殊要求的高质量的网格。GAMBIT可以生成FLUENT5、FLUENT4.5、FIDAP、POL YFLOW等求解器所需要的网格。Gambit软件将功能强大的几何建模能力和灵活易用的网格生成技术集成在一起。使用Gambit软件,将大大减小CFD应用过程中,建立几何模型和流场和划分网格所需要的时间。用户可以直接使用Gambit软件建立复杂的实体模型,也可以从主流的CAD/CAE系统中直接读入数据。Gambit软件高度自动化,所生成的网格可以是非结构化的,也可以是多种类型组成的混合网格。 一. Gambit图形用户界面:

FLUENT学习笔记

模拟分离的两个区域内的传热 如果用户的传热计算域涉及到由固体区域或某个壁面分开的两个流动区域(如图11.2.2所示),那么,就需要仔细的设定此计算模型: ● 在任一个流动区域都不能使用outflow 边界条件 ● 通过对每个计算域设定不同的流体介质,用户可以创建单独的流体介质属性(但是,对 于需要组分计算的情况,用户只能对整个计算域设定一个单一的混合介质)。 图表 1 涉及到两个彼此分离流动的典型逆流换热 流动与传热的耦合计算 对于流动与传热耦合问题(例如,模型中包含有依赖于温度的介质属性或浮力),在计算能量方程之前,用户可以首先求解流动方程。获得收敛的流场计算结果之后,用户可以再选择能量方程,然后同时求解流动与传热方程,最终获得问题的完整解。 11.3.7多表面辐射传热模型 多表面辐射传热模型可计算出在封闭(区域)内的漫灰表面之间的辐射换热。两个表面间的辐射换热量依赖于它们的尺寸、间距和方向。这种特性可以用一个被称为“角系数(视系数)”的几何量来度量。 多表面辐射传热模型的主要假定是忽略了所有的辐射吸收、发射和散射,因此,模型中仅考虑表面之间的辐射传热。 漫灰辐射 FLUENT 中的多表面辐射换热模型假定辐射面均为漫灰表面。灰表面的辐射发射和吸收与波长无关。同时,由基尔霍夫定律[ 161]可知,(热平衡时)物体的辐射发射率等于其对黑体辐射的吸收比(αε=)。对于漫反射表面,其反射率与入射方向以及反射方向无关。 FLUENT 中使用的就是漫灰表面模型。另外,正如前文所述,对于我们所感兴趣的量来说,表面之间的辐射换热量实际上并不受到隔开这些表面的介质的影响。这样,由灰体假设,如果表面接受到一定的入射辐射(E ),那么,一部分被反射(E ρ),部分被吸收(E α),剩余的则穿过表面物体(E τ)。对于具体问题中遇到的多数表面,其对热辐射(红外谱段)是不可穿透的,因此,可以认为这些表面是非透明的。所以,我们可以忽略掉辐射的穿透率。从能量守恒有,1=+ρα,又由于εα=(发射率、黑度),因此ερ-=1 !!辐射模型只能使用分离式求解器。 一旦激活辐射模型之后,每轮迭代过程中能量方程的求解计算就会包含有辐射热流。若在设定问题时激活了辐射模型,而又希望将它禁止掉,那么,用户必须在Radiation Model 面板中选定Off 选项。

Fluent UDF 中文教程UDF第7章 编译与链接

第七章UDF的编译与链接 编写好UDF件(详见第三章)后,接下来则准备编译(或链接)它。在7.2或7.3节中指导将用户编写好的UDF如何解释、编译成为共享目标库的UDF。 _ 第 7.1 节: 介绍 _ 第 7.2 节: 解释 UDF _ 第 7.3 节: 编译 UDF 7.1 介绍 解释的UDF和编译的UDF其源码产生途径及编译过程产生的结果代码是不同的。编译后的UDF由C语言系统的编译器编译成本地目标码。这一过程须在FLUENT运行前完成。在FLUENT运行时会执行存放于共享库里的目标码,这一过程称为“动态装载”。 另一方面,解释的UDF被编译成与体系结构无关的中间代码或伪码。这一代码调用时是在内部模拟器或解释器上运行。与体系结构无关的代码牺牲了程序性能,但其UDF可易于共享在不同的结构体系之间,即操作系统和FLUENT版本中。如果执行速度是所关心的,UDF文件可以不用修改直接在编译模式里运行。 为了区别这种不同,在FLUENT中解释UDF和编译UDF的控制面板其形式是不同的。解释UDF的控制面板里有个“Compile按钮”,当点击“Compile按钮”时会实时编译源码。编译UDF的控制面板里有个“Open 按钮”,当点击“Open按钮”时会“打开”或连接目标代码库运行

FLUENT(此时在运行FLUENT之前需要编译好目标码)。 当FLUENT程序运行中链接一个已编译好的UDF库时,和该共享库相关的东西都被存放到case文件中。因此,只要读取case文件,这个库会自动地链接到FLUENT处理过程。同样地,一个已经经过解释的UDF文件在运行时刻被编译,用户自定义的C函数的名称与内容将会被存放到用户的case文件中。只要读取这个case文件,这些函数会被自动编译。 注:已编译的UDF所用到的目标代码库必须适用于当前所使用的计算机体系结构、操作系统以及FLUENT软件的可执行版本。一旦用户的FLUENT升级、操作系统改变了或者运行在不同的类型的计算机,必须重新编译这些库。 UDF必须用DEFINE宏进行定义,DEFINE宏的定义是在udf.h文件中。因此,在用户编译UDF之前,udf.h文件必须被放到一个可被找到的路径,或者放到当前的工作目录中。 udf.h文件放置在: path/Fluent.Inc/fluent6.+x/src/udf.h 其中path是Fluent软件的安装目录,即Fluent.Inc目录。X代表了你所安装的版本号。 通常情况下,用户不应该从安装默认目录中复制udf.h文件。编译器先在当前目录中寻找该文件,如果没找到,编译器会自动到/src目录下寻找。如果你升级了软件的版本,但是没有从你的工作目录中删除旧版本的udf.h文件,你则不能访问到该文件的最新版本。在任何情

FLUENT中文全教程

FLUEN教程 赵玉新 I、目录 第一章、开始第二章、操作界面第三章、文件的读写第四章、单位系统第五章、读入和操作网格第六章、边界条件第七章、物理特性第八章、基本物理模型第九章、湍流模型第十章、辐射模型第十一章、化学输运与反应流第十二章、污染形成模型第十三章、相变模拟第十四章、多相流模型第十五章、动坐标系下的流动第十六章、解算器的使用第十七章、网格适应第十八章、数据显示与报告界面的产生第十九章、图形与可视化第二十章、Alphanumeric Reporting 第二十一章、流场函数定义第二十二章、并行处理第二十三章、自定义函数第二十四章、参考向导第二十五章、索引( Bibliograp)hy 第二十六章、命令索引 II、如何使用该教程 概述 本教程主要介绍了FLUEN的使用,其中附带了相关的算例,从而能够使每一位使用者在学习的同时积累相关的经验。本教程大致分以下四个部分:第一部分包括介绍信息、用户界面信息、文件输入输出、单位系统、网格、边界条件以及物理特性。第二和第三部分包含物理模型,解以及网格适应的信息。第四部分包括界面的生成、后处理、图形报告、并行处理、自定义函数以及FLUEN所使用的流场函数与变量的定义。下面是各章的简略概括第一部分: z 开始使用:本章描述了FLUEN的计算能力以及它与其它程序的接口。介绍了如何对具体的应用选择适当的解形式,并且概述了问题解决的大致步骤。在本章中,我们给出 了一个可以在你自己计算机上运行的简单的算例。 z 使用界面:本章描述了用户界面、文本界面以及在线帮助的使用方法。同时也提供了远程处理与批处理的一些方法。(请参考关于特定的文本界面命令的在线帮助) z 读写文件:本章描述了FLUENT以读写的文件以及硬拷贝文件。 z单位系统:本章描述了如何使用FLUENTS提供的标准与自定义单位系统。 z 读和操纵网格:本章描述了各种各样的计算网格来源,并解释了如何获取关于网格的诊 断信息,以及通过尺度化(scale、分区(partition等方法对网格的修改。本章还描述了非一致 (nonconform网格的使用. z 边界条件:本章描述了FLUENT提供的各种类型边界条件,如何使用它们,如何定义它们and how to define boundary profiles and volumetric sources. z 物理特性:本章描述了如何定义流体的物理特性与方程。FLUENTS用这些信息来处理你的输入信息。 第二部分: z 基本物理模型:本章描述了FLUENT算流体流动和热传导所使用的物理模型(包括自然对流、周期流、热传导、swirling旋转流、可压流、无粘流以及时间相关流)。以 及在使用这些模型时你需要输入的数据,本章也包含了自定义标量的信息。 z 湍流模型:本章描述了FLUENT湍流模型以及使用条件。 z 辐射模型:本章描述了FLUENT热辐射模型以及使用条件。 z 化学组分输运和反应流:本章描述了化学组分输运和反应流的模型及其使用方法。本章详细的叙述了prePD 的使用方法。 z 污染形成模型:本章描述了NO和烟尘的形成的模型,以及这些模型的使用方法。 第三部分:

Fluent中的UDF详细中文教程(7)

第七章 UDF的编译与链接 编写好UDF件(详见第三章)后,接下来则准备编译(或链接)它。在7.2或7.3节中指导将用户编写好的UDF如何解释、编译成为共享目标库的UDF。 _ 第 7.1 节: 介绍 _ 第 7.2 节: 解释 UDF _ 第 7.3 节: 编译 UDF 7.1 介绍 解释的UDF和编译的UDF其源码产生途径及编译过程产生的结果代码是不同的。编译后的UDF由C语言系统的编译器编译成本地目标码。这一过程须在FLUENT运行前完成。在FLUENT运行时会执行存放于共享库里的目标码,这一过程称为“动态装载”。 另一方面,解释的UDF被编译成与体系结构无关的中间代码或伪码。这一代码调用时是在内部模拟器或解释器上运行。与体系结构无关的代码牺牲了程序性能,但其UDF可易于共享在不同的结构体系之间,即操作系统和FLUENT版本中。如果执行速度是所关心的,UDF文件可以不用修改直接在编译模式里运行。 为了区别这种不同,在FLUENT中解释UDF和编译UDF的控制面板其形式是不同的。解释UDF的控制面板里有个“Compile按钮”,当点击“Compile按钮”时会实时编译源码。编译UDF的控制面板里有个“Open 按钮”,当点击“Open按钮” 时会“打开”或连接目标代码库运行

FLUENT(此时在运行FLUENT之前需要编译好目标码)。 当FLUENT程序运行中链接一个已编译好的UDF库时,和该共享库相关的东西都被存放到case文件中。因此,只要读取case文件,这个库会自动地链接到FLUENT处理过程。同样地,一个已经经过解释的UDF文件在运行时刻被编译,用户自定义的C函数的名称与内容将会被存放到用户的case文件中。只要读取这个case文件,这些函数会被自动编译。 注:已编译的UDF所用到的目标代码库必须适用于当前所使用的计算机体系结构、操作系统以及FLUENT软件的可执行版本。一旦用户的FLUENT升级、操作系统改变了或者运行在不同的类型的计算机,必须重新编译这些库。 UDF必须用DEFINE宏进行定义,DEFINE宏的定义是在udf.h文件中。因此,在用户编译UDF之前,udf.h文件必须被放到一个可被找到的路径,或者放到当前的工作目录中。 udf.h文件放置在: path/Fluent.Inc/fluent6.+x/src/udf.h 其中path是Fluent软件的安装目录,即Fluent.Inc目录。X代表了你所安装的版本号。 通常情况下,用户不应该从安装默认目录中复制udf.h文件。编译器先在当前目录中寻找该文件,如果没找到,编译器会自动到/src目录下寻找。如果你升级了软件的版本,但是没有从你的工作目录中删除旧版本的udf.h文件,你则不能访问到该文件的最新版本。在任何情

Fluent动画制作教程

二维流体动画实例软件版本 Fluent-. Gambit-. 具体步骤 1.在Fluent中导入已经定义好的各种参数条件的cas文件 开启Fluent,选择2ddp,在Fluent中,“File”—“Read”—“Case&Data”,选择文件夹“Fluent-File”中的“”文件。这个二维模型的制作过程在PDF中有说明,上面的文件是已经做好的模型。 2.初始化数据 在Fluent中,“Solve”—“Initialize”—“Initialize”,点击“Init”,初始化完后点击“Close”关闭对话框,如图1所示。 图1 初始化数据 3.定义动画 在Fluent中,“Solve”—“Animate”—“Define”,弹出Solution Animation对话框,如图2所示的设置。 图2 动画设置对话框 接下来点击图2对话框中的“Define”,弹出Animation Sequence对话框,在“Storage Type”中选择“PPM Image”,在“Storage Directory”中设置动画序列的保存路径,注意路径不得有中文,在“Display Type”中选择“Contours”,弹出Contours对话框,按自己的显示需要设置好点击或直接点击“Display”弹出显示窗口,再点击“Close”完成等值线的设置,想要更改Display Type的话则点击“Properties”即可,分别如图3~5所示。 图3 动画序列对话框设置 图4 显示窗口 图5 等值线设置 设置完成后,在Animation Sequence对话框中点击OK完成设置,再在“Solution Animation”对话框中点击OK完成设置。 4.进行迭代运算 “Solve”—“Iterate”,弹出迭代运算对话框,迭代20次,如图6所示,迭代过程中,每迭代一次,会保存一帧动画到之前设定的保存路径中。 图6 迭代运算对话框 5.播放动画 关闭迭代运算对话框,通过“Solve”—“Animate”—“Playback”打开Playback对话框,如图7所示。 图7 Playback对话框 点击播放即可,而后点击下边的“Write”即可在设定的保存目录中生成一个“”文件,下次打开Playback对话框直接Read这个cxa文件即可播放动画,动画其中几幅图如图8~10所示。 图8 动画1 图9 动画2 图10 动画3

Fluent UDF教程

UDF中文教程

目录 第一章. 介绍 (4) 1.1什么是UDF? (4) 1.2为什么要使用UDF? (4) 1.3 UDF的局限 (5) 1.4Fluent5到Fluent6UDF的变化 (5) 1.5 UDF基础 (6) 1.6 解释和编译UDF的比较 (8) 1.7一个step-by-stepUDF例子 (9) 第二章.UDF的C语言基础 (16) 2.1引言 (16) 2.2注释你的C代码 (17) 2.3FLUENT的C数据类型 (17) 2.4常数 (17) 2.5变量 (17) 2.6自定义数据类型 (20) 2.7强制转换 (20) 2.8函数 (20) 2.9 数组 (20) 2.10指针 (21) 2.11 控制语句 (22) 2.12常用的C运算符 (24) 2.13 C库函数 (24) 2.14 用#define实现宏置换 (26) 2.15 用#include实现文件包含 (27) 2.16 与FORTRAN 的比较 (27) UDF 第3章写UDF (27) 3.1概述(Introduction) (28) 3.2写解释式UDF的限制 (28) 3.3 FLUENT求解过程中UDF的先后顺序 (29) 3.4 FLUENT 网格拓扑 (31) 3.5 FLUENT数据类型 (32) 3.6 使用DEFINE Macros定义你的UDF (33) 3.7在你的UDF源文件中包含udf.h文件 (34) 3.8在你的函数中定义变量 (34) 3.9函数体(Functin Body) (35) 3.10 UDF任务(UDF Tasks) (35) 3.11为多相流应用写UDF (41) 3.12在并行下使用你的UDF (50) 第四章DEFINE宏 (51) 4.1 概述 (51) 4.2 通用解算器DEFINE宏 (52) 4.3 模型指定DEFINE宏 (61)

Fluent_动画制作教程

二维流体动画实例 软件版本 Fluent-6.3.26. Gambit-2.2.30. 具体步骤 1.在Fluent中导入已经定义好的各种参数条件的cas文件 开启Fluent,选择2ddp,在Fluent中,“File”—“Read”—“Case&Data”,选择文件夹“Fluent-File”中的“mix-data.cas”文件。这个二维模型的制作过程在PDF中有说明,上面的文件是已经做好的模型。 2.初始化数据 在Fluent中,“Solve”—“Initialize”—“Initialize”,点击“Init”,初始化完后点击“Close”关闭对话框,如图1所示。 图1 初始化数据 3.定义动画 在Fluent中,“Solve”—“Animate”—“Define”,弹出Solution Animation 对话框,如图2所示的设置。

图2 动画设置对话框 接下来点击图2对话框中的“Define”,弹出Animation Sequence对话框,在“Storage Type”中选择“PPM Image”,在“Storage Directory”中设置动画序列的保存路径,注意路径不得有中文,在“Display Type”中选择“Contours”,弹出Contours对话框,按自己的显示需要设置好点击或直接点击“Display”弹出显示窗口,再点击“Close”完成等值线的设置,想要更改Display Type的话则点击“Properties”即可,分别如图3~5所示。 图3 动画序列对话框设置

图4 显示窗口 图5 等值线设置 设置完成后,在Animation Sequence对话框中点击OK完成设置,再在

Fluent建模教程

目录 1.理论知识 1.1Gambit软件的介绍 1.2Fluent软件的介绍 1.3Exceed.13+Gambit.V 2.4.06+Fluent.6.3安装介绍 2.建模过程 2.1Gambit 启动 2.2建立几何模型 3.网格划分 3.1划分网格 3.2检查网格划分情况 3.3设置边界类型 3.4输出网格文件 4.计算求解 4.1检查网格并定义长度单位 4.2设置计算模型 4.3设置流体材料属性 4.4设置边界条件 4.5求解初始化 4.6设置残差监视 4.7保存case文件 4.8求解计算 4.9保存计算结果 5.后期处理 5.1读入case和data文件 5.2显示网格 5.3创建相关面 5.4计算各单电池获得的质量流率 5.5绘制图表 6.参考链接

第一章理论知识 1.1Gambit软件的介绍 GAMBIT是为了帮助分析者和设计者建立并网格化计算流体力学(CFD)模型和其它科学应用而设计的一个软件包。GAMBIT通过它的用户界面(GUI)来接受用户的输入。GAMBIT GUI简单而又直接的做出建立模型、网格化模型、指定模型区域大小等基本步骤,然而这对很多的模型应用已是足够了。 面向CFD分析的高质量的前处理器,其主要功能包括几何建模和网格生成。由于GAMBIT本身所具有的强大功能,以及快速的更新,在目前所有的CFD前处理软件中,GAMBIT稳居上游。 GAMBIT软件具有以下特点: ☆ACIS内核基础上的全面三维几何建模能力,通过多种方式直接建立点、线、面、体,而且具有强大的布尔运算能力,ACIS内核已提高为ACIS R12。该功能大大领先于其它CAE软件的前处理器; ☆可对自动生成的Journal文件进行编辑,以自动控制修改或生成新几何与网格; ☆可以导入PRO/E、UG、CATIA、SOLIDWORKS、ANSYS、PATRAN等大多数CAD/CAE软件所建立的几何和网格。导入过程新增自动公差修补几何功能,以保证GAMBIT与CAD软件接口的稳定性和保真性,使得几何质量高,并大大减轻工程师的工作量; ☆新增PRO/E、CATIA等直接接口,使得导入过程更加直接和方便; ☆强大的几何修正功能,在导入几何时会自动合并重合的点、线、面;新增几何修正工具条,在消除短边、缝合缺口、修补尖角、去除小面、去除单独辅助线和修补倒角时更加快速、自动、灵活,而且准确保证几何体的精度; ☆G/TURBO模块可以准确而高效的生成旋转机械中的各种风扇以及转子、定子等的几何模型和计算网格; ☆强大的网格划分能力,可以划分包括边界层等CFD特殊要求的高质量网格。GAMBIT中专用的网格划分算法可以保证在复杂的几何区域内直接划分出高质量的四面体、六面体网格或混合网格; ☆先进的六面体核心(HEXCORE)技术是GAMBIT所独有的,集成了笛卡尔网格和非结构网格的优点,使用该技术划分网格时更加容易,而且大大节省网格数量、提高网格质量; ☆居于行业领先地位的尺寸函数(Size function)功能可使用户能自主控制网格的生成过程以及在空间上的分布规律,使得网格的过渡与分布更加合理,最大限度地满足CFD分析的需要;

Fluent中的UDF详细中文教程(8)

第八章 在FLUENT中激活你的UDF 一旦你已经编译(并连接)了你的UDF,如第7章所述,你已经为在你的FLUENT模型中使用它做好了准备。根据你所使用的UDF,遵照以下各节中的指导。 z8.1节激活通用求解器UDF z8.2节激活模型明确UDF z8.3节激活多相UDF z8.4节激活DPM UDF 8.1 激活通用求解器UDF 本节包括激活使用4.2节中宏的UDF的方法。 8.1.1 已计算值的调整 一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了调整已计算值UDF,这一UDF在FLUENT中将成为可见的和可选择的。你将需要在User-Defined Function Hooks面板的Adjust Function下拉菜单(图8.1.1)中选择它。 调整函数(以DEFINE_ADJUST宏定义)在速度、压力及其它数量求解开始之前的一次迭代开始的时候调用。例如,它可以用于在一个区域内积分一个标量值,并根据这一结果调整边界条件。有关DEFINE_ADJUST宏的更多内容将4.2.1节。调整函数在什么地方适合求解器求解过程方面的信息见3.3节。 8.1.2 求解初始化 一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了求解初始化UDF,这一UDF在FLUENT中将成为可见的和可选择的。你将需要在User-Defined Function Hooks面板的Initialization Function下拉菜单(图8.1.1)中选择它。

求解初始化UDF使用DEFINE_INIT宏定义。细节见4.2.2节。 8.1.3 用命令执行UDF 一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了你的UDF,你可以在Execute UDF On Demand面板中选择它(图8.1.2),以在某个特定的时间执行这个UDF,而不是让FLUENT在整个计算中执行它。 点击Execute按纽让FLUENT立即执行它。 以命令执行的UDF用DEFINE_ON_COMMAND宏定义,更多细节见4.2.3节 8.1.4 从case和data文件中读出及写入 一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了一个将定制片段从case 和data文件中读出或写入的UDF,这一UDF在FLUENT中将成为可见的和可选择的。你将需要在User-Defined Function Hooks面板(图8.1.1)中选择它。

Fluent建模教程讲解

目录1.理论知识 1.1Gambit软件的介绍 1.2Fluent软件的介绍 1.3Exceed安装介绍 2.建模过程 2.1Gambit 启动 2.2建立几何模型 3.网格划分 4.1划分网格 4.2检查网格划分情况 4.3设置边界类型 4.4输出网格文件 4.计算求解 5.1检查网格并定义长度单位 5.2设置计算模型 5.3设置流体材料属性 5.4设置边界条件 5.5求解初始化 5.6设置残差监视 5.7保存case文件 5.8求解计算 5.9保存计算结果 5.后期处理 第一章读入case和data文件 第二章显示网格

第三章创建相关面 第四章计算各单电池获得的质量流率 第五章绘制图表 6.参考链接 第一章理论知识 1.1Gambit软件的介绍 GAMBIT是为了帮助分析者和设计者建立并网格化计算流体力学(CFD)模型和其它科学应用而设计的一个软件包。GAMBIT通过它的用户界面(GUI)来接受用户的输入。GAMBIT GUI简单而又直接的做出建立模型、网格化模型、指定模型区域大小等基本步骤,然而这对很多的模型应用已是足够了。 面向CFD分析的高质量的前处理器,其主要功能包括几何建模和网格生成。由于GAMBIT本身所具有的强大功能,以及快速的更新,在目前所有的CFD前处理软件中,GAMBIT稳居上游。 GAMBIT软件具有以下特点: ☆ ACIS内核基础上的全面三维几何建模能力,通过多种方式直接建立点、线、面、体,而且具有强大的布尔运算能力,ACIS内核已提高为ACIS R12。该功能大大领先于其它CAE软件的前处理器; ☆可对自动生成的Journal文件进行编辑,以自动控制修改或生成新几何与网格; ☆可以导入PRO/E、UG、CATIA、SOLIDWORKS、ANSYS、PATRAN等大多数CAD/CAE 软件所建立的几何和网格。导入过程新增自动公差修补几何功能,以保证GAMBIT与CAD软件接口的稳定性和保真性,使得几何质量高,并大大减轻工程师的工作量; ☆新增PRO/E、CATIA等直接接口,使得导入过程更加直接和方便; ☆强大的几何修正功能,在导入几何时会自动合并重合的点、线、面;新增几何修正工具条,在消除短边、缝合缺口、修补尖角、去除小面、去除单独辅助线和修

相关主题