24小时热门版块排行榜    

查看: 984  |  回复: 0

nba24

新虫 (小有名气)

[求助] UDF 传质

各位,我做的液液两相泰勒流萃取传质,UDF源项描述如下:

左边是油相,右边是水相
DEFINE_SOURCE(gas_source, cell_gas, thread_gas, dS, eqn)        /* gas相o2组分的传质源项 */
{
real source;
Domain *domain_liquid = Get_Domain(3);        /* liquid相domain指针 */
Thread *thread_mix = THREAD_SUPER_THREAD(thread_gas);        /* mixture的fluid-air区域指针 */
Thread *thread_liquid = Lookup_Thread(domain_liquid, 2);        /* liquid相的fluid-water区域指针 */
cell_t cell_liquid;
real m0_gas, m0_liquid, m1_gas, m1_liquid;

if(C_UDMI(cell_gas, thread_mix, 0 ) == -1)        /* 非相界面cell */
        {
        source = 0.0;        /* 传质源项为0 */
        }
else /* 相界面cell */
        {
        cell_liquid = C_UDMI(cell_gas, thread_mix, 0);        /* 获取相界面另一侧的cell编号 */
        /* 下面就可通过thread_mix, cell_gas, thread_gas, cell_liquid, thread_liquid五个变量获取需要的数据计算传质源项 */
        m0_gas = C_YI(cell_gas, thread_gas, 0)*C_R(cell_gas, thread_gas)*C_VOLUME(cell_gas, thread_gas);        /* 气相中o2组分质量,单位 kg */
        m0_liquid = C_YI(cell_liquid, thread_liquid, 0)*C_R(cell_liquid, thread_liquid)*C_VOLUME(cell_liquid, thread_liquid);        /* 液相中o2组分质量,单位 kg */
        m1_liquid = (m0_gas+m0_liquid)/(1.0+1/kc);        /* 分配后液相中o2组分质量,单位 kg */
        m1_gas = m1_liquid/kc;        /* 分配后气相中o2组分质量,单位 kg */
        source = (m1_gas-m0_gas)/C_VOLUME(cell_gas, thread_gas)/CURRENT_TIMESTEP;        /* 传质源项,单位 kg/m3-s */
        }

dS[eqn] = 0.0;
return source;
}

乙酸乙酯从油相传到水相,初始时刻油相酯质量分数0.1,,,怎么算到后来酯含量油相0.99,水相酯含量1,可能是我的质量源项编写错误,我看见UDF help只有动量源项啊。。。。麻烦各位看看我的质量源项有没有错误,,UDF 中m0是分配以前酯质量,m1 是分配以后酯含量,,

[ Last edited by nba24 on 2012-7-10 at 09:57 ]
回复此楼
天津大学化学工程
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 nba24 的主题更新
信息提示
请填处理意见