您的浏览器不支持JavaScript,请开启后继续
ANSYS Fluent二次开发指南

ANSYS Fluent二次开发指南

  • 作者
  • 胡坤 编著

本书详细介绍了ANSYS Fluent二次开发方法和技巧,全书内容分为三部分:第1部分为UDF程序设计,介绍了Fluent UDF基础、UDF编译配置、程序编制等;第2部分为Fluent界面定制,主要介绍Scheme语言基础以及利用Scheme语言编制Fluent自定义用户界面的一般流程;第3部分为流程封装,介绍了采用进程封装方式进行Fluent二次开发的基本方法。 本书结构清晰,语言简...


  • ¥69.00

ISBN: 978-7-122-37918-4

版次: 1

出版时间: 2021-01-01

图书介绍

ISBN:978-7-122-37918-4

语种:汉文

开本:16

出版时间:2021-01-01

装帧:平

页数:185

编辑推荐

1.国内首本介绍Fluent二次开发的图书,涵盖UDF程序设计、Fluent界面定制以及流程封装等内容 2.CAE大神流沙老师倾情制作,详细介绍Fluent二次开发的基本方法和技巧 内容全面,语言精炼,通俗易懂,帮助读者快速掌握fluent二次开发技能

图书前言

ANSYSFluent是一款通用计算流体力学软件,目前被广泛应用于航空航天、能源动力、石油化工、环境、水利、气象、生物医疗、食品等行业,且随着计算机技术的不断发展,其应用领域还在不断扩展。
作为一款通用流体计算软件,ANSYSFluent提供了众多的功能帮助用户实现前处理、求解及后处理的完整计算流程,同时ANSYSFluent还提供了二维和三维、瞬态及稳态、层流及湍流、单相流及多相流、部件运动与网格运动、化学反应流及燃烧等众多计算功能。这些功能在赋予了Fluent软件强大功能的同时,无形中也提高了软件的使用门槛及使用者的学习周期。然而在实际工程应用中,用户所涉及的流体问题往往只使用到软件众多功能中的少部分,因此使用者常需要对软件进行封装,将一些不相关的功能及界面隐藏掉,开发出更具有专业特色的软件模块。另一方面,为保证软件的通用性,Fluent在一些模型及功能上进行了处理,在实际使用过程中,经常需要根据实际情况自定义计算模型,或利用自定义方式实现软件自身未能提供的功能。
Fluent提供了良好的用户自定义机制以满足软件定制的需求。在功能扩展方面,用户可以采用C语言编写UDF程序;在软件界面扩展方面,用户可以采用Scheme语言进行界面定制。除此之外,Fluent提供了TUI脚本命令,用户可以利用journal脚本实现仿真计算流程控制。
本书以Fluent二次开发为目标,主要介绍Fluent二次开发的三种方式:
(1)UDF程序设计,内容涵盖UDF编译配置、程序编制等;
(2)Fluent界面定制,涵盖Scheme语言基础以及利用Scheme语言编制Fluent自定义用户界面的一般流程;
(3)流程封装,内容涵盖采用进程封装方式进行Fluent二次开发的基本方法。
本书可供从事流体仿真相关行业的科研人员以及企业研发人员学习参考,也可供与流体仿真相关专业的师生阅读。

编著者

精彩书摘

本书详细介绍了ANSYS Fluent二次开发方法和技巧,全书内容分为三部分:第1部分为UDF程序设计,介绍了Fluent UDF基础、UDF编译配置、程序编制等;第2部分为Fluent界面定制,主要介绍Scheme语言基础以及利用Scheme语言编制Fluent自定义用户界面的一般流程;第3部分为流程封装,介绍了采用进程封装方式进行Fluent二次开发的基本方法。
本书结构清晰,语言简练,通俗易懂,可供CFD工程人员、研发人员以及相关专业师生阅读参考。

目录

第1部分UDF程序设计
第1章FluentUDF基础	002
1.1UDF简介	002
1.2FluentUDF的学习路径	002
1.3基础要求	003
1.4UDF代码编辑器	003
1.5UDF使用限制	003
1.6C语言基础	005
1.6.1C语言中的注释	005
1.6.2基本数据类型	005
1.6.3常数	005
1.6.4全局变量和局部变量	005
1.6.5外部变量	006
1.6.6静态变量	007
1.6.7用户自定义数据类型	008
1.6.8强制转换	008
1.6.9函数	008
1.6.10数组	008
1.6.11指针	008
1.6.12流程控制	009
1.6.13操作符	010
1.6.14C语言库函数	011
1.6.15预处理命令	011
1.7UDF使用流程	014
1.7.1Fluent中的Patch	014
1.7.2案例描述	015
1.7.3编写UDF源文件	016
1.7.4解释UDF	017
1.7.5HookUDF	017
1.7.6查看结果	018

第2章UDF的编译及解释	020
2.1解释型UDF	020
2.1.1解释型UDF的局限性	020
2.1.2在Fluent中解释UDF	021
2.2编译型UDF	021
2.2.1C编译器	022
2.2.2GUI方式编译UDF	022
2.2.3命令行方式编译UDF	024
2.2.4GCC方式编译UDF	026
2.3设置UDF环境变量	031
2.4UDF中的网格结构	033
2.5UDF中的数据类型	033

第3章UDF数据访问宏	035
3.1数据访问宏	035
3.1.1节点数据访问宏	035
3.1.2面数据获取宏	037
3.1.3单元数据访问宏	039
3.1.4拓扑关系宏	041
3.1.5特殊宏	044
3.2循环迭代宏	046
3.2.1遍历区域中的网格单元	047
3.2.2遍历区域中的网格面	047
3.2.3遍历网格单元集合中的所有单元	047
3.2.4遍历面集合中的所有面	047
3.2.5遍历一个网格单元上的所有面	048
3.2.6遍历网格单元中的节点	048
3.2.7遍历网格面中的所有节点	048
3.3向量及标量运算宏	049
3.3.12D及3D处理	049
3.3.2ND操作宏	049
3.3.3NV宏	050
3.3.4向量运算宏	051
3.4时间相关宏	052
3.5输入输出宏	053
3.5.1Message宏	053
3.5.2Error宏	053
3.6其他宏	053
3.6.1Data_Valid_P	054
3.6.2FLUID_THREAD_P	054
3.6.3Get_Report_Definition_Values	054
3.6.4M_PI	057
3.6.5N_UDM	057
3.6.6N_UDS	057
3.6.7SQR(k)	058
3.6.8UNIVERSAL_GAS_CONSTANT	058

第4章常用的DEFINE宏	059
4.1通用DEFINE宏	059
4.1.1DEFINE_ADJUST	059
4.1.2DEFINE_DELTAT	061
4.1.3DEFINE_EXECUTE_AT_END	063
4.1.4DEFINE_EXECUTE_AT_EXIT	065
4.1.5DEFINE_EXECUTE_FROM_GUI	065
4.1.6DEFINE_EXECUTE_ON_LOADING	066
4.1.7DEFINE_EXECUTE_AFTER_CASE/DATA	067
4.1.8DEFINE_INIT	067
4.1.9DEFINE_ON_DEMAND	068
4.1.10DEFINE_REPORT_DEFINITION_FN	070
4.1.11DEFINE_RW_FILE	071
4.1.12DEFINE_RW_HDF_FILE	072
4.2模型参数指定宏	072
4.2.1DEFINE_ZONE_MOTION	072
4.2.2DEFINE_PROFILE	073
4.2.3DEFINE_PROPERTY	074
4.2.4DEFINE_SPECIFIC_HEAT	075
4.3动网格模型宏	075
4.3.1DEFINE_CG_MOTION	075
4.3.2DEFINE_GEOM	077
4.3.3DEFINE_GRID_MOTION	077
4.3.4DEFINE_SDOF_PROPERTIES	079
4.4源项定义	080
4.4.1DEFINE_SOURCE	080
4.4.2源项定义案例	080
4.5UDS及UDS宏	081
4.5.1单相流中的UDS	081
4.5.2多相流中的UDS	082
4.5.3Fluent中定义UDS	083
4.5.4UDS宏	087

第5章并行计算中的UDF	090
5.1并行UDF介绍	090
5.1.1并行计算环境	090
5.1.2命令传递与通信	091
5.2并行计算中的网格术语	092
5.2.1分区网格中的网格类型	092
5.2.2分区边界上的网格面	093
5.2.3PRINCIPAL_FACE_P	094
5.2.4外部Thread数据存储	094
5.3串行代码并行化	094
5.3.1串行代码并行化的任务	094
5.3.2DPM模型的并行化	095
5.4并行UDF宏	095
5.4.1编译器指令	096
5.4.2host与node节点通信	097
5.4.3逻辑判断	098
5.4.4全局约简	099
5.4.5全局求和	100
5.4.6全局最大最小值	100
5.4.7全局逻辑值	100
5.4.8全局同步	101
5.5并行数据遍历	101
5.5.1内部网格遍历	101
5.5.2外部网格遍历	102
5.5.3内部及外部网格遍历	102
5.5.4遍历所有网格面	103
5.6节点间数据交换	104
5.6.1网格单元及网格面分区ID	104
5.6.2网格单元分区ID	104
5.6.3网格面分区ID	104
5.6.4消息显示	104
5.6.5消息传递	105
5.6.6计算节点间数据交换	108
5.7并行UDF宏限制	109
5.8处理器标识	111
5.9并行UDF中的文件读写	112
5.9.1读取文件	112
5.9.2写入文件	113

第2部分Fluent界面定制
第6章Fluent用户界面开发基础	118
6.1为何要进行界面开发	118
6.2如何进行界面开发	118
6.3界面开发工具	119
6.4一个简单的Scheme程序	120
6.5使用.fluent文件	121

第7章Scheme语言基础	123
7.1Scheme编辑器	123
7.2基本要素	124
7.2.1注释	124
7.2.2块	124
7.2.3数据类型	124
7.2.4基本语法概念	126
7.3程序结构	128
7.3.1顺序结构	128
7.3.2if结构	128
7.3.3cond结构	129
7.3.4case结构	130
7.3.5and结构	130
7.3.6or结构	131
7.3.7递归	131
7.3.8循环	132
7.4FluentRP变量	132
7.4.1创建RP变量	132
7.4.2修改RP变量	133
7.4.3GUI中访问RP变量	133
7.4.4UDF中访问RP变量	133
7.4.5保存及加载RP变量	134

第8章Fluent界面元素	135
8.1引例	135
8.2界面布局容器	136
8.2.1对话框	136
8.2.2表格	137
8.3控件	139
8.3.1整数输入框	139
8.3.2实数输入框及字符串输入框	140
8.3.3复选框与单选框	141
8.3.4按钮	142
8.3.5列表框与下拉框	144
8.4创建菜单	147
8.4.1添加顶级菜单	147
8.4.2添加子菜单	147
8.4.3添加菜单项	147
8.4.4菜单案例	147

第9章Fluent界面开发实例	149
9.1Y+计算器	149
9.1.1计算方法	150
9.1.2程序代码	150
9.2湍流参数计算器	153
9.2.1基本公式	153
9.2.2程序代码	154
9.3UDF交互	157
9.3.1Scheme代码	157
9.3.2UDF代码	159

第3部分流程封装
第10章Fluent进程封装	162
10.1Fluent文本操作界面	162
10.1.1基本介绍	162
10.1.2命令缩写	163
10.1.3命令历史	164
10.1.4运行Scheme	164
10.2文本提示系统	164
10.2.1数字	165
10.2.2布尔值	165
10.2.3字符串	165
10.2.4符号	165
10.2.5文件名	166
10.2.6列表	166
10.2.7求值	166
10.2.8系统命令	166
10.2.9文本菜单	167
10.3进程调用式流程开发	168
10.3.1进程调用	168
10.3.2Fluent命令启动	169
10.3.3准备TUI	169
10.3.4示例程序	170
10.4ACT流程开发	172
10.4.1ACT介绍	172
10.4.2ACT的功能概述	173
10.4.3技能需求	174
10.4.4ACT开发示例	174

发送电子邮件联系我们