24小时热门版块排行榜    

查看: 1892  |  回复: 3

zhanshuiqing

银虫 (小有名气)

[求助] SN曳力模型(Schiller &Naumann)udf修正的求助??? 已有1人参与

在计算气液两相流欧拉模型,发现气泡运动过程中发生变形,考虑气泡颗粒尺寸的变化,觉得fluent常用的SN曳力模型不太好,就自编了一个修正的曳力模型udf,可是计算的时候,收敛过程非常不稳定,效果很差,找不到原因,大家给指点下啊

#include "udf.h"
#include "sg.h"
#include "sg_mphase.h"
#include "flow.h"
#include "mem.h"
#include "metric.h"
#define g 9.81  
#define surface_t 0.132   /* surface tension coefficient*/
#define diam2 1.e-2
DEFINE_EXCHANGE_PROPERTY(custom_drag,cell,mix_thread,s_col,f_col)
{
Thread *thread_l, *thread_g;
real x_vel_l, x_vel_g, y_vel_l, y_vel_g, z_vel_l, z_vel_g,abs_v, slip_x, slip_y,slip_z,
      rho_l, rho_g,delta_rho, mu_l, reyp, Eo, C_D1,C_D2,C_D,void_g,void_l, fdrgs, taup, k_g_s;

/* find the threads for the liquid (primary phases) and solids (secondary phases)*/
thread_l = THREAD_SUB_THREAD(mix_thread, s_col);/* liquid phase  */
thread_g = THREAD_SUB_THREAD(mix_thread, f_col);/* gas phase*/

  /* find phase velocities and properties*/
x_vel_l = C_U(cell, thread_l);
y_vel_l = C_V(cell, thread_l);
z_vel_l = C_W(cell, thread_l);
x_vel_g = C_U(cell, thread_g);
y_vel_g = C_V(cell, thread_g);
z_vel_g = C_W(cell, thread_g);

     /* slip velocity*/
slip_x = x_vel_l - x_vel_g;
slip_y = y_vel_l - y_vel_g;
slip_z = z_vel_l - z_vel_g;

      /*Parameters*/
rho_l = C_R(cell, thread_l);
rho_g = C_R(cell, thread_g);
delta_rho = rho_l - rho_g;
mu_l = C_MU_L(cell, thread_l);

/*compute slip*/
abs_v = sqrt(slip_x*slip_x + slip_y*slip_y + slip_z*slip_z);

/*compute Reynold's number*/
reyp = rho_l*abs_v*diam2/mu_l;

/*compute Eotvos number*/
  Eo = g*delta_rho*diam2*diam2/surface_t;
  /*compute particle relaxtion time*/
  taup = rho_g*diam2*diam2/18./mu_l;
  void_g = C_VOF(cell,thread_g);
  void_l = 1.-void_g;
  /*compute C_D */
  C_D1 =24.*(1.+0.15*pow(reyp, 0.687))/reyp;
  C_D2 = 8./3.*Eo/(Eo+4.);
  if(C_D1 > C_D2)
    C_D = C_D1;  
  else
   C_D = C_D2;  
  
/*compute drag and return drag coeff, k_g_s*/
fdrgs = C_D*reyp/24.0;
k_g_s = void_g*void_l*rho_g*fdrgs/taup;
return k_g_s;
}
回复此楼

» 猜你喜欢

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

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

jiangfan2008

木虫 (著名写手)

楼主现在弄清楚了吗?可以说来听听,谢谢!
2楼2013-05-04 01:15:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bingyee007

金虫 (小有名气)

楼主 你好 ,我想问下 既然气泡是变形的 那你为何还把气泡直径定为一个常数呢??
3楼2013-06-04 20:39:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhengquan23

新虫 (初入文坛)

【答案】应助回帖

气泡尺寸给你修改了,你的气泡尺寸太大,3-5mm比较好吧?
#include "udf.h"
#include "sg.h"
#include "sg_mphase.h"
#include "flow.h"
#include "mem.h"
#include "metric.h"
#define g 9.81  
#define surface_t 0.073   /* surface tension coefficient*/
#define diam2 4.e-3
DEFINE_EXCHANGE_PROPERTY(custom_drag,cell,mix_thread,s_col,f_col)
{
Thread *thread_l, *thread_g;
real x_vel_l, x_vel_g, y_vel_l, y_vel_g, z_vel_l, z_vel_g,abs_v, slip_x, slip_y,slip_z,
      rho_l, rho_g,delta_rho, mu_l, reyp, Eo, C_D1,C_D2,C_D,void_g,void_l, fdrgs, taup, k_g_s;

/* find the threads for the liquid (primary phases) and gas (secondary phases)*/
thread_l = THREAD_SUB_THREAD(mix_thread, s_col);/* liquid phase  */
thread_g = THREAD_SUB_THREAD(mix_thread, f_col);/* gas phase*/

  /* find phase velocities and properties*/
x_vel_l = C_U(cell, thread_l);
y_vel_l = C_V(cell, thread_l);
z_vel_l = C_W(cell, thread_l);
x_vel_g = C_U(cell, thread_g);
y_vel_g = C_V(cell, thread_g);
z_vel_g = C_W(cell, thread_g);

     /* slip velocity*/
slip_x = x_vel_l - x_vel_g;
slip_y = y_vel_l - y_vel_g;
slip_z = z_vel_l - z_vel_g;

      /*Parameters*/
rho_l = C_R(cell, thread_l);
rho_g = C_R(cell, thread_g);
delta_rho = rho_l - rho_g;
mu_l = C_MU_L(cell, thread_l);

/*compute slip*/
abs_v = sqrt(slip_x*slip_x + slip_y*slip_y + slip_z*slip_z);

/*compute Reynold's number*/
reyp = rho_l*abs_v*diam2/mu_l;

/*compute Eotvos number*/
  Eo = g*delta_rho*diam2*diam2/surface_t;
  /*compute particle relaxtion time*/
  taup = rho_g*diam2*diam2/18./mu_l;
  void_g = C_VOF(cell,thread_g);
  void_l = 1.-void_g;
  /*compute C_D */
  C_D1 =24.*(1.+0.15*pow(reyp, 0.687))/reyp;
  C_D2 = 8./3.*Eo/(Eo+4.);
  if(C_D1 > C_D2)
   C_D = C_D1;  
  else
   C_D = C_D2;  
  
/*compute drag and return drag coeff, k_g_s*/
fdrgs = C_D*reyp/24.0;
k_g_s = void_g*void_l*rho_g*fdrgs/taup;
return k_g_s;
}
4楼2015-05-14 09:30:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhanshuiqing 的主题更新
信息提示
请填处理意见