24小时热门版块排行榜    

查看: 614  |  回复: 1

bingshan2012

木虫 (正式写手)

[求助] 大家帮忙看下这段粘度系数的UDF有没有问题,谢了。

这是UDF中定义粘度系数的一段程序,大家帮忙看看有没有语法问题,谢谢,x数组为压力值(单位pa),y数组为温度值(单位T),z数组为不同压力温度下所对应的粘度系数值,为实验数据,因为只有1atm~16atm,300K~40000K的数据,所以想在压力小于1atm时按1atm处理,大于16atm按16atm处理,温度小于300K按300K处理,大于40000K按40000K处理,slq3()是前面定义的一个插值函数,主要是这几个if,这样写没有问题吧,帮忙看看,

DEFINE_PROPERTY(SF6viscosity,cell,thread)
{   
    double PRE,TEM,VIS;
    double slq3(x,y,z,n,m,u,v);
    double x[5]={101325,202650,405300,810600,1621200};
    double y[30]={300,500,1000,1400,1700,2000,2300,2600,3000,3500,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,18000,20000,22000,26000,30000,35000,40000};
    double z[5][30]={{1.22E-5,1.97E-5,3.62E-5,4.57E-5,5.63E-5,6.92E-5,7.94E-5,9.46E-5,1.10E-4,1.23E-4,1.36E-4,1.74E-4,2.09E-4,2.56E-4,2.94E-4,3.32E-4,3.60E-4,3.83E-4,4.00E-4,3.95E-4,3.42E-4,2.54E-4,1.69E-4,6.78E-5,3.24E-5,2.17E-5,1.78E-5,1.62E-5,0.88E-5,0.60E-5},
                     {1.22E-5,1.97E-5,3.62E-5,4.57E-5,5.55E-5,6.90E-5,7.77E-5,9.18E-5,1.09E-4,1.22E-4,1.36E-4,1.74E-4,2.09E-4,2.56E-4,2.95E-4,3.33E-4,3.60E-4,3.86E-4,4.07E-4,4.19E-4,3.95E-4,3.25E-4,2.39E-4,1.08E-4,5.03E-5,3.05E-5,2.20E-5,2.10E-5,1.32E-5,0.81E-5},
                     {1.22E-5,1.97E-5,3.62E-5,4.57E-5,5.37E-5,6.79E-5,7.66E-5,8.87E-5,1.07E-4,1.22E-4,1.36E-4,1.74E-4,2.09E-4,2.56E-4,2.94E-4,3.34E-4,3.64E-4,3.89E-4,4.12E-4,4.33E-4,4.32E-4,3.89E-4,3.15E-4,1.65E-4,7.98E-5,4.56E-5,2.80E-5,2.62E-5,1.96E-5,1.15E-5},
                     {1.22E-5,1.97E-5,3.62E-5,4.56E-5,5.30E-5,6.61E-5,7.60E-5,8.60E-5,1.05E-4,1.22E-4,1.36E-4,1.74E-4,2.09E-4,2.56E-4,2.95E-4,3.34E-4,3.65E-4,3.90E-4,4.15E-4,4.41E-4,4.55E-4,4.37E-4,3.86E-4,2.38E-4,1.24E-4,6.96E-5,3.78E-5,3.27E-5,2.76E-5,1.73E-5},
                         {1.22E-5,1.97E-5,3.62E-5,4.56E-5,5.25E-5,6.38E-5,7.54E-5,8.41E-5,1.02E-4,1.21E-4,1.35E-4,1.74E-4,2.09E-4,2.56E-4,2.95E-4,3.34E-4,3.66E-4,3.92E-4,4.18E-4,4.46E-4,4.69E-4,4.70E-4,4.44E-4,3.23E-4,1.88E-4,1.08E-4,5.23E-5,4.19E-5,3.73E-5,2.59E-5}};
  PRE=C_P(cell,thread);
        if (PRE<101325)
         PRE=101325;
    else if (PRE>1621200)
         PRE=1621200;
    TEM=C_T(cell,thread);
     if (TEM<300)
         TEM=300;
    else if (TEM>40000)
         TEM=40000;
           VIS=slq3(x,y,z,5,30,PRE,TEM);
    return VIS;
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

周启林

新虫 (小有名气)

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