当前位置:文档之家› fluent udf学习总结

fluent udf学习总结

fluent udf 阶段性小结
——Flying_U
因工作需要,最近开始学习fluent二次开发功能。

现在,根据工作日志将这一段时间主要的学习过程和总结的经验整理如下。

学习计划:从4月5号开始,计划花上一个月的时间了解和学习fluent udf的基本知识。

目标是能够运用udf初步实现物理模型简化、掌握udf的基本用法并能根据工作需要实现相关udf功能。

4.5-4.6:浏览网站尽可能更多了解udf的知识,结合自己的实际情况分析那些知识是自己需要进一步深入学习的。

此阶段总结:1.udf是用户自定义函数的简称,其通过与fluent接口连接实现扩展fluent功能的作用。

udf的主要功能有:
●定制边界条件、材料属性、表面和体积反应率、fluent输运方程的源项、用户自定义的
标量方程的源项、扩散函数等
●调整每次迭代后的计算结果
●初始化流场的解
●在需要时进行udf的异步执行
●强化后处理功能
●强化现有的udf模型
●传送返回值、修改fluent变量、操作外部文件案例和data文件
2. 自己现在想要实现的是udf功能是定制边界条件、定制fluent输运方程的源项、初始化流场的解和强化后处理功能;(刚开始自己也不太明确自己到底想用udf来做什么,对应上udf的主要功能是哪一部分,然后对自己不懂没理解的功能一一查询。


3. 有相关资料的渠道有:百度知道,百度文库和doc88。

其中,百度文库各种教程最多,百度知道能够快速定位回答具体的问题,doc88资料觉得更深入一些。

(对搜集的资料进行及时的整理和归纳对自己学习有很大助力,很多资料都是不完全的或者自己当时没有完全理解的需要不同版本或者前后不同时间段对照着学习。


4.6-4.9 根据自己的需求在udf帮组手册中查找实例并尝试按实例进行对照练习,初步了解udf相关知识,打通udf实现的过程(udf编写、编译和连接)。

主要目的是了解udf的基本用法,初步了解udf宏命令。

此阶段总结:1.udf帮助手册里的实例对初学者特别有用,例子难度小,侧重流程和用法。

2. 解释型udf使用基本过程:将物理模型简化,确定udf实现的功能;编制c语言源代码;启动fluent并完成相关设置;加载并解释c语言代码;将udf与fluent相关联。

初次尝试觉得难度很小,只是对c语言源程序的边界有点模糊,特别是在语言结构方面。

3. 进行编译型udf使用尝试,根据需要需先安装一个c编辑器,因手头有vs2012所以直接安装vs2012。

安装vs2012的过程有点艰辛,因为自己电脑上装过其他的VS版本(未完全卸载),以及其他的一些开源c编辑器(一直在用),安装vs2012过程老是不成功(这里推荐使用vs2008,网上教程较多,出现相关的问题都能较容易地找到方法解决)。

最后的解决办法是重装系统(各种尝试都未能解决安装问题后,可能与以前安装过的vs卸载不完全有关),并逐步尝试环境变量的设置。

vs2012与fluent环境变量成功设置如下(win7 64位系统):
INCLUDE :C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;(注:在Microsoft SDKs\Windows下可能找不到v7.1A\Include文件,反复与同事未装vs2012的电脑对比,怀疑安装vs2012过程中会把相关v7.1A\Include给删掉。

解决方法是从同事电脑上copy一份安装在C:\Program Files (x86)\Microsoft SDKs\Windows下)
LIB :C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\lib; (与上面类似初始关联时找不到Lib\x64,解决方案也与上面一样。

希望知道的能解释一下)
PATH :C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64;C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE;C:\Windows\System32;
此外,实际添加环境变量时,推荐在用户变量中添加而不是系统变量中,因为系统变量中可能有path名的变量,防止破坏已有的环境变量(我的电脑设置了以path命名的xfoil与matlab 关联的环境变量)。

4.编译型udf使用与解释型的使用过程类似,还没有遇到有些资料中问题。

4.11-4.16前期借助网上水蒸发相变的算例,学习udf的具体编写方法,主要是想理解物理模型的控制方程如何编写成可用的c源代码并实现将udf动量源与fluent的关联(算例是研究输运方程上源项的定制)过程;后期根据自己接触的仿真模型简化设计了一个模型,进行udf运用尝试。

此阶段总结:1. UDF_fluent蒸发相变模拟一个较为完成的用于fluent蒸发相变模拟的udf的一个程序,且注释相对完整。

前后看了几遍,开始时想理解以后帮助实现整个算例自己运行。

后面主要侧重理解蒸发相变的物理模型到udf的c源代码间的对应关系。

这个算例属udf功能中的强化多项流模型,具体而言加入相变转化条件,确定相变转化形式(质量源与能量源的转化)。

2.借@木子丞的话,udf是编程,属简单的编程,很多东西都给编好了(各种fluent宏)。

你只需要拿来组装就行,至于如何组装,是需要把物理概念搞清楚。

这里两个要点一个是理解fluent宏,另一个是理解物理模型。

3.自己对计算流体力学的基本知识缺乏认知,需要对应加强;
4.自己设计的udf算例,只是初步实现功能,还没有最后达到我的目标。

准备以后专门总结一下,这里不准备展开细说。

相关主题