加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

UDF学习与应用[1]:写在前头

(2014-10-04 18:09:02)
标签:

fluent

udf

分类: 胡言乱语

1、什么是UDF

UDFUser Defined Function,用户自定义函数),可以用于被ANSYS FLUENT求解器动态加载以增强其标准功能的C语言程序。UDF归根结底是一段C语言代码,但是需要在FLUENT规定的框架范围内去定义,这样才能够被FLUENT认可并在其加载后以提供标准程序所不具备的功能。

2、干嘛要用UDF

FLUENT中,可以利用UDF来延伸fluent自身的功能。比如说以下一些典型的应用:

1)自定义属性。如边界条件、材料属性、化学反应速率、输运方程源、UDS等;

2)迭代中调整计算中;

3)初始化;

4)异步执行命令;

5)迭代完后执行命令;

6)增强后处理;

7)增强现有的模型(如离散相模型、多相流模型等等)

当然了,FLUENT本身已经具备了较多强大的功能,并不是所有的计算模型都需要使用UDF

3、UDF具有的特征

虽然说UDF是利用C程序,但是毕竟是需要存在于FLUENT所订立的规则之下,因此其具有其特殊的特征:

1UDF是利用的C程序语言,故源文件的扩展名为.c,可以用文本编辑器进行编辑。另外,UDF程序必须符合C语言语法要求;

2UDF程序都是利用FLUENT提供的DEFINE宏进行定义;

3)所有的UDF程序都需要包含udf.h头文件;

4UDF程序可以通过两种方式进行加载:解释与编译;解释型的UDF不需要外部编译器,而解释型的UDF则需要C编译器,在windows环境中常使用Visual studio,而在Linux环境中,则通常使用GCC

4、UDF的一些限制条件

UDF不是万能的,虽然说在很多地方可以应用UDF以增强FLUENT自身的能力,但是毕竟局限于FLUENT的圈圈之类,还是存在一些局限性:

1UDF中使用的物理量以及返回值均采用SI单位制;

2)若更换FLUENT运行环境(如FLUENT版本、操作系统环境等),则UDF需要重新进行编译加载。

5、UDF如何学习

UDF需要学习么?需要么,好像不需要。真的不需要么,个人觉得还是有必要的。

UDF利用的是C语言,所以了解基本的C语言语法是必要的。

那么C语法中有哪些是UDF中用得到的呢:首先,基本的赋值、条件判断、循环结构必须要清楚;其次掌握一些函数定义方面的基础;另外掌握宏定义有助于理解UDF的运作方式。个人觉得FLUENT附录中的C语言基础应该多看看,对于无编程经验的童鞋很重要。

UDF手册比较完善,在使用UDF之前,建议先查一查手册,对着手册上的例子先模仿一番,然后在实例的基础上进行修改。

熟悉FLUENT的内部运行规则,对于用好UDF是非常重要的。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有