欢迎来到天天文库
浏览记录
ID:47486852
大小:292.00 KB
页数:29页
时间:2020-01-12
《Fluent中用户自定义函数应用举例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第10章应用举例本章包含了FLUENT中UDFs的应用例子。10.1边界条件10.2源项10.3物理属性10.4反应速率(ReactingRates)10.5用户定义标量(User_DefinedScalars)10.1边界条件这部分包含了边界条件UDFs的两个应用。两个在FLUENT中都是作为解释式UDFs被执行的。10.1.1涡轮叶片的抛物线速度入口分布要考虑的涡轮叶片显示在Figure10.1.1中。非结构化网格用于模拟叶片周围的流场。区域从底部周期性边界延伸到顶部周期性边界,左边是速度入口,右边是压力出
2、口。Figure10.1.1:TheGridfortheTurbineVaneExample常数速度应用于入口的流场与抛物线速度应用于入口的流场作了比较。当采用分段线性分布的型线的应用是有效的对边界型线选择,多项式的详细说明只能通过用户定义函数来完成。常数速度应用于流场入口的结果显示在Figure10.1.2和Figure10.1.3中。当流动移动到涡轮叶片周围时初始常速度场被扭曲。Figure10.1.2:VelocityMagnitudeContoursforaConstantInletxVelocityF
3、igure10.1.3:VelocityVectorsforaConstantInletxVelocity现在入口速度将用以下型线描述:这里变量在人口中心是0.0,在顶部和底部其值分别延伸到。这样速度在入口中心为20m/sec,在边缘为0。UDF用于传入入口上的这个抛物线分布。C源代码(vprofile.c)显示如下。函数使用了Section5.3中描述的Fluent提供的求解器函数。/***************************************************************
4、********//*vprofile.c*//*UDFforspecifyingsteady-statevelocityprofileboundarycondition*//***********************************************************************/#include"udf.h"DEFINE_PROFILE(inlet_x_velocity,thread,position){realx[ND_ND];/*thiswillholdtheposi
5、tionvector*/realy;face_tf;begin_f_loop(f,thread){F_CENTROID(x,f,thread);y=x[1];F_PROFILE(f,thread,position)=20.-y*y/(.0745*.0745)*20.;}end_f_loop(f,thread)}函数,被命名为inlet_x_velocity,使用了DEFINE_PROFILE定义并且有两个自变量:thread和position。Thread是一个指向面的thread的指针,position是一个
6、整数,它是每个循环(loop)内为变量设置的数值标签。函数通过声名变量f作为face_t的数据类型。一维数组x和变量y被定义为real数据类型。循环宏用于循环区域内每个面来创建型线,或数据数组。每个循环内,F_CENTROIDS为带指标f的面输出面质心(数组x)的值,指标f在被thread指向的线(thread)上。存储在x[1]中的y坐标用于为变量y赋值,然后用于计算x速度。这个值接着被分配到F_PROFILE,使用整数position(在你从VelocityInlet面板中选择的UDF作为x速度的边界条件的
7、基础上通过求解器传递给它)来设置内存中x速度面值。为了在FLUENT中使用这个解释式UDF,你必须首先编译它。DefineUser-DefinedFunctionsInterpreted...在InterpretedUDFs面板中,在SourceFileName区域命名你的函数。如果必要,在CPPCommandName区域输入你的C预处理程序类型和在StackSize下输入堆栈大小。打开DisplayAssemblyListing在你的控制台窗口中能看到汇编列表,当函数编译时。点击Compile然后Close面
8、板。为了选择这个用户定义函数作为所选区域的速度边界条件,打开VelocityInlet面板。在X-Velocity下拉列表下,选择udfinlet_x_velocity,这个名字在上面已经命名给函数。这个函数将被使用,而不是出现在X-Velocity区域的0值(在这个例子中)。点OK接受这个新边界条件并关闭面板。在求解运行到收敛之后,获得了一个修正的速度场如Figure10.1.4an
此文档下载收益归作者所有