24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 8715  |  回复: 18
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

kylafree

至尊木虫 (知名作家)


[交流] 【求助】求UDF高手帮忙看看我的问题


如图:
(1).初始时刻,矩形区域内上半部分(区域1+2)为质量分数为5%的甲醛+95%的空气的混合气体。下半部分(区域3+4)为0%的甲醛+100%的水。

(2). 空气中的甲醛会在气液交界面处发生溶解,即区域2中的甲醛因溶解而进入区域3中(设溶解过程瞬间即可完成),于是水区域的上部(区域3)有了甲醛,而水区域4还没有甲醛,于是由于浓度差甲醛会从水区域的上部(区域3)往下部(区域4)扩散。
同时空气区域的下部(区域2)由于甲醛溶解到水中而浓度降低,也引起空气区域中甲醛从上部(区域1)往下部(区域2)扩散。

(3). 甲醛的溶解过程由平衡分配关系决定。假设甲醛在空气和水中的平衡分配系数为0.1(即,上述溶解与扩散过程经过足够长时间后总会稳定,设稳定后 [甲醛在空气中的浓度a0):(甲醛在水中的浓度b0)=0.1] 这是一个物理定律。稳定后的浓度比是定值,与初始状态无关。

(4). 选用VOF两相流模型(主相设为甲醛(占5%)+空气(占95%)的混合气,第二相设为甲醛(占0%)和水(占100%)的混和物)
+species transport模型。

气液交界面为边界条件设为wall,其它边界也为wall
两相交互作用Phase interacion中设置一个mass transfer mechnism

(5).编程想法:
找到气液交界面,然后提取出交界面上方单元(区域2)甲醛的浓度,设其为a;
  再提取出交界面下方单元(区域3)甲醛的浓度,设为b;
再根据甲醛在气相和液相中的平衡分配系数0.1
由     a+b=a0+b0   (分配前后质量守恒)
       a0/b0=0.1     (分配稳定后满足平衡分配系数关系)
解上面方程组得a0=(0.1/(0.1+1) )* (a+b) ,b0=(1/(0.1+1)) * (a+b)
并把a更新为a0,b更新为b0。
即a=(0.1/(0.1+1)) * (a+b)
   b=(1/(0.1+1) )* (a+b)
(6).溶解平衡分配关系完成后,根据上面物理原理第(2)条,由于扩散原因会打破这个平衡。于是新的平衡分配又开始了。过通过循环完成。
If (b/a<0.1) 溶解平衡分配就会发生。

比如最开始甲醛在气相的浓度为a=5%,甲醛在水中的浓度为b=0,
显然b/a<0.1,所以按平衡分配关系把a,b更新为
a=0.1/(0.1+1) * 5%
b=1/(0.1+1) *5%
这样气液两相中便出现浓度差了,两相中各自又会发生扩散,扩散又会打破平衡分配关系......
就是这个过程。
下面为根据 HELP 中UDF写的程序,但编译有错。也不知道能不能正确描述我的问题。望各个高手帮忙看看。万分感谢。

DEFINE_MASS_TRANSFER(liq_gas_transfer, cell, mix_thread, from_index, from_species_index, to_index, to_species_index)
{
real a,b,c;
cell_t c0,c1;
Thread *tc0,*tc1;
Domain *domain=Get_Domain(1);
face_t f;
int ID=9;    /* 交界处wall边界的ID*/

Thread *zhong_thread=Lookup_Thread(domain,ID);  /* 获取交界面处wall的指针*/                                                  
begin_f_loop(f,zhong_thread)     /* 循环于交界面中的所有face*/
{
c0=F_CO(f,zhong_thread);    /*左边的cell标为c0*/
tc0=THREAD_T0(zhong_thread);    /*左边的cell的指针tc0*/
c1=F_C1(f,zhong_thread);    /*右边的cell标为c1*/
tc1=THREAD_T1(zhong_thread);    /*右边的cell的指针tc1*/

a=C_YI(c0,tc0,from_species_index);  /*获取co的质量分数*/
b=C_YI(c1,tc1,to_species_index);  /*获取c1的质量分数*/                          

if(a>(10.0/11.0)*(a+b))  
c=(10.0/11.0)*(a+b)-a;   /*按分配关系,如果a>分配后的a0,则记录应返回值c=a0-a*/
  
if(b<(1.0/11.0)*(a+b))
c=(1.0/11.0)*(a+b)-b;    /*按分配关系,如果b<分配后的b0,则记录应返回值c=b0-b*/
}
return(c);       /*返回c*/
end_f_loop(f,zhong_thread)
}

[ Last edited by kylafree on 2011-1-5 at 16:37 ]
回复此楼

» 收录本帖的淘帖专辑推荐

多相流UDF fluent气液两相udf

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

47425804

木虫 (正式写手)



xiegangmai(金币+1):辛苦了 2011-01-14 16:44:50
关于判断气相还是液相及查找对应的另一相cell,方法就很多了。
可以通过组分含量判断,也可以通过cell坐标判断,楼主自己根据编程方便选择就行。
4楼2011-01-04 10:07:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 19 个回答

47425804

木虫 (正式写手)


★ ★ ★
kylafree(金币+30): 2011-01-04 16:07:18
robert2020(金币+3):辛苦了! 2011-01-11 10:48:25
问题是有一些:
1. domain指针没有赋值,要加上这么一句:dimain = Get_Domain(1);
2. DEFINE_MASS_TRANSFER宏是用于每个cell的,好像不是对face赋值的,更不能用begin_f_loop了。
3. 我对这个UDF的理解还不深,或许用begin_f_loop是没有问题的,但是在循环里面用return (c);就有问题了,你的第一次循环就会返回值并结束函数。
4. begin_f_loop(f,interior_thread) 对应的应该是end_f_loop(f,interior_thread) 。
5. 你确认一下单位的问题,返回值单位要求是kg/m3-s,我对你的公式不熟,不知道对不对。
2楼2011-01-04 10:00:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

47425804

木虫 (正式写手)


★ ★
xiegangmai(金币+2):谢谢参与 2011-01-15 08:42:43
关于楼主的这个问题,我说说我想的编程思路吧:
用DEFINE_MASS_TRANSFER宏,在函数里,先判断当前的cell是不是靠近相界面的cell;如果不是,返回0;如果是,判断是液相还是气相;如果是气相,那么要找到与之相对应的液相cell,分别获取二者中需要的参数,求取质量传递速率,并返回值;如果是液相,同样找到对应的气相cell,求取传递速率并返回值。
3楼2011-01-04 10:06:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)


引用回帖:
Originally posted by 47425804 at 2011-01-04 10:00:54:
问题是有一些:
1. domain指针没有赋值,要加上这么一句:dimain = Get_Domain(1);
2. DEFINE_MASS_TRANSFER宏是用于每个cell的,好像不是对face赋值的,更不能用begin_f_loop了。
3. 我对这个UDF的理解还不深 ...

非常非常感谢您的回复,您写的意见对我的启发很大。虽然我现在还是没有把这个UDF做对。望再向您请教。。。
5楼2011-01-04 16:06:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 计算机11408,286分求调剂 +4 木子念晞 2026-04-05 4/200 2026-04-05 15:23 by vjjb
[考研] 材料调剂 +10 壹贰贰亿 2026-04-04 10/500 2026-04-05 13:59 by imissbao
[有机交流] 甲醇/二氯 1:15过柱子 5+3 a哎y呦w喂 2026-03-31 3/150 2026-04-05 10:42 by 88817753
[考研] 288求调剂,一志愿华南理工大学071005 +6 ioodiiij 2026-04-04 6/300 2026-04-05 10:09 by guoweigw
[考研] 一志愿电子科技大学085600材料与化工 329分求调剂 +10 Naiko 2026-04-04 10/500 2026-04-05 09:40 by sam3303
[考研] 288环境专硕,求调材料方向 +13 lllllos 2026-04-04 14/700 2026-04-04 23:34 by lqwchd
[考研] 材料专硕306英一数二 +8 z1z2z3879 2026-03-31 8/400 2026-04-04 22:08 by hemengdong
[考研] 材料调剂 +12 一样YWY 2026-04-02 13/650 2026-04-04 20:49 by 蓝云思雨
[考研] 268求调剂 +8 你好tg 2026-04-03 9/450 2026-04-04 05:08 by gswylq
[考研] 化学调剂求助 +6 LULONG1 2026-04-03 6/300 2026-04-03 23:13 by qzxyhcsy
[考研] 求调剂,一志愿北京中医药大学 +3 小小达不溜 2026-04-02 3/150 2026-04-03 22:55 by 冲矢昴星团
[考研] 求调剂 +8 akdhjs 2026-04-03 8/400 2026-04-03 18:17 by 戴维ING
[考研] 机械专硕297 +3 Afksy 2026-04-03 3/150 2026-04-03 14:24 by 1753564080
[考研] 326分求调剂 +3 于是乎呢 2026-04-01 5/250 2026-04-03 14:23 by 于是乎呢
[考研] 286求调剂 +7 Faune 2026-03-30 7/350 2026-04-03 10:14 by linyelide
[考研] 一志愿大工学硕,求调剂 +4 yub0811 2026-04-02 4/200 2026-04-02 21:36 by 百灵童888
[考研] 314求调剂 +11 1xiaojun23 2026-03-31 12/600 2026-04-02 12:31 by 1xiaojun23
[考研] 08开头看过来!!! +4 wwwwffffff 2026-03-31 6/300 2026-04-02 11:42 by 均值回归
[考研] 279求调剂 +12 j的立方 2026-03-29 12/600 2026-03-30 20:30 by dick_runner
[考研] 抱歉 +3 田洪有 2026-03-30 3/150 2026-03-30 19:11 by 迷糊CCPs
信息提示
请填处理意见