FLUENT UDF应用实例:传热热问题第二第三类热边界条件转换成第一类边界条件
- 格式:docx
- 大小:735.62 KB
- 文档页数:10
译文说明●本文依据FLUENT6。
0的HELP文件翻译而成。
事先并未征得原文版权所有者FLUENT公司或其在中国代理人海基公司的同意。
●本文的写作目的仅在于为在教育与科研领域从事研究工作的人员提供参考与帮助,无意于将其用于商业目的。
●对本文在教育与科研领域的转移、存储、复制,本文作者不提供基于任何商业目的或有损于原文版权所有者的利益、形象等权益的帮助或便利。
●对出于研究与教学目的人员或机构,中文翻译者愿意并尽其可能的提供帮助、商议或回应其它形式的要求.●一旦原文(英文)版权所有者对中文译文的发布提出异议并明确通知译文作者,同时援引有效、适用的法律、法规条款,译文作者愿意立刻终止其为本文的发布、传播而所做出的一切形式努力。
注:本文以ADOBE公司的PDF格式发布。
如需要相应中文WORD格式文档,请发邮件到west_wing@sohu。
com。
11. Modeling Heat Transfer 传热模拟•11。
1 Overview of Heat Transfer Models in FLUENT FLUENT中的传热模型概述•11。
2 Convective and Conductive Heat Transfer 导热与对流换热o11.2。
1 Theory 理论o11。
2。
2 User Inputs for Heat Transfer 有关传热的用户输入项o11.2。
3 Solution Process for Heat Transfer 传热计算的求解过程o11.2.4 Reporting and Displaying Heat Transfer Quantities 传热变量的输出与显示o11.2.5 Exporting Heat Flux Data 热流数据的输出•11。
3 Radiative Heat Transfer 辐射传热o11.3。
1 Introduction to Radiative Heat Transfer 辐射传热简介o11。
fluent热边界条件
Fluent热边界条件是指在进行热流体分析计算时,需要对热源和热器进行特定的设定,以确保计算得出的温度场分布和实际情况相符合。
在Fluent中,热边界条件可以分为四种:壁面热流,壁温,表面热通量和对流。
下面将分别介绍这四种热边界条件的作用、定义和
应用。
1. 壁面热流
壁面热流是指某个表面或壁面上的单位面积内发生的热量与单位时间的比值。
在
Fluent中,壁面热流可以通过设定壁面的热通量来实现。
这种热边界条件适用于那些需要对墙面的内部对流进行建模的问题,如热交换器、加热器等。
在应用壁面热流热边界条件时,需要设置壁面热通量的数值,以确保计算得出的温度
分布与实际情况相符合。
此外,在设置壁面热流时,还需要注意壁面的热阻和热容等物性
参数,以确定壁面热流所需的热量。
2. 壁温
壁温是指某个表面或壁面的温度值。
在Fluent中,当需要对计算区域中的某个表面进行固定温度的设定时,可以使用壁温热边界条件。
3. 表面热通量
4. 对流
对流是指在流体中,由于温度差异而引起的流体运动。
在Fluent中,对流热边界条件适用于那些需要对流体外部的影响进行建模的问题,如汽车空调、电子设备散热等。
总之,在进行热流体分析计算时,选择合适的热边界条件对于保证计算结果的准确性
至关重要。
应根据具体问题的需要,选择适当的热边界条件进行设定,并对其各项参数进
行合理的调整和优化,以确保计算结果的准确性和可靠性。
fluent udf函数三维边界定义-回复如何使用Fluent 中的UDF 函数来定义三维边界?Fluent 是一种流体动力学软件,可用于模拟和分析各种流体流动问题。
它提供了丰富的用户定义函数(UDF)功能,使用户能够自定义边界条件和物理模型,以更准确地模拟不同的流体行为和流动情况。
在这篇文章中,我们将详细介绍如何使用Fluent 中的UDF 函数来定义三维边界条件。
第一步:了解三维边界条件的概念和作用三维边界条件是指在计算领域的边界上施加的条件,用于定义流体流动和传热的行为。
在Fluent 中,边界条件的定义涉及到属性和函数的设置。
通过使用UDF 函数,我们可以更灵活地定义边界条件,并模拟多种复杂的流动情况。
第二步:创建UDF 函数并设置边界条件在Fluent 中,我们可以使用UDF 宏定义来创建自定义的UDF 函数,并将其与边界条件相关联。
UDF 宏提供了一些函数和参数,可用于处理边界流动和传热的特定问题。
首先,我们需要在Fluent 中启用UDF 宏。
在Fluent 的图形用户界面中,选择“Define”> “User-Defined”> “Functions”,然后在“UDF Compiler”对话框中选择“Enable”来启用UDF 函数。
然后,在“Function”对话框中点击“Define”,进入UDF函数定义界面。
这里可以选择不同的宏定义,比如DEFINE_PROFILE 宏用于定义边界条件文件。
通过修改和编辑UDF 代码,我们可以创建适用于不同边界条件的自定义函数。
例如,在定义三维边界条件时,我们可以使用DEFINE_PROFILE 宏,并结合C 语言的数学函数和逻辑运算符来设置流体的速度、温度和压力等属性。
以速度为例,我们可以使用以下代码来定义一个平均速度为2 m/s 的三维边界条件:#include "udf.h"DEFINE_PROFILE(velocity_profile, thread, position){real x[ND_ND];face_t f;begin_f_loop(f, thread){F_CENTROID(x, f, thread);F_PROFILE(f, thread, position) = 2.0;}end_f_loop(f, thread)}这个UDF 函数将在指定边界上施加一个速度为2 m/s的边界条件。
周期性边界条件周期性边界条件用来解决,物理模型和所期待的流动的流动/热解具有周期性重复的特点。
FLUENT提供了两种类型的周期性边界条件。
第一种类型不允许通过周期性平面具有压降(对于FLUENT4用户来说:这一类型的周期性边界是指FLUENT4中的圆柱形边界)。
第二种类型允许通过平移周期性边界具有压降,它是你能够模拟完全发展的周期性流动(在FLUENT4中是周期性边界)。
本节讨论了无压降的周期性边界条件。
在周期性流动和热传导一节中,完全发展的周期性模拟能力得到了详尽的描述。
周期性边界的例子周期性边界条件用于模拟通过计算模型内的两个相反平面的流动是相同的情况。
下图是周期性边界条件的典型应用。
在这些例子中,通过周期性平面进入计算模型的流动和通过相反的周期性平面流出流场的流动是相同的。
正如这些例子所示,周期性平面通常是成对使用的。
Figure 1: 在圆柱容器中使用周期性边界定义涡流周期性边界的输入对于没有任何压降的周期性边界,你只需要输入一个东西,那就是你的所模拟的几何外形是旋转性周期还是平移性周期。
(对于有周期性压降的周期流还要输入其它的东西,请参阅周期性流动和热传导一节。
)旋转性周期边界是指关于旋转对称几何外形中线形成了一个包括的角度。
本节中的图一就是旋转性周期。
平移性周期边界是指在直线几何外形内形成周期性边界。
下面两图是平移性周期边界:Figure 1: 物理区域Figure 2: 所模拟的区域对于周期性边界,你需要在周期性面板(下图)中指定平移性边界还是旋转性边界,该面板是从设定边界条件菜单中打开的。
Figure 3: 周期性面板(对于耦合解算器,周期性面板中将会有附加的选项,这一选项允许你指定压力跳跃,详细内容请参阅周期性流动和热传导一节。
)如果区域是旋转性区域,请选择旋转性区域类型。
如果是平移性就选择平移性区域类型。
对于旋转性区域,解算器会自动计算通过周期性区域的旋转角度。
旋转轴是为邻近单元指定的旋转轴。
fluent边界条件算法
摘要:
1.FLUENT简介及应用领域
2.FLUENT边界条件设置方法
3.具体案例:扇形区域边界条件设置
4.总结:FLUENT边界条件的重要性
正文:
FLUENT是一款知名的流体动力学仿真软件,凭借其先进的求解方法和多重网格加速收敛技术,FLUENT 在转捩与湍流、传热与相变、化学反应与燃烧、多相流、旋转机械、动/变形网格、噪声、材料加工、燃料电池等方面有广泛应用。
在FLUENT中,边界条件设置是解决问题的重要环节。
边界条件主要包括速度、压力、温度等物理量的边界条件。
设置合适的速度边界条件可以模拟入口和出口的流动情况,而压力边界条件则可以模拟压力驱动的问题。
温度边界条件则用于模拟热传导问题。
以扇形区域为例,我们可以这样设置边界条件:首先,在网格划分时定义好扇形区域的角度和半径。
然后在FLUENT中的boundary设置界面,根据所需条件进行设置。
例如,可以设置入口速度、出口压力、壁面摩擦系数等。
此外,还可以根据问题需要,设置对称边界条件,以简化计算域和提高计算效率。
在实际应用中,正确设置边界条件是解决问题的关键。
如果边界条件设置
不当,可能导致计算不收敛或结果不准确。
因此,在设置边界条件时,要充分考虑问题的实际情况和物理规律,以确保计算结果的可靠性。
总之,FLUENT边界条件设置在流体动力学仿真中具有重要作用。
通过合理设置边界条件,可以有效解决实际问题,提高计算精度和可靠性。
fluent第一类边界条件Fluent第一类边界条件在计算流体力学中,边界条件是模拟物理现象时非常重要的一部分。
它们描述了流体在物体表面的行为,对于正确的模拟结果至关重要。
其中,Fluent软件中的第一类边界条件是常见的一种。
本文将详细介绍Fluent第一类边界条件的概念、特点以及应用。
概念Fluent第一类边界条件又称为指定值边界条件,是在模拟过程中通过给定指定值的方式来描述流体在物体表面的行为。
这些指定值可以是速度、压力、温度等物理量的具体数值。
通过在物体表面施加这些边界条件,可以准确地模拟出流体在不同边界上的行为。
特点Fluent第一类边界条件具有以下几个特点:1. 简单明确:第一类边界条件是最直接、最常用的一种边界条件,它直接给定了流体在物体表面上的物理量数值,没有复杂的计算过程。
2. 精确控制:通过指定具体的数值,可以精确地控制流体在物体表面上的行为,如速度的大小和方向、温度的分布等。
3. 独立性:第一类边界条件是独立于流场解算的,它只与物体表面的几何形状和所描述的物理量有关,而与流体的流动状态无关。
应用Fluent第一类边界条件在各个领域的工程应用中都得到了广泛的使用,以下是几个典型的应用场景。
1. 管道流动:在模拟管道流动时,可以通过给定入口处的速度和出口处的压力来描述流体在管道内的行为。
这样可以准确地模拟出流体在不同位置的流速和压力分布。
2. 翼型气动力学:在翼型气动力学中,可以通过给定翼型表面的压力分布来描述流体在翼型表面上的行为。
这样可以计算出翼型的升力和阻力等重要气动力学参数。
3. 燃烧模拟:在燃烧模拟中,可以通过给定燃烧室壁面的温度和物质的质量分数等边界条件来描述燃烧过程。
这样可以准确地模拟出燃烧室内的温度和物质浓度分布。
总结Fluent第一类边界条件是一种常见且重要的边界条件,在流体模拟中起着至关重要的作用。
它通过给定指定值的方式来描述流体在物体表面的行为,具有简单明确、精确控制和独立性等特点。
FLUENT UDF 应用实例:传热问题第二第三类热边界条件转
换成第一类边界条件
1 引言
传热问题的常见边界条件可归纳为三类,以稳态传热为例,三类边界条件的表达式如下。
恒温边界(第一类边界条件):const w T = (1-1)
恒热流密度边界(第二类边界条件):const w T n λ∂⎛⎫-= ⎪∂⎝⎭ (1-2)
对流换热边界(第三类边界条件):()w f w
T h T T n λ∂⎛⎫
-=- ⎪∂⎝⎭ (1-3)
2 问题分析
2.1 纯导热问题
以二维稳态无源纯导热问题为例,如图1所示,一个10×10m 2的方形平面空间,上下面以及左边为恒温壁面(21℃),右边第二类、第三类边界条件如图所示。
为方便问题分析,内部介质的导热系数取1W/m ℃。
模型水平垂直方向各划分40个网格单元,不计边界条件处壁厚。
图1 问题描述
采用FLUENT 软件自带边界条件直接进行计算,结果如图2所示。
(a )第二类边界条件
(b )第三类边界条件 图2 软件自带边界计算结果
参考数值传热学[3],对于第二类(式1-2)、第三类(式1-3)边界条件可
通过补充边界点代数方程的方法进行处理,结果如下。
第二类边界条件:11M M q T T δ
λ
-=+
(2-1)
第三类边界条件:11/1M M f
h h T T T δδ
λλ-⎛
⎫⎛⎫
=++
⎪ ⎪⎝
⎭⎝
⎭
(2-2) 其中,T M 为边界节点处的温度(所求值),T M-1为靠近边界第一层网格节点处的温度,δ为靠近边界第一层网格节点至边界的法向距离,q 为热流密度,h 为对流换热系数。
将以上两式通过UDF 编写成边界条件(DEFINE_PROFILE ),全部转换为第一类边界条件,计算结果如图3所示。
(a)第二类边界条件
(b)第三类边界条件
图3 UDF计算结果
可以看出,经过UDF边界转换后的计算结果与软件自带边界计算结果几
乎完全相同。
2.2对流换热问题
以上处理方式对于导热问题肯定是适用的,但是对于对流换热问题能否用同样的方式处理呢,笔者认为,严格意义上讲式2-1和2-2对与对流换热问题是不能用的,因为边界内侧的流体与壁面的换热机制是对流换热。
但是,当第一层网格重心距离边界很近时,该位置流体的流速很小,无限接近边界时流速应该为零。
因此只要第一层网格重心足够靠近边界,换热机制用导热来处理应该是没有问题的。
为此,建立图4所示的计算模型,尺寸、网格、介质同上,此时首层网格重心与边界的法向距离为0.125m。
图4 问题描述
采用FLUENT软件自带边界条件直接进行计算,结果如图5所示。
(a)第二类边界条件
(b)第三类边界条件
图5 软件自带边界计算结果
采用UDF将第二类、第三类边界条件转换成第一类边界条件计算结果如图6所示。
(a)第二类边界条件
(b)第三类边界条件
图6 UDF计算结果
对比可知,首层网格重心与边界的法向距离为0.125m时,UDF计算结果与软件自带边界条件计算结果差距较大。
因此,对壁面处网格进行细化如图7所示,此时首层网格重心与边界的法向距离为0.0625m,重新计算,结果如图8、图9所示。
可以看出,细化网格后,经过UDF边界转换后的计算结果与软件自带边界计算结果几乎完全相同。
说明在该厚度内,导热成为传热的主导机制,对流换热几乎可以忽略了,对于不同的问题,这个厚度到底达到多少也不确定,但是可以确定的是至少需要在边界层内,越靠近壁面,这种处理越准确。
继续进行细化,两者的计算结果同样几乎一致。
图7 壁面网格细化
(a)第二类边界条件
(b)第三类边界条件
图8 软件自带边界条件计算结果
(a)第二类边界条件
(b)第三类边界条件
图9 UDF计算结果
3总结
换热问题的第二类、第三类边界条件都可以同UDF转换成第一类边界条件进行计算,但是边界处网格需进行细化,特别对于对流换热问题,首层网格重心与边界的法向距离至少要在边界层范围内,距离越小,转换计算的准确性越高。
参考文献:
[1]FLUENT帮助文档
[2]杨世铭,陶文铨.传热学(第4版)[M].北京:高等教育出版社
[3]陶文铨.数值传热学[M].西安:西安交通大学出版社
附录UDF代码
#include "udf.h"
#include "prop.h"
#include "mem.h"
DEFINE_SOURCE(uds_source,c,t,dS,eqn)
{
double source=10;
dS[eqn]=0;
return source;
}
DEFINE_PROFILE(MyProfile2,thread,index)
{
double q=10.0;
double T;
face_t f;
cell_t c0;
Thread *t0;
cell_t c;
double thickness;
double thick;
double x[ND_ND];
double x0[ND_ND];
double NV_VEC(a);
double NV_VEC(A);
double cosphi;
begin_f_loop(f,thread)
{
t0=THREAD_T0(thread); //获取边界邻近网格的线c0=F_C0(f,thread); //获取边界邻近网格单元的ID
F_CENTROID(x,f,thread); //获取面心
C_CENTROID(x0,c0,t0); //获取邻近单元重心
NV_VV(a, =, x0, -, x); //求面心和重心的向量(两心向量)
thick=NV_MAG(a); //求面心和重心的距离(非法向)
F_AREA(A,f,thread); //获取边界法向面积矢量
cosphi=fabs(NV_DOT(a,A))/NV_MAG(a)/NV_MAG(A); //求两心向量和法向的夹角余弦
thickness=thick*cosphi; //求两心法向距离
T=C_T(c0,t0)+q*thickness;
F_PROFILE(f,thread,index)=T;
//printf("\n 首层网格重心到边界的法向距离为%g\n",thickness);
}
end_f_loop(f,thread)
}
DEFINE_PROFILE(MyProfile3,thread,index)
{
double coef=5.0;
double tout=10;
double T;
face_t f;
cell_t c0;
Thread *t0;
cell_t c;
double thickness;
double thick;
double x[ND_ND];
double x0[ND_ND];
double NV_VEC(a);
double NV_VEC(A);
double cosphi;
begin_f_loop(f,thread)
{
t0=THREAD_T0(thread); //获取边界邻近网格的线
c0=F_C0(f,thread); //获取边界邻近网格单元的ID
F_CENTROID(x,f,thread); //获取面心
C_CENTROID(x0,c0,t0); //获取邻近单元重心
NV_VV(a, =, x0, -, x); //求面心和重心的向量(两心向量)
thick=NV_MAG(a); //求面心和重心的距离(非法向)
F_AREA(A,f,thread); //获取边界法向面积矢量
cosphi=fabs(NV_DOT(a,A))/NV_MAG(a)/NV_MAG(A); //求两心向量和法向的夹角余弦
thickness=thick*cosphi; //求两心法向距离
T=(C_T(c0,t0)+coef*thickness*(tout+273.15))/(1+coef*thickness);
F_PROFILE(f,thread,index)=T;
//printf("\n 首层网格重心到边界的法向距离为%g\n",thickness);
}
end_f_loop(f,thread)
}。