找回密码
 注册
查看: 4389|回复: 5

自己编写的类似于空化(cavitation)的udf,求大家帮忙指点下。谢啦

[复制链接]
发表于 2014-4-11 21:20:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在用fluent做管内汽水两相流。实际系统比较复杂,所以入口条件不是特别明确。猜测进口是满管饱和水,流动过程中发生汽化,然后又气体又液化成水。但是因为整个流域温差很小,暂时不考虑汽化潜热所以汽化模型应该类似于空化。因为用vof模型来追踪气液相界,所以在使用vof的同时不能使用cavitation模型。就想着自己写个udf。
这个udf是按照沸腾的udf改编的,并将最后的能量源项去除不考虑,求大家帮忙看看有没有什么问题。相变参考量用的压力。主相是液相,次相是汽相。
编译没有问题,但是计算总是发散。求大家帮忙啦。感激不尽。

#include "udf.h"
#include "sg_mphase.h"
#define P_SAT 12826


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_P(cell, mix_th)<P_SAT)            “混合区单元压力小于汽化压力,则液相发生汽化”
{
  m_dot_l = -0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*   
  fabs(C_P(cell, mix_th) -P_SAT)/P_SAT;
    dS[eqn] = -0.1*C_R(cell, pri_th)*fabs(C_P(cell, mix_th) - P_SAT)/P_SAT;
                                }
  else {                                              “混合区单元压力大于汽化压力,则汽相液化”
    m_dot_l = 0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*
                fabs(P_SAT-C_P(cell,mix_th))/P_SAT;
    dS[eqn] = 0.;
       }
   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_P(cell, mix_th)<T_SAT)                    “混合区单元压力小于汽化压力,则液相汽化”
{
    m_dot_v = 0.1*C_VOF(cell, pri_th)*C_R(cell, pri_th)*
                fabs(C_P(cell, mix_th) - P_SAT)/P_SAT;
    dS[eqn] = 0.;
                              }
  else {                                                     “混合区单元压力大于汽化压力,则汽相液化”
    m_dot_v = -0.1*C_VOF(cell, sec_th)*C_R(cell, sec_th)*
                fabs(P_SAT-C_P(cell,mix_th))/P_SAT;
    dS[eqn] = -0.1*C_R(cell, sec_th)* fabs(C_P(cell, mix_th) - P_SAT)/P_SAT;
       }
  return m_dot_v;
}
发表于 2014-4-12 13:36:26 | 显示全部楼层

回复 1# 哇塞骰 的帖子

VOF可以使用空化模型啊,fluent一共3个空化模型,有一个是不行的, 还有两个可以
 楼主| 发表于 2014-4-13 08:50:06 | 显示全部楼层

回复 2# unfettered 的帖子

我用的是14.5的版本也可以的吧,因为之前看书上是说空化好像只能用混合模型,所以想着自己编一个。
顺便想你请教个问题,其实我想做的是类似凝结的过程但是不想考虑汽化热,也就是空化的逆过程。这样子的话我设置空化参数的时候from phase是应该选择气体嘛?但是我看到资料是说空化和蒸发凝结模型的from phase都应该选择液体,这怎么办
发表于 2014-4-13 17:14:37 | 显示全部楼层

回复 3# 哇塞骰 的帖子

我也不是很懂,Singhal et al.模型是不能与VOF模型兼容,但是Zwart-Gerber-Belamri模型和Schnerr Sauer模型可以,我用的是14.0,在cavitation选项里有后两个可以选择。另外凝结有专门的凝结模型吧,好像不用空化模型,我不确定。
顺便说说你编的这个碉堡了,我都不知道这种UDF怎么编

[ 本帖最后由 unfettered 于 2014-4-13 17:15 编辑 ]
 楼主| 发表于 2014-4-14 15:52:16 | 显示全部楼层

回复 4# unfettered 的帖子

这个都是从沸腾的udf上改的。凝结蒸发模型只能用温度来作为是否相变的判据,但是我想用压力来判断,所以就没用那个模型。
fluent帮助好像是推荐的sauer模型。我回头试试。谢谢你啦
发表于 2014-9-20 10:38:37 | 显示全部楼层

回复 5# 哇塞骰 的帖子

问问那个蒸发的udf可以给个例子参考下不,我现在正在做这个,很着急!谢谢
1126159636@qq.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表