Fluent UDF学习指南:UDF用法详解

需积分: 9 2 下载量 179 浏览量 更新于2024-07-09 收藏 9.95MB PDF 举报
"这是一份关于ANSYS Fluent用户定义函数(UDF)的讲义,主要由上海乾锌机械技术有限公司提供。内容涵盖了UDF的基本使用方法,特别强调了多相流相关的数据类型,并且提到了UDF在串行与并行计算中的应用差异。" 在ANSYS Fluent中,用户定义函数(UDF)是一种强大的工具,允许用户自定义物理模型,以处理特定的流动问题。这份讲义详细阐述了UDF的编写和应用,分为多个部分,包括了UDF的两种形式:解释型和编译型。 1. 宏定义及框架:在第二章中,讲解了`DEFINE`宏之外的框架,这是编写UDF的基础,理解这个框架有助于构建UDF的结构。而在第三章,深入探讨了框架内部的细节,这对于理解和操作UDF至关重要。 2. 数据类型和存储方式:在多相流模拟中,特定的数据类型被用于处理不同阶段的信息。讲义指出,每个网格被视为一个结构体,Fluent使用链表而非固定大小的数组来存储网格,因为实际网格数量可能是不确定的。`cellthread`和`facethread`是链表的组成部分,它们分别对应于单元格和面的连接。 3. 网格编号与选择:`en`、`nn`和`fn`是整型变量,用于标识边、节点和面的编号。这些编号可以用于选择特定部分进行操作。例如,通过赋值`ID=1`,可以指定特定的ID,但在操作前必须先检查ID是否已为1。 4. UDF的分类:UDF分为解释型和编译型,前者在运行时被解释执行,后者需要编译后再运行,通常编译型UDF在性能上优于解释型。 5. 变量的标识与索引:`thread`和`position`是UDF中重要的概念。`position`是一个变量的标号,它由Fluent求解器传递,相当于自定义结构体中的索引,用来标识需要定义的变量。当在边界条件对话框中通过图形用户界面连接UDF到特定变量时,会设置此索引。之后,ANSYS Fluent求解器会将这个索引传递给UDF,使得函数知道需要操作哪个变量。 6. 激活源项:在实际应用UDF时,如需激活源项,可以在CellZoneConditions中选择对应的流体区域,然后点击Source Terms来设定。 这份讲义结合Fluent的手册一起学习,能够帮助用户更深入地理解并掌握UDF的编写和使用,从而在解决复杂流动问题时游刃有余。无论是对新手还是经验丰富的用户,都是一份宝贵的参考资料。

CREATE TEMPORARY FUNCTION UUIDUDF AS 'com.haierubic.bigdata.commons.udf.UUIDUDF' . . . . . . . . . . . . . . . . . > USING JAR 'oss://datalake-01.cn-beijing.oss-dls.aliyuncs.com/config/bigdata-hiveudf-2.1-jar-with-dependencies.jar'; Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [hdop_upbrain] does not have [TEMPUDFADMIN] privilege on [global=uuidudf] (state=42000,code=40000) 0: jdbc:hive2://10.204.11.45:10000> CREATE FUNCTION UUIDUDF AS 'com.haierubic.bigdata.commons.udf.UUIDUDF' . . . . . . . . . . . . . . . . . > USING JAR 'oss://datalake-01.cn-beijing.oss-dls.aliyuncs.com/config/bigdata-hiveudf-2.1-jar-with-dependencies.jar'; INFO : Compiling command(queryId=hive_20230602122812_92858e15-5136-4e7d-9f51-3020f864aef2): CREATE FUNCTION UUIDUDF AS 'com.haierubic.bigdata.commons.udf.UUIDUDF' USING JAR 'oss://datalake-01.cn-beijing.oss-dls.aliyuncs.com/config/bigdata-hiveudf-2.1-jar-with-dependencies.jar' INFO : Concurrency mode is disabled, not creating a lock manager INFO : Semantic Analysis Completed (retrial = false) INFO : Returning Hive schema: Schema(fieldSchemas:null, properties:null) INFO : Completed compiling command(queryId=hive_20230602122812_92858e15-5136-4e7d-9f51-3020f864aef2); Time taken: 0.067 seconds INFO : Concurrency mode is disabled, not creating a lock manager INFO : Executing command(queryId=hive_20230602122812_92858e15-5136-4e7d-9f51-3020f864aef2): CREATE FUNCTION UUIDUDF AS 'com.haierubic.bigdata.commons.udf.UUIDUDF' USING JAR 'oss://datalake-01.cn-beijing.oss-dls.aliyuncs.com/config/bigdata-hiveudf-2.1-jar-with-dependencies.jar' INFO : Starting task [Stage-0:FUNC] in serial mode INFO : Added [/tmp/b11e4544-4a21-4dcf-87c5-fff8d91021e9_resources/bigdata-hiveudf-2.1-jar-with-dependencies.jar] to class path INFO : Added resources: [oss://datalake-01.cn-beijing.oss-dls.aliyuncs.com/config/bigdata-hiveudf-2.1-jar-with-dependencies.jar] INFO : Completed executing command(queryId=hive_20230602122812_92858e15-5136-4e7d-9f51-3020f864aef2); Time taken: 0.789 seconds INFO : OK INFO : Concurrency mode is disabled, not creating a lock manager No rows affected (0.881 seconds)

2023-06-03 上传