这里以一个简单的初始化案例来描述UDF的使用过程。

0 Fluent中的Patch

Fluent中提供了全域初始化以及局部Patch功能。对于整体区域的全局初始化可以采用starndard及hybrid方法进行初始化,指定各种物理量的初始分布。而对于计算域中的局部区域初始化,则可以通过Patch功能来实现。
在使用Patch方法时,需要实现对要进行Patch的区域进行标记。选择Mark/Adapt Cells→Region...可弹出区域定义对话框。

可以在弹出的对话框中设置几何条件来Mark区域。

然而在此对话框中可定义的形状类型只有三种:Quad、Circle或Cylinder,在3D模型中对应的是Hex、Sphere以及Cylinder。对于更复杂的模型似乎无能为力。此时可以借助UDF来解决问题。

1 案例描述

如下图所示的矩形区域为计算区域,其初始温度为300K。计算模型尺寸如图所示。

图中红色部分为要进行初始化处理的椭圆区域,其初始温度为500K。

2 网格

网格如图所示。

3 编写UDF

对于这种椭圆形区域的初始化,只能采用UDF来实现。利用DEFINE_INIT宏来实现这种区域的标记工作。
本案例中椭圆方程为:
\[
\frac{(x-0.05)^2}{0.03^2}+\frac{(x-0.03)^2}{0.015^2} =1
\]
因此可编写UDF如下。

4 编译UDF

利用User Defined标签页下的Function→Compiled...,Fluent软件会弹出UDF编译对话框。

在弹出的对话框中利用Add...按钮添加UDF源文件,点击Build按钮进行编译,并点击按钮Load加载UDF。

本案例也可以采用解释的方式运行。

5 Hook UDF

UDF编译完成后,需要将UDF加载到Fluent中。这部分工作可以通过相应的GUI来实现。
DEFINE_INIT宏需要在User Defined标签页下的Funcition Hooks...中进行加载。

选择此按钮后打开UDF加载对话框。

5 查看结果

在查看初始化结果之前,需要开启相应的模型。由于本案例初始化的是温度变量,所以必须首先开启能量方程。

之后进行初始化。

初始化完毕后可以查看温度云图分布,如下图所示。

可以看到椭圆形区域初始温度设置为500K。
按同样的道理,可以初始化任何形状的区域,只要这些区域可以用数学函数来表达。


更多CFD资料可微信扫描下方二维码关注微信公众号。

Fluent UDF【5】:第一个UDF的更多相关文章

  1. GCC编译UDF和gdb调试UDF

    Fluent版本:19.0 前面我们介绍过使用VS来编译和调试UDF,其实我们也可以用GCC来编译UDF.gdb调试UDF.本次介绍的方法更具有通用性,也适用于Linux下Fluent的UDF编译和调 ...

  2. UDF——文件编码造成UDF编译失败

    有时候我们觉得我们的代码写得很正确的,但是在Fluent当中编译的时候一直编译不通过,提示我们错误,我们根据Fluent当中的错误提示去找到源代码中对应的行,却发现没有错误提示当中的问题,出现这个问题 ...

  3. fluent中如何对一个非整个volume的特定的区域进行数据分析?【转载】

    作者:王蒙 链接:https://www.zhihu.com/question/37432813 来源:知乎 很抱歉,我不知道 fluent 中是否有这一功能,我这个学期才开始学.但 CFD-Post ...

  4. 在Visual Studio中直接编译Fluent的UDF

    VS版本:Visual Studio 2013 Fluent版本:Fluent18.2 首先我们启动VS Studio中直接编译Fluent的UDF" title="在Visual ...

  5. Hive 文件格式 & Hive操作(外部表、内部表、区、桶、视图、索引、join用法、内置操作符与函数、复合类型、用户自定义函数UDF、查询优化和权限控制)

    本博文的主要内容如下: Hive文件存储格式 Hive 操作之表操作:创建外.内部表 Hive操作之表操作:表查询 Hive操作之表操作:数据加载 Hive操作之表操作:插入单表.插入多表 Hive语 ...

  6. Hive基本语法操练

    建表规则如下: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...

  7. 常用webshell提权方法总结

    pcAnywhere提权:1.利用pcAnywhere提权,前提条件是pcAnywhere默认安装到默认路径,以及它的目录安全权限有users权限,如果管理员删除了users和power users用 ...

  8. Hive 自定义函数(转)

    Hive是一种构建在Hadoop上的数据仓库,Hive把SQL查询转换为一系列在Hadoop集群中运行的MapReduce作业,是MapReduce更高层次的抽象,不用编写具体的MapReduce方法 ...

  9. Hive基础讲解

      一.Hive背景介绍 Hive最初是Facebook为了满足对海量社交网络数据的管理和机器学习的需求而产生和发展的.马云在退休的时候说互联网现在进入了大数据时代,大数据是现在互联网的趋势,而had ...

随机推荐

  1. mingw 构建 mysql-connector-c-6.1.9记录

    1.准备工作 首先需要下载mysql-connector-c-6.1.9的源码,然后解压. 然后需要准备编译环境,这里我使用的是msys2(下载地址http://repo.msys2.org/dist ...

  2. vmware安装找不到虚拟网卡解决方案

    前一段实际,win7升级到win10发现vmware12没有虚拟网卡vnet1/vnet8.这不坑爹吗,没网卡能通信吗? 在网上搜寻一下发现可以重置网络,即可再次安装虚拟网卡...算是对问题的记录学习 ...

  3. highstock禁用UTC

    xAxis: { labels: { format: '{value:%Y-%m-%d}', /* * 也可以用 formatter 格式化函数,时间格式化说明如下: * %Y 年 * %m 月 * ...

  4. ios中xml和html解析(封装)

    下载地址  http://pan.baidu.com/share/link?shareid=2902188921&uk=923776187 GDataXML和TFHpple配置是一样的(配置方 ...

  5. Windows XPSP3通过网络级身份验证方式连接Windows Server 2008远程桌面

    远程桌面大大方便了大家的日常管理工作,Windows Server 2008同样秉承这一优秀特性,并引入网络级身份验证(NLA)作为远程桌面连接的默认身份验证方式. 网络级身份验证 (NLA) 是一种 ...

  6. Inside NGINX: How We Designed for Performance & Scale

    NGINX leads the pack in web performance, and it’s all due to the way the software is designed. Where ...

  7. CASE WHEN 及 SELECT CASE WHEN的用法(写了一坨烂代码发现两条sql就行了, 哎)

    转自:http://blog.sina.com.cn/s/blog_4c538f6c01012mzt.html Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE  ...

  8. ios实例开发精品文章推荐(8.19)

    1.iOS源码:选择器类--简单的效果.<ignore_js_op> 下载地址:http://www.apkbus.com/android-109320-1-1.html 2.iOS源码: ...

  9. ASP.NET Core之项目文件简介及配置文件与IOC的使用

    原文地址:https://www.cnblogs.com/knowledgesea/p/7079880.html 序言 在当前编程语言蓬勃发展与竞争的时期,对于我们.net从业者来说,.Net Cor ...

  10. WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]

    WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...