随着Ansys Fluent软件的使用程度的加深,软件的一些基本功能无法满足我们的一些特定需求,对于没有接触过二次开发或者代码学习的工程师来说,UDF的学习至关重要!本篇文章带大家初识UDF(建议大家学习一下编程基础)。
Ansys Fluent
UDF: 用户自定义函数(用户用C语言自编的程序),可以和fluent动态链接。
标准的C语言库函数
- 三角函数,指数,控制块,DO循环,文件读入/输出等
预定义宏re-Define Macros
- 允许获得流场变量,材料属性,单元几何及其他
UDF中所有的数据都采用国际单位制(SI units)
Ansys Fluent
标准界面并不能满足编程模拟的所有需要。
- 定制边界条件,源项,材料属性,表面和体积反应率等;
- 定制物理模型;
- 用户提供的模型方程;
- 调整函数;
- 执行需求函数;
- 初始化。
Ansys Fluent
Ansys Fluent
模型的cell区域和face区域在UDF中作为Thread数据类型访问;
Thread是Fluent定义的数据类型;
为了访问线程(zone)中的数据,我们需要提供正确的线程指针,并使用Fluent提供的循环宏来访问该线程中的每个成员(cell or face)。
Ansys Fluent
Mesh各部分的类型区别:
cells和faces的集 合存储在threads中;
有几种Fluent特定的数据类型与mesh components相关联;
一些常用的是:
- Node:存储与网格点关联的数据;
- face_t:识别face thread中的face;
- cell_t:识别cell thread中的cell;
- Thread:存储一组cells或faces共有的数据;
- Domain:在mesh中存储与face和cell thread集合相关的数据。
每个单独的cell都可以通过使用cell_t类型的cell index和cell thread(包含cell的区域)来访问;
每个单独的face都可以通过使用face_t类型的face index和face thread(包含face的区域)来访问;
某些mesh或solver数据类型具有大写字母。这些实际上是C语言中的数据结构,通常作为指向这些结构的指针在函数之间传递。
下面显示了如何定义这些数据类型的示例:
每个zone都与BC面板或TUI中可用的单个ID相关联,使用:
给定ID,与该区域关联的线程;
可以检索为:
一旦我们有了thread,我们就可以访问它的相关数据;
Thread ID也能被检索出来:
UDF的内容属于高手的进阶利刃,让我们一起开启进阶学习之旅吧!后续将会持续更新,敬请期待!
来源:艾羽科技