Fluent udf 第10章 应用举例
第 10 章 应用举例第 10 章 应用举例本章包含了 FLUENT 中 UDFs 的应用例子。10.1 边界条件 10.2 源项 10.3 物理属性 10.4 反应速率(Reacting Rates) 10.5 用户定义标量(User_Defined Scalars)10.1 边界条件 这部分包含了边界条件 UDFs 的两个应用。两个在 FLUENT 中都是作为解释式 UDFs 被执行的。 10.1.1 涡轮叶片的抛物线速度入口分布 要考虑的涡轮叶片显示在 Figure 10.1.1 中。 非结构化网格用于模拟叶片周围的流 场。区域从底部周期性边界延伸到顶部周期性边界,左边是速度入口,右边是压 力出口。 Figure 10.1.1: The Grid for the Turbine Vane Example常数 x 速度应用于入口的流场与抛物线 x 速度应用于入口的流场作了比较。当采用分段
第 10 章 应用举例线性分布的型线的应用是有效的对边界型线选择,多项式的详细说明只能通过用户定 义函数来完成。 常数速度应用于流场入口的结果显示在 Figure 10.1.2 和 Figure 10.1.3 中。 当流动移动到 涡轮叶片周围时初始常速度场被扭曲。 Figure 10.1.2: Velocity Magnitude Contours for a Constant Inlet x VelocityFigure 10.1.3: Velocity Vectors for a Constant Inlet x Velocity现在入口 x 速度将用以下型线描述:
第 10 章 应用举例这里变量 y 在人口中心是 0.0,在顶部和底部其值分别延伸到 ± 0.0745 。这样 x 速度在 入口中心为 20m/sec,在边缘为 0。 UDF 用于传入入口上的这个抛物线分布。C 源代码(vprofile.c)显示如下。函数使用 了 Section 5.3 中 描 述 的 Fluent 提 供 的 求 解 器 函 数 。/***********************************************************************/ /* vprofile.c /* UDF for specifying steady-state velocity profile boundary condition */ *//***********************************************************************/ #include "udf.h"DEFINE_PROFILE(inlet_x_velocity, thread, position) { real x[ND_ND]; real y; face_t f; /* this will hold the position vector */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 是一个整数,它是每个循环 (loop)内为变量设置的数值标签。
第 10 章 应用举例函数通过声名变量 f 作为 face_t 的数据类型。一维数组 x 和变量 y 被定义为 real 数据类 型。 循环宏用于循环区域内每个面来创建型线, 或数据数组。 每个循环内, F_CENTROIDS 为带指标 f 的面输出面质心(数组 x)的值,指标 f 在被 thread 指向的线(thread)上。 存储在 x[1]中的 y 坐标用于为变量 y 赋值,然后用于计算 x 速度。这个值接着被分配到 F_PROFILE,使用整数 position(在你从 Velocity Inlet 面板中选择的 UDF 作为 x 速度的 边界条件的基础上通过求解器传递给它)来设置内存中 x 速度面值。 为了在 FLUENT 中使用这个解释式 UDF,你必须首先编译它。 Define User-Defined Functions Interpreted...在 Interpreted UDFs 面板中, Source File Name 区域命名你的函数。 在 如果必要, CPP 在 Command Name 区域输入你的 C 预处理程序类型和在 Stack Size 下输入堆栈大小。 打开 Display Assembly Listing 在你的控制台窗口中能看到汇编列表,当函数编译时。点击 Compile 然后 Close 面板。 为了选择这个用户定义函数作为所选区域的速度边界条件,打开 Velocity Inlet 面板。
第 10 章 应用举例在 X-Velocity 下拉列表下,选择 udf inlet_x_velocity,这个名字在上面已经命名给函数。 这个函数将被使用,而不是出现在 X-Velocity 区域的 0 值(在这个例子中) 。点 OK 接受 这个新边界条件并关闭面板。 在求解运行到收敛之后,获得了一个修正的速度场如 Figure 10.1.4 and 10.1.5 所示。速度 场在入口中心显示了最大值,到边缘上降为 0。 Figure 10.1.4: Velocity Magnitude Contours for a Parabolic Inlet x Velocity
第 10 章 应用举例Figure 10.1.5: Velocity Vectors for a Parabolic Inlet x Velocity10.1.2 管内流动的瞬态速度入口分布 这个例子中,瞬时的周期性的速度边界条件使用 UDF 应用于管子的入口。速度形式为: (10.1.1) 管子长 1m,半径为 0.2m。假设充满密度为 1kg/m3 和粘度为 2 × 10 5 kg/m-s 的空气。空 气速度关于平衡值 v0 = 20m / s 的波动振幅为 5m/s,频率为 10rad/s。 速 度 分 布UDF(unsteady.c)的源代码显示如下。/**********************************************************************/ /* */ /* */ /******************************************************************** **/ UDF for specifying a transient velocity profile boundary condition unsteady.c#include "udf.h"DEFINE_PROFILE(unsteady_velocity, thread, position)
第 10 章 应用举例{ face_t f;begin_f_loop(f, thread) { real t = RP_Get_Real("flow-time"); F_PROFILE(f, thread, position) = 20. + 5.0*sin(10.*t); } end_f_loop(f, thread) }函数, 被命名为 unsteady_velocity,使用 DEFINE_PROFILE macro 定义。 utility TheRP_Get_Real("flow-time") 用 于 访 问 real 流 动 时 间 , 它 被 分 配 给 变 量 t 。(RP_Get_Real 的详细内容见 Section 6.9) 。 在你编译这个 UDF 之前,你必须在 Solver 面板中指定为非稳态流动计算。 Define Models Solver...接下来你将打开 Interpreted UDFs 面板。在 Source File Name 下面的文本框内 输入函数的名字,如果必要,还有你的 C 预处理程序的名字。打开 Display Assembly Listing。点击 Compile 然后关闭面板。 Define User-Defined Functions Interpreted...由 UDF 定 义 的 正 弦 速 度 边 界 条 件 现 在 可 选 为 入 口 区 域 的 X-Velocity 。 在
第 10 章 应用举例X-Velocity 面 板 中 , 在 X-Velocity 区 域 右 边 的 下 拉 列 表 中 选 择 udf unsteady_velocity,并点击 OK。时间步参数在 Iterate 面板中设置。 Solve Iterate...在这个例子中,使用了 0.0314 的 Time Step Size,因此在入口速度一个完整的震
第 10 章 应用举例荡周期内将完成 20 个时间步。在每个时间步内执行的迭代次数被限制为 20。在 求解的早期阶段这个迭代次数不足以获得收敛的流场, 但是在通过几个时间步之 后,很可能导致收敛的时间步。UDF Profile Update Interval 被设置为 1 因此每 次迭代速度都被更新。在完成了 60 个时间步之后(或 3 个周期) ,你可以检查跨 越压力出口由振荡入口条件引起速度数量级。 为了在计算阶段收集这个信息,在开始迭代之前打开 Surface Monitors 面板。 Solve Monitors Surface...增加 Surface Monitors 的指标到 1。这将使你定义 monitor-1(如果需要,你可重 命名,在 Name 下的文本输入框内)的参数。选择 Plot,所以所选的数量将作为 计算的收益被画出来。 选择 Print 在控制台窗口来看所选数的变化值。 选择 Write, 因而信息将被写入文件,它将被给一个名字为 monitor-1.out 。 (如果你改变了monitor 的名字,这个名字将用作输出文件的前缀) 。在 Every 下面, 你可 …… 此处隐藏:6518字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [文秘资料]班长职务辞职报告
- [文秘资料]完美的辞职报告
- [文秘资料]经典的员工辞职报告
- [文秘资料]医院口腔医生辞职报告
- [文秘资料]总经理辞职报告范文四篇
- [文秘资料]超市职员个人辞职报告
- [文秘资料]村妇联主任的辞职报告
- [文秘资料]辞职报告书格式
- [文秘资料]酒店辞职报告简单范文
- [文秘资料]联通的辞职报告
- [文秘资料]2017最新私企员工辞职报告范文
- [文秘资料]2019年度医院基层党组织书记抓党建述职
- [文秘资料]工作时间长辞职报告
- [文秘资料]辞职报告怎么写出来
- [文秘资料]个人能力原因辞职报告
- [文秘资料]网络工程师辞职报告
- [文秘资料]项目部辞职报告
- [文秘资料]缝纫工辞职报告怎么写
- [文秘资料]XXX州委书记述职报告
- [文秘资料]抓基层党建工作述职报告
- (王虎应老师讲课记录)六爻理象思维
- 八个常见投影机故障排除法
- 质量专业综合知识(中级)第一章质量管理
- 煤矿班组建设实施意见
- 我国快餐业与肯德基经营模式的比较与分
- 汽车保险杠模具标准化模架技术工艺研究
- 汽车二级维护作业团体赛比赛规程
- 装卸搬运工安全操作规程
- 高效的工作方法-刘铁
- 依据《生产安全事故报告和调查处理条例
- 2015专业PS夜景亮化效果图制作教程
- 企业劳动定额定员浅析
- 中枢神经系统医学影像学本科五年制第五
- 长城汽车参观探营第三站:研发试验中心
- 小升初语文专项训练
- 建筑工程质量检测资质分类与等级标准
- 周燕珉-我国养老社区的发展现状与规划
- 《生命里最后的读书会》读后感
- 实验室管理评审报告
- CCNA思科网院教程精华之网络基础知识




