udf怎么写速度

udf怎么写速度,第1张

写法如下,UDF修改入口速度矢量,以模拟俯仰DEFINE_PROFILE可以定义随空间坐标或时间变化的边界条件或单元区域条件。可以自定义的变量有:— 速度、压力、温度、湍流动能、湍流耗散率— 质量流量

— 质量流量与物理流动时间的函数

— 组分质量分数(组分运输)

— 体积分数(多相模型)

— 壁面热条件(温度、热流、生热率、传热系数和外部发射率等)

— 壳层发热率

— 壁面粗糙度条件

— 壁面剪切和应力条件

— 孔隙率

— 多孔阻力方向矢量

— 壁面粘附接触角(VOF多相模型)

1先初始化,迭代一步后,再导入udf--问题依旧

2先保存退出软件后,再重新打开--问题依旧

3将4个udf分别拆开后,分别导入--没有出现问题

4将其中的两个udf组合起来,导入--问题依旧(据此推断是udf的问题),下面是我的udf;将DEFINE_SOURCE(liq_src…)和DEFINE_SOURCE(vap_src…)这两个udf组合在一起,出现了开始的同样问题。请大神帮忙看下,问题出在哪?滴水之恩,涌泉相报,谢谢大神们!!!

附件截图是我引用udf的三个位置,附件文件是我的udf。

#include "udfh" 

#include "sg_mphaseh"

#define T_SAT 278 

#define LAT_HT 2260000

DEFINE_SPECIFIC_HEAT(my_user_cp, T, Tref, h, yi) 

real cp=1200176+21647398pow(035,116317)+00229pow(T,1306682)+03285pow(035,116317)pow(T,1306682); 

h = cp(T-Tref); 

return cp; 

}

DEFINE_SOURCE(liq_src, cell, pri_th, dS, eqn)//与下面组合后出现问题

{

Thread mix_th,sec_th;

real m_dot_l;

mix_th=THREAD_SUPER_THREAD(pri_th);

sec_th=THREAD_SUB_THREAD(mix_th,1);

if(C_T(cell,mix_th)>=T_SAT)

{

m_dot_l=-01C_VOF(cell,pri_th)C_R(cell,pri_th)fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;

dS[eqn]=-01C_R(cell,pri_th)fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;

}

else

{

m_dot_l=01C_VOF(cell,sec_th)C_R(cell,sec_th)fabs(T_SAT-C_T(cell,mix_th))/T_SAT;

dS[eqn]=00;

}

return m_dot_l;

}

DEFINE_SOURCE(vap_src,cell,sec_th,dS,eqn)//与上面组合后出现问题 

{

Thread mix_th,pri_th;

real m_dot_v;

mix_th=THREAD_SUPER_THREAD(sec_th);

pri_th=THREAD_SUB_THREAD(mix_th,0);

if(C_T(cell, mix_th)>=T_SAT)

{

m_dot_v=01C_VOF(cell,pri_th)C_R(cell,pri_th)fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;

dS[eqn]=00;

}

else

{

m_dot_v=-01C_VOF(cell,sec_th)C_R(cell,sec_th)fabs(T_SAT-C_T(cell,mix_th))/T_SAT;

dS[eqn]=-01C_R(cell,sec_th)fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;

}

return m_dot_v;

}

DEFINE_SOURCE(enrg_src,cell,mix_th,dS,eqn)

{

Thread pri_th,sec_th;

real m_dot;

pri_th=THREAD_SUB_THREAD(mix_th,0);

sec_th=THREAD_SUB_THREAD(mix_th,1);

if(C_T(cell, mix_th)>=T_SAT)

{

m_dot=-01C_VOF(cell,pri_th)C_R(cell,pri_th)fabs(C_T(cell,mix_th)-T_SAT)/T_SAT;

dS[eqn]=-01C_VOF(cell,pri_th)C_R(cell,pri_th)/T_SAT;

else

{

m_dot=01C_VOF(cell,sec_th)C_R(cell,sec_th)fabs(T_SAT-C_T(cell,mix_th))/T_SAT;

dS[eqn]=-01C_VOF(cell,sec_th)C_R(cell,sec_th)/T_SAT;

}

return LAT_HTm_dot;  

}

QQ1png

QQ2png

查手册可知,ND是一个宏系列,包括了ND_ND,ND_SUM,ND_SET

ND_ND的定义:

对于2D,即RP_2D(也是一个宏名称),值为2;

对于3D,即RP_3D(也是一个宏名称),值为3;

用这个宏可以让你的UDF程序更有通用性,2D,3D模型不用修改,可通用

举例

real A[ND_ND][ND_ND] 对于2D,实际值为real A[2][2] ,22的矩阵

real A[ND_ND][ND_ND] 对于3D,实际值为real A[3][3] ,33的矩阵

real x[ND_ND] 对于2D,实际值为real x[2] ,2个值的数组

real x[ND_ND] 对于3D,实际值为real x[3] ,3个值的数组

没必要用UDF的,按照下面的 *** 作即可:主要是一个写profile,再在新的case中读取,就ok

1Write a data profile at the outlet of the old case

In this step, you will write a file containing selected

ow solution information on

specied surfaces Later, you will use this information as inlet boundary conditions

when the boiling model is enabled

File>Write>Profile

(a) Select Define New Profile in the Options group box

(b) Select outlet from the Surfaces selection list

(c) Select Velocity Magnitude, Turbulence Kinetic Energy (k), and Turbulent Dissipation

Rate (Epsilon) and so on from the Values selection list

(d) Click Write to open the Select File panel

(e) Enter liquid-outletprof for File Name and click OK

This writes a profile file to the working folder The profile file contains the solution

information that was requested in the Write Profile panel This information

is used to supply inlet information in the boiling calculation

(f) Close the Write Profile panel

2For a new case, Read the newly created profile into memory

After creating a profile, you need to read it into memory for the profile variables to be

available as boundary conditions

File>Read >Profile

FLUENT displays the progress of reading the profile, in the console

viewHoldermEditViewsetText("" + mDatasget(position));

viewHoldermEditViewsetOnFocusChangeListener(new OnFocusChangeListener() {

@Override

public void onFocusChange(View arg0, boolean hasFocus)

if (hasFocus) {

viewHoldermEditViewsetSelection(0, mDatasget(mPosition)lastIndexOf(''));

} else {

}

}

以上就是关于udf怎么写速度全部的内容,包括:udf怎么写速度、fluent中udf编程提示出错 Error: received a fatal signal (Segmentation fault). Error Object: #f、请教关于FLUENT中UDF的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9736948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存