文章分类 -  Fluent UDF

摘要:很多朋友在Hook陌生DEFINE宏的时候不知道在哪里hook,每次必须要查手册才能找到。为了朋友们解决这个痛点,VC++ Udf Studio专门开发了Hook助手功能,它可以提示用户hook之前必须打开什么模型,在什么面板中hook。例如我们在源码中使用了DEFINE_DPM_HEAT_MASS 阅读全文
posted @ 2024-08-17 21:17 SuperUDF 阅读(76) 评论(0) 推荐(0)
摘要:Matlab中提供了丰富的函数可以供我们使用,但是要在Fluent UDF中直接利用它们却需要一定的技术手段。前面博客介绍过用Fluent UDF“静态模式”下调用Matlab的插值,贝塞尔函数等,参见 https://www.cnblogs.com/SuperUDF/articles/168460 阅读全文
posted @ 2023-12-16 21:38 SuperUDF 阅读(279) 评论(0) 推荐(0)
摘要:Fluent UDF中有时候需要调用变量的梯度,例如温度梯度,压力梯度,VOF梯度等等,一般是在C_T,C_P,C_VOF后面加上“_G”来获取,例如C_T_G,C_VOF_G。看似简单,实际上里面有比较多的“坑”,现以如下实例来提请各位看官注意。 首先,我们利用VC++ UDF Studio插件( 阅读全文
posted @ 2022-12-01 22:37 SuperUDF 阅读(1992) 评论(0) 推荐(0)
摘要:前阵子帮朋友解决Fluent UDF中的真实气体模型(User Defined Real Gas Model,UDRGM)编译时踩到了一个很大的坑,这里连同详细编译使用过程一起记录一下,供有需求的朋友借鉴。 当时,使用的Fluent版本为2020R1,由于该朋友当时手头只有18.2的UDF手册,于是 阅读全文
posted @ 2022-11-29 14:33 SuperUDF 阅读(814) 评论(0) 推荐(0)
摘要:Fluent用户经常会遇到UDF中需要调用已经写好的动态链接库dll,从而拓展UDF功能。一般来说,调用dll可以分为静态调用和动态调用。前者通常需要编译器版本一致,通用性不是非常高,而动态调用则是利用API函数LoadLibrary在需要读取dll中函数前动态加载,更加灵活方便或不受编译器版本限制 阅读全文
posted @ 2022-11-04 21:19 SuperUDF 阅读(630) 评论(0) 推荐(0)
摘要:有小伙伴咨询在Fluent UDF中如何使用贝塞尔函数,常规情况下需要我们自己去写函数。但我们注意到Matlab提供了丰富的各种运算函数。我们有什么办法把Matlab中的贝塞尔函数给UDF直接调用呢? 这里提供一种借助于VC++ UDF Studio插件实现调用Matlab函数的方法,且编译好以后的 阅读全文
posted @ 2022-10-31 21:55 SuperUDF 阅读(307) 评论(0) 推荐(0)
摘要:Fluent UDF中经常需要用到一些常见算法,例如插值、拟合、矩阵运算等等,这些在UDF中是没有现成函数实现的,理论上需要我们自己去写函数。另一方面我们又注意到这些运算恰恰是Matlab的强项,几乎调用一个现成的函数就完成了目的。所以我们有什么办法把Matlab函数给UDF直接调用呢? 这里提供一 阅读全文
posted @ 2022-10-22 12:43 SuperUDF 阅读(387) 评论(0) 推荐(0)
摘要:众所周知,Fluent中自带的NIST真实气体(Real Gas Model)模型的收敛性不好一直是用户诟病的问题。所以,不少用户宁愿另外考虑调用三方物性库,例如RefProp或CoolProp,里面囊括了大部分的常见物质,制冷剂以及混合物的物性。 然而,Fluent自带的编译方式却无法支持直接调用 阅读全文
posted @ 2022-05-26 20:22 SuperUDF 阅读(1010) 评论(0) 推荐(0)
摘要:Fluent UDF中经常需要用到一些常见算法,例如插值、拟合、矩阵运算等等,这些在UDF中是没有现成函数实现的,理论上需要我们自己去写函数。另一方面我们又注意到这些运算恰恰是Matlab的强项,几乎调用一个现成的函数就完成了目的。所以我们有什么办法把Matlab函数给UDF直接调用呢? 这里提供一 阅读全文
posted @ 2022-04-07 20:19 SuperUDF 阅读(370) 评论(0) 推荐(0)
摘要:我们知道误差函数定义为 这是一个带积分的函数,Fluent UDF中想自己写代码实现起来相当不方便,精度还不一定能保证。幸好C++11中为我们将这个函数内置在数学头文件math.h中,但是想要兼容C++11我们必须使用Visual Studio2013(或更高)和一款名为VC++ UDF Studi 阅读全文
posted @ 2022-04-07 16:22 SuperUDF 阅读(581) 评论(0) 推荐(0)
摘要:一般计算中,Fluent达到我们设定的残差值后就可以自动停止运算,但是有时候我们可能残差判断标准不一定是恒定的,或者有多款软件之间来回协同计算,那么就必须在Fluent UDF中判断残差标准是否达到然后停止计算,后面再进行其它UDF操作。我们知道,通常情况下开始迭代后,要停止计算只能按“Stop”按 阅读全文
posted @ 2022-03-20 17:02 SuperUDF 阅读(1229) 评论(0) 推荐(0)
摘要:有朋友问我Fluent UDF有没有宏可以沿着指定方向搜索到下一个邻接的网格?答案是No,没有现成的宏可以实现这个目的,但是我们可以写一个函数来手动实现。这个思路如下:对于当前的网格,我们可以利用c_face_loop宏配合C_FACE及C_FACE_THREAD宏,对当前网格的所有face进行循环 阅读全文
posted @ 2022-03-09 16:54 SuperUDF 阅读(1319) 评论(0) 推荐(0)
摘要:这个题目听了很多人可能有点懵圈,但一旦你涉及Fluent UDF编程就需要深入了解了。首先看一下下图中真串行和并行的差别,可以看到真串行是一个独立的计算模块,负责所有网格的单独计算,相当于自己管自己的“独行侠”,而并行则是网格剖分成若干个分区计算节点(图中举例是3个核并行计算),网格的计算都在这些分 阅读全文
posted @ 2022-03-09 15:31 SuperUDF 阅读(945) 评论(0) 推荐(0)
摘要:我们知道Fluent中壁面可以有不同的换热边界类型,比如给定热流量的类型,给定温度的类型,给定对流条件的类型等等。 UDF中有时候需要根据类型的不同来进行不同的处理。那么在Fluent UDF中该如何判断一个壁面是什么类型的热边界呢?这里为大家解密几个未写入UDF帮助手册的宏。 宏 作用 HEAT_ 阅读全文
posted @ 2022-03-06 21:53 SuperUDF 阅读(761) 评论(0) 推荐(0)
摘要:众所周知,Fluent UDF宏十分丰富和繁杂,UDF手册中实际给出的只是一小部分。很多有用的宏在UDF手册中是根本找不到的。例如,做DPM的朋友都知道在UDF手册中可以查到提取DPM颗粒直径、速度的宏,却怎么也找不到提取颗粒曳力和体积力的宏。实际上这些量在Fluent UDF中是可以提取的,只不过 阅读全文
posted @ 2022-03-06 14:36 SuperUDF 阅读(807) 评论(0) 推荐(1)
摘要:如下图所示,等边三角形的网格单元为c0, 蓝色的网格单元为c1。两者的中心分别为和。网格单元c0和c1共享一个面f,如下的二维图中即为线段ab。INTERIOR_FACE_GEOMETRY宏就是用来获取关键的网格单元之间连接几何拓扑信息的。要调用该宏,首先必须加入头文件“sg.h”。 INTERIO 阅读全文
posted @ 2022-03-05 15:40 SuperUDF 阅读(220) 评论(0) 推荐(0)
摘要:Fluent调试UDF向来是一件麻烦的事情,既看不到中间变量的值,也不能一步一步跟踪程序,尤其是编译通过但出现莫名其妙错误时候更是令人郁闷。例如下面令人胆战心惊的红字“fl process could not be started” 提示基本就意味着你的UDF存在错误导致Fluent奔溃,需要单步跟 阅读全文
posted @ 2022-02-27 12:30 SuperUDF 阅读(2096) 评论(0) 推荐(0)
摘要:很多朋友在开发Fluent模型中需要用UDF获取组分传输模型中的某气体组分的摩尔分数(或体积分数)或者分压力,但是UDF自带的只有获取质量分数的宏C_YI(c,t),需要自己写额外的代码去转换,有一定难度。已经不止一次看到论坛或者我们UDF编译调试插件群里的朋友问起这个问题,这里做个标准教程记录下来 阅读全文
posted @ 2022-02-27 11:43 SuperUDF 阅读(3310) 评论(0) 推荐(1)
摘要:很多朋友在开发Fluent模型中需要根据点的坐标来查找对应的cell。总体来说,有两种方法,一种是利用内置的函数来查找,另外一种就是自己写代码查找,这里逐一介绍。 1. 利用内置函数查找 Fluent有一个内置函数CX_Find_Cell_With_Point可以根据点坐标查询对应cell号码。原型 阅读全文
posted @ 2022-02-27 10:55 SuperUDF 阅读(1363) 评论(0) 推荐(0)
摘要:如下给出了调用C语言或Fluent中自带随机函数的例子。利用VC++ UDF Studio插件编译通过(https://vcudfstudio.github.io)。 //利用VC++ UDF Studio插件编译通过 #include "udf.h" #include "stdio.h" #inc 阅读全文
posted @ 2022-02-27 10:24 SuperUDF 阅读(451) 评论(0) 推荐(0)