当前位置:首页 > 实用技巧 >

fluent怎么设置速度(fluent怎么设置周期性)

来源:原点资讯(www.yd166.com)时间:2024-01-12 23:18:38作者:YD166手机阅读>>

1. 简介

今天我们接着说FLUENT UDF功能,我们经常使用的UDF宏主要有以下几种:

DEFINE_PROFILE: 定义模型边界

DEFINE_ADJUST: 用于协调计算过程中物理量

DEFINE_INIT: 初始化宏,用于自定义初始化

DEFINE_PROPERTY: 定义材料物性

上述的几种宏基本上无论使用什么物理模型都会用到,还有部分宏是在特定的模型下才会使用,如使用DPM模型时用DEFINE_DPM_SOURCE宏来定义DPM源项,而普通的物理模型下源项通过DEFINE_SOURCE宏定义即可。


今天我们主要了解DEFINE_PROFILE宏的使用,DEFINE_PROFILE宏可以用来定义边界条件,当边界条件比较复杂时,如定义壁面温度=f(y),即壁面温度是y的函数可以使用DEFINE_PROFILE宏进行定义。DEFINE_PROFILE宏可以用来定义的边界物理量如下:

velocity, pressure, temperature

• mass flux

• species mass fraction (species transport)(组分质量分数,只在组分输运方程中可用)

• volume fraction (multiphase models)(体积分数,在多相流中可用)

• wall thermal conditions (temperature, heat flux, heat generation rate, heat transfer coefficients, and external emissivity, etc.)

• wall roughness conditions()

• wall shear and stress conditions

• wall adhesion contact angle壁面接触角 (VOF multiphase model)

2. 模型及udf代码

下面我们通过一个实例对DEFINE_PROFILE宏做一个简单的应用。如图1所示,流体从IN边界流入,从OUT边界流出,IN边界流体流速不是定值,而是随着y轴发生变化。

fluent怎么设置速度,fluent怎么设置周期性(1)

图1.模型示意图

流体流速函数

fluent怎么设置速度,fluent怎么设置周期性(2)

(1)

接下来就是UDF的编写了,先贴上代码

1. #include "udf.h"

2. #include "math.h" //包含头文件

3.

4. DEFINE_PROFILE(velocity, t, i) //边界条件宏

5. {

6. real x, y,xd[ND_ND]; //定义变量

7. face_t f; //定义面指针

8. begin_f_loop(f, t) //对边界面进行循环

9. {

10. F_CENTROID(xd, f, t); //获取坐标

11. x = xd[0]; //xd[0]表示x坐标,xd[1]表示y坐标

12. y = xd[1];

13. F_PROFILE(f, t, i) = 2*y 1; //速度函数

14. }

15. end_f_loop(f, t)

16. }


对于前两行,是UDF所包含的头文件,这两行代码是必写的,其他的情况还需要增加其他的头文件,如多相流时,需要用到#include "sg_mphase.h"。

DEFINE_PROFILE(velocity, t, i)定义边界宏,其中第一个参数velocity为这个宏的名字,可以任意取名;t即thread,表示指向边界的线程,关于UDF中的face、cell、thread、domain这些概念,理解起来比较复杂,以后会逐渐提及。i标识要定义的变量的索引。

这里的t要和代码中的t保持相同,如果进行更改,其他地方的t也要相应更改。而对i不必理会。


第6行,real是UDF中声明变量的关键字,替代了C语言中的double这样的关键字,但本质是相同的。因此可以认为就是real x, y=double x, y,即声明了两个变量,而xd[ND_ND]则是UDF中表示数组的方法,等同于C语言中的数组声明。

对于第7行,face_t表示声明指针,只不过这个指针是指向面的,与此对应的还有cell_t声明网格指针。

第8行的begin_f_loop(f, t),可以理解为一个循环语句,中间的f表示对面进行循环,UDF中类似的语句有很多。后面的两个参数f,t,实际上就是在t这个thread上对所以的f进行循环。15行的end_f_loop(f, t)表示结束面循环

第10行的F_CENTROID(xd, f, t)表示获取t线程上的f面的质心,并赋值给数组xd。实际上就是获取面的坐标(x,y),并赋给xd。其中xd[0]表示x坐标,xd[1]表示y坐标。因此11和12句就是将x坐标赋值给x,将y坐标赋值给y。


第13句的F_PROFILE(f, t, i) = 2*y 1是给边界条件赋值的语句。这条语句F_PROFILE(f, t, i)表示要赋值的物理量,等于号之后的表示赋值函数。

这条语句并没有指出是在哪个边界给什么物理量赋值,因此将这个UDF加载在哪个边界什么物理量上就是给它赋值。

3. Fluent操作

1. 打开fluent,read-mesh,将mesh导入Fluent中。


2. General界面保持默认,稳态不考虑重力

fluent怎么设置速度,fluent怎么设置周期性(3)

图2.General界面

3. 打开k-e湍流模型,能量方程不打开

fluent怎么设置速度,fluent怎么设置周期性(4)

栏目热文

fluent设置检测点(fluent入口压力波动怎么设置)

fluent设置检测点(fluent入口压力波动怎么设置)

来源:Ansys售后工程师整理的用户FAQ1.Q:FLUENT Meshing划分体网格时出现重叠节点错误问题描述:面网...

2024-01-12 23:34:40查看全文 >>

fluent怎么检测阻力(fluent阻力监测图怎么获得)

fluent怎么检测阻力(fluent阻力监测图怎么获得)

主要内容1. 有限体积法2. Fluent中的多相流动模型3. 流场中颗粒的受力分析4. 单颗粒及颗粒群的阻力5. 气-...

2024-01-12 23:53:31查看全文 >>

fluent怎么输出平均速度(fluent中输出设置)

fluent怎么输出平均速度(fluent中输出设置)

Fluent中的用户自定义函数(user defined function)UDF功能是非常强大灵活的技术,它可以帮助流...

2024-01-12 23:36:41查看全文 >>

fluent报告完成后怎么看是否合格(fluent边界条件怎么没有入口了)

fluent报告完成后怎么看是否合格(fluent边界条件怎么没有入口了)

使用fluent Mybatis可以不用写具体的xml文件,通过java api可以构造出比较复杂的业务SQL语句,做到...

2024-01-12 23:40:57查看全文 >>

fluent速度积分怎么看(fluent结果图怎么看)

fluent速度积分怎么看(fluent结果图怎么看)

作者:胡坤转自公众号:CFD之道发表日期:2019-11-06关键词:本文从软件功能角度描述了STAR CCM...

2024-01-12 23:42:22查看全文 >>

光头强去火锅店救小狗(光头强去火锅店救狗视频)

光头强去火锅店救小狗(光头强去火锅店救狗视频)

在熊出没中很多动漫迷们一直在争论光头强的身份,很多动漫迷们认为光头强是一个富二代,因为光头强开的是皮卡车,而且光头强还喜...

2024-01-12 23:27:01查看全文 >>

光头强救小狗的那一集(光头强去火锅店救小狗是第几集)

光头强救小狗的那一集(光头强去火锅店救小狗是第几集)

说到《熊出没》大家首先想到的就是光头强,光头强实在是太让人喜欢了,虽说一开始和熊大熊二的矛盾不断,但是一直都非常善良,曾...

2024-01-12 23:39:33查看全文 >>

光头强保护小狗是哪一集(光头强救小狗上下集)

光头强保护小狗是哪一集(光头强救小狗上下集)

如果要问《熊出没》是从那一步开始从难以接受变得可堪入目的,那一定是四季系列。从这一系列开始它的画质有了明显提升,而且声优...

2024-01-12 23:27:25查看全文 >>

光头强决心要救小狗(光头强想救一条小狗狗合集)

光头强决心要救小狗(光头强想救一条小狗狗合集)

孩子天天在家看动画片,《熊出没》是每天都要来几集。昨天看到一集的名称是“小狗快跑”,我也跟着看了:说是一个饭店的老板捉到...

2024-01-12 23:37:33查看全文 >>

阴阳师觉醒材料可以分解吗(阴阳师觉醒材料有什么用)

阴阳师觉醒材料可以分解吗(阴阳师觉醒材料有什么用)

《乱斗连萌-漫斗英豪》是国内首款动漫题材连线式战斗手游,游戏以80后经典动漫为背景,以独特连线式战斗为核心玩法,全新概念...

2024-01-12 23:32:15查看全文 >>

文档排行