UDF总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

UDF使用技巧1、查找相应的函数的时候,可以现在word里面找到相应的函数名字,然后依次去中文帮助文档、英文帮助文档和网页帮助文档,看看详细解释并找找是否有相应的例子。2、打个比方来说,thread就是公路,连接的cell和face,cell和face就相当于公路上汽车停靠的站点,cell_t这个面向的是单元,而face_t面向的是边或者面(二维或三维)在fluent循环过程中,一般是用thread作线程检索,而cell或者face作检索过程中位置(相当于指示位置的参数)参数的指示3、对于UDF来说,积分就是做加法,把通过面上每个网格的质量流量相加4、cell和face的区别,什么时候用cell,什么时候用face?5、1.begin,end_c_loopmacroisusedforloopingoverallthecellsinparticularthreadforserialprocessing.2.Forparallelprocessing,thecellsinsideapartitioncanbecategorizedasinteriorandexteriorcells.3.Themacrosbegin,end_c_loop_int;begin,end_c_loop_extandbegin,end_c_loop_allareusedforloopingoverinterior,exteriorandallthecells(inapartition)respectively.4.Inparallelsimulations,bothbegin,end_c_loopandbegin,end_c_loop_allmacroswilldothesamejob.5.Forfacestheloopingmacroinparallelarebegin,end_f_loop_int;begin,end_f_loop_extandbegin,end_f_loopforloopingoverinterior,boundaryandallfacesrespectively.Forallpracticalpurpose,theuserneednotseparatetheinteriorandboundaryfacesofapartition.Hence,begin,end_f_loop_intandbegin,end_f_loop_extmacrosarerarelyused.实际问题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);returnsource;当然,在刚开始计算的时候要注意下UDM的初始问题,防止出错。从第三个时间步开始,就是正常的了。这个方法挺好的,只要一开始的用DEFINE_INIT,对C_UDMI(c,t,0)=0.;C_UDMI(c,t,1)=0.;一、数据类型cell_tc单元格标识符face_tf面标识符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)realx[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_tc和Thread*t的面face_tf;注意:索引号i可以被传递给c_face_loop。C_FACE_THREAD(c,t,i)返回面face_tf(由C_FACE返回)的Thread*t;注意:索引号i可以被传递给c_face_loop。4、C_R(c,t)返回线程t的单元c上的密度C_P(c,t)压力C_U(c,t)速度分量uC_V(c,t)速度分量vC_W(c,t)速度分量wC_T(c,t)温度C_H(c,t)焓C_K(c,t)湍流动能kC_NUT(c,t)Spalart-Allmaras模型中的湍流密度C_D(c,t)湍流动能耗散率(和ε像,看小木虫)C_O(c,t)比耗散率wC_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)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)的速度分量uC_V_M1(c,t)返回上一个时刻(t-Δt)的速度分量vC_W_M1(c,t)返回上一个时刻(t-Δt)的速度分量wC_T_M1(c,t)返回上一个时刻(t-Δt)的温度C_YI_M1(c,t,i)返回上一个时刻(t-Δt)的组分质量分数注意:①datafromC_T_M1isavailableonlyifuser-definedscalarsaredefined.②详细可以看宏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)的速度分量uC_V_M2(c,t)返回上两个时刻(t-2Δt)的速度分量vC_W_M2(c,t)返回上两个时刻(t-2Δt)的速度分量wC_T_M2(c,t)返回上两个时刻(t-2Δt)的温度C_YI_M2(c,t,i)返回上两个时刻(t-2Δt)的组分质量分数注意:①datafromC_T_M2isavailableonlyifuser-definedscalarsaredefined.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)primarymeanmixturefractionC_FMEAN2(c,t)secondarymeanmixturefractionC_FVAR(c,t)primarymixturefractionvarianceC_FVAR2(c,t)secondarymixturefractionvarianceC_PREMIXC(c,t)reactionprogressvariableC_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_LIQFisavailableonlyinfluidcellsandonlyifsolidificationisturnedON②C_POLLUT(c,t,i):0-MassFractionofNO;1-MassFractionofHCN;2-MassFractionofNH3;3-MassFractionofN2O;4-SootMassFraction;5-NormalizedRadicalNuclei③Concentrationinparticles(颗粒浓度)*10(-15次方)/kg,具体公式需要看fluent中的介绍。12、C_RUU(c,t)uu雷诺应力C_RVV(c,t)vv雷诺应力C_RWW(c,t)ww雷诺应力C_RUV(c,t)uv雷诺应力C_RVW(c,t)vw雷诺应力C_RUW(c,t)uw雷诺应力13、C_VOF(c,t)volumefractionforthephasecorrespondingtophasethreadt注意:多相流VOF模型,只适用于压力基求解器四、Face宏函数(只能用于压力基求解器)1、F_CENTROID(x,f,t)realx[ND_ND]面的重心坐标x[]注意:这句话直接使用,结果会输出到求解器中,需要使用的时候,调用x[];其中,x[0]代表x方向坐标,x[1]代表y方向坐标,x[2]代表z方向坐标。2、F_AREA(A,f,t)realA[ND_ND]返回A向量(面的法向量)3、F_U(f,t)速度分量uF_V(f,t)速度分量vF_W(f,t)速度分量w

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功