UDF总结

UDF使用技巧
1、查相应的函数的时候,可以现在word里面到相应的函数名字,然后依次去中文帮助文档、英文帮助文档和网页帮助文档,看看详细解释并是否有相应的例子。
2、打个比方来说,thread就是公路,连接的cellface,cellface就相当于公路上汽车停靠的站点,
cell_t这个面向的是单元,而face_t面向的是边或者面(二维或三维)
fluent循环过程中,一般是用thread作线程检索,而cell或者face作检索过程中位置(相当于指示位置的参数)参数的指示
3、对于UDF来说,积分就是做加法,把通过面上每个网格的质量流量相加
4、cell和face的区别,什么时候用cell,什么时候用face?
5、1. begin, end_c_loop macro is used for looping over all the cells in particular thread for serial processing.
2. For parallel processing, the cells inside a partition can be categorized as interior and exterior cells.
3. The macros begin, end_c_loop_int; begin, end_c_loop_ext and begin, end_c_loop_all are used for looping over interior, exterior and all the cells (in a partition) respectively.
4. In parallel simulations, both begin, end_c_loop and begin, end_c_loop_all macros will do the same job.
5. For faces the looping macro in parallel are begin, end_f_loop_int; begin, end_f_loop_ext and begin, end_f_loop for looping over interior, boundary and all faces respectively. For all practical purpose, the user need not separate the interior and boundary faces of a partition. Hence, begin, end_f_loop_int and begin, end_f_loop_ext macros are rarely used.
实际问题
1、DEFINE_UDS_UNSTEADY中的apu包括的函数是不是不包括当前时刻的变量,而su
包含前一时刻的变量,所以用了C_STORAGE_R存储前一时刻的变量
2、等于零是因为计算源项的时候温度还没有更新,所以两个温度值是相等的。这个时候其实是需要两个UDM,分别保存上一步和再上一步的温度。而且可以考虑全部在源项里完成,不用Adjust宏:
论文写作source=(C_UDMI(c,t,1)-C_UDMI(c,t,0))/TIME_STEP;
C_UDMI(c,t,0)=C_UDMI(c,t,1);
C_UDMI(c,t,1)=C_T(c,t);
return source;
当然,在刚开始计算的时候要注意下UDM的初始问题,防止出错。
从第三个时间步开始,就是正常的了。
这个方法挺好的,只要一开始的用DEFINE_INIT,对
C_UDMI(c,t,0)=0.;
C_UDMI(c,t,1)=0.;
一、数据类型
cell_t c 
单元格标识符
face_t f 
面标识符
Thread *t 
指向线程的指针
Thread **pt 
象限矩阵线程的指针
Node *node 
指向节点的指针
Domain *d 
指向定义域的指针
二、node宏函数
NODE_X(node)
节点在x方向上的坐标(real
NODE_Y(node)
节点在y方向上的坐标(real
NODE_Z(node)
节点在z方向上的坐标(real
F_NNODES(f,t)
面上节点的数目(int
三、cell宏函数   
1
C_CENTROID(x,c,t)
real x[ND_ND]
单元格的重心坐标x[]
注意:这句话直接使用,结果会输出到求解器中,需要使用的时候,调用x[];其中,x[0]代表x方向坐标,x[1]代表y方向坐标,x[2]代表z方向坐标。
2
C_VOLUME(c,t)
单元格的体积(real
C_NNODES(c,t)
单元格的节点的数目(int
C_NFACES(c,t)
单元格的面的数目(int
3
C_FACE(c,t,i)
返回给定单元cell_t cThread *t的面face_t f
注意:索引号 i可以被传递给c_face_loop
C_FACE_THREAD(c,t,i)
返回面face_t f(由C_FACE返回)的Thread *t
注意:索引号i可以被传递给c_face_loop
4
C_R(c,t)
返回线程t的单元c上的密度
C_P(c,t)
压力
C_U(c,t)
速度分量u
C_V(c,t)
速度分量v
C_W(c,t)
速度分量w
C_T(c,t)
温度
C_H(c,t)
C_K(c,t)
湍流动能k
C_NUT(c,t)
Spalart-Allmaras模型中的湍流密度
C_D(c,t)
湍流动能耗散率(和ε像,看小木虫)
C_O(c,t)
比耗散率w
C_YI(c,t,i)
组分质量分数
5
C_R_G(c,t)
返回线程t的单元c上的密度梯度
C_P_G (c,t)
压力梯度
C_U_G (c,t)
速度分量u梯度
C_V_G (c,t)
速度分量v梯度
C_W_G (c,t)
速度分量w梯度
C_T_G (c,t)
温度梯度
C_H_G (c,t)
焓梯度
C_K_G (c,t)
湍流动能k梯度
C_NUT_G (c,t)
Spalart-Allmaras模型中的湍流密度梯度
C_D_G (c,t)
湍流动能耗散率梯度(和ε像,看小木虫)
C_O_G (c,t)
比耗散率w梯度
C_YI_G (c,t,i)
组分质量分数梯度
注意:C_T_G(c,t)[0]:温度梯度x方向的分量;[1]y方向;[2]z方向
      C_R_G(c,t)只能用于密度基求解器,C_P_G (c,t)兰州教育学院学报只能用于压力基求解器C_YI_G (c,t,i)只能用于密度基求解器,用于压力基求解器要设置,一切设置好后,输入rpsetvar ’species/save-gradients?#t
      只有当已经求解出包含这个变量的方程时才能得到梯度变量,需要如下设置solve/set/expert回车然后两个yes输入q可以返回上级目录
6
C_R_RG(c,t)
返回线程t的单元c上的密度改造梯度
C_P_RG(c,t)
压力改造梯度
C_U_RG(c,t)
速度分量u改造梯度
C_V_RG(c,t)
速度分量v改造梯度
C_W_RG(c,t)
速度分量w改造梯度
C_T_RG(c,t)
温度改造梯度
C_H_RG(c,t)
焓改造梯度
C_K_RG(c,t)
湍流动能k改造梯度
C_NUT_RG(c,t)
PGROUP
Spalart-Allmaras模型中的湍流密度改造梯度
C_D_RG(c,t)
湍流动能耗散率改造梯度(和ε像,看小木虫)
C_O_RG(c,t)
郑媛媛事件完整照片
比耗散率w改造梯度
C_YI_RG(c,t,i)
组分质量分数改造梯度
注意:C_T_RG(c,t)[0]:温度梯度x方向的分量;[1]y方向;[2]z方向
      C_R_RG(c,t)只用于密度基求解器,C_P_RG (c,t)只用于压力基求解器C_YI_RG (c,t,i)只能用于密度基求解器
      只有当已经求解出包含这个变量的方程时才能得到梯度变量,需要如下设置solve/set/expert回车然后两个yes输入q可以返回上级目录
7
C_R_M1(c,t)
返回上一个时刻(t-Δt)的密度
C_P_M1(c,t)
返回上一个时刻(t-Δt)的压力
C_U_M1(c,t)
返回上一个时刻(t-Δt)的速度分量u
C_V_M1(c,t)
返回上一个时刻(t-Δt)的速度分量v
C_W_M1(c,t)
返回上一个时刻(t-Δt)的速度分量w
C_T_M1(c,t)
返回上一个时刻(t-Δt)的温度
C_YI_M1(c,t,i)
返回上一个时刻(t-Δt)的组分质量分数
注意:data from C_T_M1 is available only if user-defined scalars are defined.
      详细可以看宏DEFINE_UDS_UNSTEADY( name,c,t,i,apu,su)
8
C_R_M2(c,t)
返回上两个时刻(t-2Δt)的密度
C_P_M2(c,t)
返回上两个时刻(t-2Δt)的压力
C_U_M2(c,t)
返回上两个时刻(t-2Δt)的速度分量u
C_V_M2(c,t)
返回上两个时刻(t-2Δt)的速度分量v
C_W_M2(c,t)
返回上两个时刻(t-2Δt)的速度分量w
C_T_M2(c,t)
返回上两个时刻(t-2Δt)的温度
C_YI_M2(c,t,i)
返回上两个时刻(t-2Δt)的组分质量分数
注意:data from C_T_M2 is available only if user-defined scalars are defined.
   
9
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,prt)
湍流热导率
C_K_EFF(c,t,prt)
有效热导率
C_DIFF_L(c,t,i,j)
层流组分扩散率
C_DIFF_EFF(c,t,i)
有效组分扩散率
注意:prt是湍流普朗特常数。
10
C_CP(c,t)
比热容
C_RGAS(c,t)
气体常数/相对分子质量
C_NUT(c,t)
Spalart-Allmaras湍流粘度
11
C_FMEAN(c,t)
primary mean mixture fraction
C_FMEAN2(c,t)
secondary mean mixture fraction
C_FVAR(c,t)
primary mixture fraction variance
C_FVAR2(c,t)
secondary mixture fraction variance
C_PREMIXC(c,t)
reaction progress variable
C_LAM_FLAME_SPEED(c,t)
层流火焰速度
对流层
C_SCAT_COEFF(c,t)
散射系数
C_ABS_COEFF(c,t)
吸收系数
C_CRITICAL_STRAIN_ RATE(c,t)
临界应变率
C_LIQF(c,t)
cell中的液体分数
C_POLLUT(c,t,i)
污染物的质量分数
注意:C_LIQF is available only in fluid cells and only if solidification is turned ON

本文发布于:2024-09-22 19:26:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/73754.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:K-E公式
标签:梯度   时候   返回   湍流   求解   质量   时刻   变量
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议