24小时热门版块排行榜    

查看: 636  |  回复: 1

xingwuyan

新虫 (初入文坛)

[求助] 急求UDF中用PR方程求解超临界流体co2密度的UDF程序

我在编写用PR方程求解超临界co2密度的UDF程序时采用的是盛金公式,但我只考虑了盛金公式中得Δ=B^2-4AC>0时的情况,所以在初始化流场时通不过,求哪位大侠可以帮我分析分析,急求有类似的程序,或也写过此程序的能够帮助我一下,谢谢了。或者可以提供一个C语言求三次方程根的程序,其中a,b,c,d都是变量的,附上我写的程序:
#include "udf.h"
#define TC 305.25
#define PC 7380000
#define W 0.225
#define R 8.314
#define tc 305.25
#define pc 7375000
#define w 0.225
#define r 8.314
DEFINE_PROPERTY(cell_density, cell, thread)
{
  real dd;
  real temp = C_T(cell, thread);
  real pres = C_P(cell, thread);
  real tr,k,a1,a2,a,b,a3,a4,a5,a6,b1,b2,b3,y1,y2,y3,x;
  tr = temp/TC;
  k = 0.37464+1.54226*W-0.26992*W*W;
  a1 = (1+k*(1-sqrt(tr)))*(1+k*(1-sqrt(tr)));
  a2 = 0.45724*R*R*TC*TC/PC;
  a = a1*a2;
  b=0.0778*R*TC/PC;
  a3=pres;
  a4=pres*b-R*temp;
  a5=a-3*pres*b*b-2*R*temp*b;
  a6=pres*b*b*b+R*temp*b*b-a*b;
  b1 = a4*a4-3*a3*a5;
  b2 = a4*a5-9*a3*a6;
  b3 = a5*a5-3*a4*a6;
  y1 = b1*a4+3*a3*(-b2+sqrt(b2*b2-4*b1*b3))/2;
  y2 = b1*a4+3*a3*(-b2-sqrt(b2*b2-4*b1*b3))/2;
  if (y1<0)
         {y3=-y1;}
           else
           {y3=y1;}
  x = (-a4-(pow(y3,0.33333)-pow(-y2,0.33333)))/(3*a3);
  dd =44/(1000*x);
  
  return dd;
}

UID99953 帖子5 精华0 积分10 阅读权限10 来自湖南 在线时间11 小时 注册时间2010-8-31 最后登录2012-7-18 查看详细资料
回复此楼

» 猜你喜欢

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

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

Edy159357

新虫 (初入文坛)

2楼2019-04-23 21:48:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xingwuyan 的主题更新
信息提示
请填处理意见