中科大FLUENT讲稿 第七章 自定义函数(4)
到数据文件中,如果下次将kount值读入FLUENT继续运算,则kount将在10的基础上增加。我们可以存贮任意多的静态变量,不过读写顺序必须一致。
7.2.10 解法器函数(Solver Functions) 7.2.10.1 概述
在很多情况下,UDF需要得到FLUENT解法器中的数据。例如:
1.所求解的变量及其导数(例如,速度,温度等);
2.网格和面几何性质(例如,面面积,网格体积,网格质心坐标等); 3.物质的物理性质(例如,密度,粘性系数,导热系数等)。
! 我们可以取出比热,但是不能修改。
我们可以利用下一节所列FLUENT提供的解法器函数,得到解法器中的数据。这里所说的函数是从广义上讲的,因为其中包括函数和宏,只有在源文件appropriate.h中定义的才是真正的函数。
! 如果使用的是Interpreted 型的UDF,则只能使用这些FLUENT提供的解法器函数。
解法器函数可以与C函数一起在函数体中混合使用。为方便起见,一些最常用的C函数列在附录B中。
下面章节列出的函数中包括它们的参数,参数类型和返回值,还有对该函数说明的源文件。例如
C_CENTROID(x,c,t)
有三个参数:x,c和t,其中c和t为输入参数,x为输出参数,输出网格的坐标值。
7.2.10.2 辅助几何关系 Name(Arguments) Argument Type Returns Source C_NNODES(c,t) cell_t c, Thread *t 网格节点数 mem.h C_NFACES(c,t) cell_t c, Thread *t 网格面数 mem.h F_NNODES(f,t) face_t f, Thread *t 面节点数 mem.h 7.2.10.3 网格坐标与面积 Name(Arguments) Argument Type Returns Source C_CENTROID(x,c,t) real x[ND_ND],cell_t x(网格坐标) metric.h c, Thread *t F_CENTROID(x,f,t) real x[ND_ND], face_t x(面坐标) metric.h f, Thread *t F_AREA(A,f,t) A[ND_ND],face_t f,A(面矢量) metric.h Thread *t NV_MAG(A) A[ND_ND] 面矢量A大小 metric.h C_VOLUME(c ,t) cell_t c, Thread *t 2D或3D网格metric.h 体积;对称体网格体积/2π
7.2.10.4 节点坐标与节点(网格)速度
列表中的节点速度与移动网格模拟有关。 Name(Arguments) Argument Type Returns Source NODE_X[node] Node *node 节点的x坐标 metric.h NODE_Y[node] Node *node 节点的y坐标 metric.h NODE_Z[node] Node *node 节点的z坐标 metric.h NODE_GX[node] Node *node 节点的x向速度 mem.h NODE_GY[node] Node *node 节点的y向速度 mem.h NODE_GZ[node] Node *node 节点的z向速度 mem.h 7.2.10.5 面变量
下面列表中的函数只能在segregated solver中获取,耦合计算时不能引用的。 Name(Arguments) Argument Type Returns Source F_P(f,t) face_t f, Thread *t 压力 mem.h(all) F_U(f,t) face_t f, Thread *t u速度 F_V(f,t) face_t f, Thread *t v速度 F_W(f,t) face_t f, Thread *t w速度 F_T(f,t) face_t f, Thread *t 温度 F_H(f,t) face_t f, Thread *t 焓 F_K(f,t) face_t f, Thread *t 湍流动能 F_D(f,t) face_t f, Thread *t 湍流能量耗散系数 F_YI(f,t,i) face_t f, Thread *t, 组分质量分数 int i F_UDSI(f,t,i) face_t f, Thread *t, 用户自定义标量(i int i 表示第几个方程) F_UDMI(f,t,i) face_t f, Thread *t, 用户自定义内存变int i 量(i表示第几个) 7.2.10.6 网格变量 下面列表中的是网格变量,不像面变量,网格变量在耦合与非耦合计算中都能获取(available in both the segregated and the coupled solvers)。下面三个列表中所列出的分别是:计算变量、导数和物性参数。 Name(Arguments) Argument Type Returns Source C_P(c,t) 参数类型都定义压力 mem.h C_U(c,t) 为: u速度 C_V(c,t) cell_t c, v速度 C_W(c,t) Thread *t, w速度 C_T(c,t) int i, 温度 C_H(c,t) int j 焓 C_YI(c,t) 组分质量分数 C_UDSI(c,t,i) 用户自定义标量 C_UDMI(c,t,i) 用户自定义内存变量 C_K(c,t) 湍流动能 C_D(c,t) 湍流能量耗散系数 C_RUU(c,t) C_RVV(c,t) C_RWW(c,t) C_RUV(c,t) C_RVW(c,t) C_RUW(c,t) C_FMEAN(c,t) C_FMEAN2(c,t) C_FVAR(c,t) C_FVAR2(c,t) C_PREMIXC(c,t) C_LAM_FLAME _SPEED(c,t) C_CRITICAL_STRAIN _RATE(c,t) C_POLLUT(c,t,i) C_VOF(c,t,0) C_VOF(c,t,1) Name(Arguments) C_DUDX(c,t) C_DUDY(c,t) C_DUDZ(c,t) C_DVDX(c,t) C_DVDY(c,t) C_DVDZ(c,t) C_DWDX(c,t) C_DWDY(c,t) C_DWDZ(c,t) C_DP(c,t)[i] C_D_DENSITY(c,t)[i] Name(Arguments) C_R(c,t) C_MU_L(c,t) C_MU_T(c,t) C_MU_EFF(c,t) C_K_L(c,t) C_K_T(c,t) C_K_EFF(c,t) C_CP(c,t) C_RGAS(c,t) C_DIFF_L(c,t,i,j) C_DIFF_EFF(c,t,i) C_ABS_COEFF(c,t) Argument Type uu雷诺应力 vv雷诺应力 ww雷诺应力 uv雷诺应力 vw雷诺应力 uw雷诺应力 第一平均混合物分数 第二平均混合物分数 第一混合物分数偏差 第二混合物分数偏差 反应进程变量 层流火焰速度 临界应变率 污染物组分 第一相体积分数 第二相体积分数 Returns 各向速度导数 压力梯度(i表示方向) 密度梯度(i表示方向) sg_mem.h Source mem.h Argument Type Returns 密度 层流粘性系数 湍流粘性系数 有效粘性系数 导热系数 湍流导热系数 有效导热系数 比热 气体常数 层流组分扩散系数 有效组分扩散系数 吸收系数 Source mem.h C_SCAT_COEFF(c,t) 散射系数 7.2.10.7 循环宏 如果要实现扫描全场的网格就需要使用循环宏。下面给出两种类型的循环宏。一种以begin开始,end结束,用来扫描线上的所有网格和面;另一种用来扫描所有的线。
cell_t c; face_t f; Thread *t; Domain *d;
begin_c_loop(c, t) { }
end_c_loop(c, t) /*循环遍历线上的所有网格*/
begin_f_loop(f, t) { }
end_f_loop(f, t) /*循环遍历线上的所有面*/
thread_loop_c(t, d) {
} /*遍历网格线*/
thread_loop_f(t, d) {
} /*遍历面上的线*/
7.2.10.8 数据的可得性
在书写UDF的时候,要保证出现在函数中的数据是能够从解法器上获得的。为了检验数据的这种可得性,我们可以使用函数Data_Valid_p,如果数据正确该函数返回值为1,否则返回0。
Int Data_Valid_P(); /*取自文件case.h*/
当我们读取case文件时,就会装载相应的UDF。如果此时函数用到一个未初始化的变量,诸如内部网格速度,计算就会发生错误。为了避免这种类型的错误发生,解法器会执行一条if else 语句。如果数据可得,就按照正常情况执行下去;否则,就停止运算。一旦流场初始化之后,函数会被重新激活,然后读取正确的数据运行。
7.2.10.9 设置面变量值的函数
宏F_PROFILE设置的是面上的变量值,该函数在设置边界面时使用。 face_t f;
Thread *t;
F_PROFILE(f,,t,,nvar) /* from mem.h */
函数中的参数nvar不需用户设定,而是由FLUENT解法器传递给UDF。nvar是特定边界的数字标签。例如,与总压和总温相关的入口边界,nvar取值为0和1;与速度三个方向标量和静态温度相关的边界,nvar取值为0,1,2和3。 我们在定义边界条件面板定义边界条件时,解法器就设定n …… 此处隐藏:3316字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文




