各位,我做的液液两相泰勒流萃取传质,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 ] |