八十六、Fluent UDF中特殊的数据结构

1. UDF数据结构介绍

虽然Fluent UDF是用C语言书写的,但是UDF的代码和逻辑和C语言有很大的不同,你的C语言写的很好,并不代表就一定能写好Fluent UDF代码。

图片

我们必须在了解C语言数据结构的基础上,还要对UDF内置的数据结构非常熟悉才可以。

图片

2. C语言数据结构类型

2.1 基本数据类型

整型:

•  int:标准整型,通常用于存储整数。

•  short:短整型,存储范围比int小。

•  long:长整型,存储范围比int大。

•  long long:更长的整型,提供更大的存储范围。

图片

在UDF中,经常会使用到整型变量,甚至一些内置的数据结构就是整型变量。比如cell_t,face_t等。

字符型:

•  char:用于存储单个字符,通常是8位。

UDF经常用字符类型来存储字符,一方面可以用于文本输出,另外一方面还可以用来动态读取文件名。

图片

浮点型:

•  float:单精度浮点数,用于存储小数点数。

•  double:双精度浮点数,比float提供更高的精度和更大的存储范围。

•  long double:比double更高精度的浮点数

图片

浮点型是fluent UDF最为广泛使用的数据类型,虽然在UDF代码中,几乎看不到float、double这类关键字,这是因为fluent使用了内置的关键字。

2.2  数组

•  一维数组:存储一系列相同类型的数据。

•  二维数组或多维数组:可以存储矩阵或张量数据,用于复杂的数据关系。

图片

数组类型也经常被使用,这是因为fluent经常涉及到矢量的计算,比如速度场u、v、w,坐标x、y、z等。

2.3  指针

•  指针变量存储内存地址,指向数据结构或基本数据类型的实例。如int *表示指向int类型数据的指针。

图片

通过指针,UDF可以动态地访问和修改数据。

2.4 结构体

结构体通过使用struct关键字定义,后面跟上结构体的名称和一组声明的成员(变量),每个成员可以是基本数据类型或其它派生数据类型

图片

Fluent的很多内置数据结构都是结构体类型,比如最常见的thread

3.  Fluent内置数据结构

3.1  cell_t

cell_t是表示计算域中单个控制体积(单元)的数据结构。它包含了单元的各种信息,如体积、面、相邻单元等。实际上cell_t就是上面提到的整型变量,每个网格都有一个序号来标识

图片

通过cell_t,用户可以在UDF中访问和修改特定单元的属性。

3.2 face_t

face_t表示单元的一个面,是用于处理边界条件和面相关的物理量的数据结构。每个face_t与两个相邻的单元相关联(除非是边界面),可以访问面的面积、法向量等属性。

face_t同样是整型变量,用来存储fluent 网格的face序号

图片

3.3  Thread

thread是UDF特有的数据结构,本质上是一个结构体,包含了一系列的cell和face。通过thread逐次查找,最终可以查找到网格和面。

图片

3.4 Domain

domain表示整个计算域,是所有单元和边界的集合。通过domain,用户可以访问整个计算域的属性,如总体积、边界条件等。通过domain,可以逐次查找到thread------ cell----- face。

图片

3.5  Fluent UDF特有的数据访问函数

如C_T、C_P、C_U等,用于访问Fluent计算的标量场(如温度、压力)和向量场(如速度)。

图片

4. 课程介绍

针对UDF,我们出了一系列的课程,从最基础的开始学习UDF,课堂上手敲代码,带领大家从入门到熟练的理解UDF的数据结构和语言逻辑。

图片

4.1 课程优势

1. 系统全面: 课程内容涵盖了从环境变量配置到UDF的实际应用,提供了全面系统的学习路径。

2. 实战案例: 课程中包含了27个实战案例,通过这些案例,学员可以更好地理解和掌握UDF的应用。

图片

3. 手把手教学: 每节课都有详细的手写代码教学,确保学员能够真正理解和掌握每一个知识点。

4. 丰富资源: 提供讲义和UDF代码,学员可以随时参考和练习。

5.一对一的课程答疑。

图片

4.2 适用人群

1. 高校师生: 使用Fluent进行研究和教学的高校师生,可以通过学习UDF提升教学和科研水平。

2. 工程技术人员: 在实际工程项目中需要使用Fluent进行仿真的工程技术人员,特别是需要解决复杂仿真问题的人群。

3. 科研人员: 从事流体力学、热力学等相关领域研究的科研人员,通过学习UDF可以更好地进行实验和数据分析。

图片

4.3 相比其他课程的优点

1. 案例丰富: 课程中包含大量实战案例,学员可以通过这些案例更好地理解和应用UDF。

图片

2. 结构清晰: 课程从基础到高级,结构清晰,层层递进,帮助学员逐步掌握UDF的使用。

图片

3. 实践为主: 强调实际操作和代码编写,确保学员不仅学到理论知识,还能实际应用到工作中。

图片

  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值