咨询热线:0731-88808590
切换到宽版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 25514|回复: 19

waterpro7.0用IFC97公式计算区域2a出错

[复制链接]
发表于 2007-1-26 13:23:00 | 显示全部楼层 |阅读模式

问题出在uewasp97.cpp 中第1228行附近,计算区域2a的系数θ(π,η)时for循环中的 I<=43 应改为 I <=34 。

回复

使用道具 举报

发表于 2007-1-26 14:10:00 | 显示全部楼层

非常感谢!

因为我们现在是在免费维护WaterPro的源代码,我们现在所有的开发人员都在从事三维管道CAD/CAE一体化软件AutoPDMS的开发,所以我们需要那些对水蒸气性质计算公式了解很清楚的专家比如说您来帮助,与我们共同向广大热能工作者提供相关服务。希望您继续支持。

现在,希望您继续提供测试数据。

[此贴子已经被作者于2007-1-26 16:36:32编辑过]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-26 15:08:00 | 显示全部楼层

P=3. MPa, H=3000. KJ/KG

可参看IF97.pdf中第22页,公式22, table 20

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-26 15:15:00 | 显示全部楼层

P=3.MPa, H=3000.KJ/kg

可参见IF97.pdf第22页,公式22,表20。

很感谢贵公司提供了WaterPro的源代码。网上虽然还有其它的水蒸气性质计算软件,但基本上只是一个DLL,出错了也没有办法修改。希望WaterPro不断改进完善。

回复 支持 反对

使用道具 举报

发表于 2007-1-26 15:52:00 | 显示全部楼层

谢谢!看到了,确实错了。您很仔细。

如果您愿意,我们可以把您列入我们的开发历史和开放源代码维护者名单,这样,有问题的用户可以直接向您请教。您愿意的话可以向我们提供姓名/单位/电话/邮件地址等信息。

[此贴子已经被作者于2007-1-26 16:43:10编辑过]
回复 支持 反对

使用道具 举报

发表于 2007-6-19 05:25:00 | 显示全部楼层
ANZ
回复 支持 反对

使用道具 举报

发表于 2007-6-19 05:27:00 | 显示全部楼层
现在下载的改好了吗,我原来下载的一个,临界区算的都是错的。害苦我了!粗糙啊
回复 支持 反对

使用道具 举报

发表于 2007-6-19 17:03:00 | 显示全部楼层

您能指出数据吗?

我们这些VC++代码是根据中国最著名水蒸气性质计算专家的Delphi代码改写来的,如果有错误例子数据就比较好查错。您甚至可以向fordao网友那样,直接指出哪个变量错了,应该怎么改。我们最欢迎fordao那样的专家了,他真的给大家做出了很大贡献。

回复 支持 反对

使用道具 举报

发表于 2007-6-23 06:00:00 | 显示全部楼层

输入25~30MPa,390~410℃。算出的焓都是不对的。并且其它点,用杨宇的程序算,都和水蒸汽表的数字一样,用你们的算,总差那么一点点。不知道为啥。

回复 支持 反对

使用道具 举报

发表于 2007-6-23 06:12:00 | 显示全部楼层

例如:输入25或30,温度400,算出焓竟然都为2624.250501;应该为2578.59和2152.37 kJ/kg

输入30,420算出焓为2614.382744,也应该为2552.87

30,360算出1761.491047, 应该为1675

回复 支持 反对

使用道具 举报

发表于 2007-6-23 08:29:00 | 显示全部楼层
谢谢您的指正。我们尽快修改。改完了会公告大家重新下载。
回复 支持 反对

使用道具 举报

发表于 2007-6-30 12:09:00 | 显示全部楼层

niche你好:

临界区计算错误改好了。请下载使用。(智能手机mobile版本尚未更新)

欢迎多提宝贵意见。

回复 支持 反对

使用道具 举报

发表于 2007-7-7 19:17:00 | 显示全部楼层

谢啦

回复 支持 反对

使用道具 举报

匿名  发表于 2007-7-20 14:54:00

解决了就好!

我的delphi没有问题,怎么到C就出问题了!

delphi转换成C的时候出了问题,我估计可能整除的问题。

回复 支持 反对

使用道具

发表于 2007-7-20 18:39:00 | 显示全部楼层

比如下面函数才能得到与Delphi一致结果:

double PT2VReg3e(double Pressure ,double Temperature )
{
double Beta,Kese,X;
int IFor;
double a,b,c,d,e,f;

Beta=(Pressure-Pc_Water)/10;
Kese=(Temperature-Tc_Water);
X=0.0;
for(IFor=1;IFor<=41;IFor++)
{
a=NReg3ePT2V[IFor];
b=IReg3ePT2V[IFor];
c=JReg3ePT2V[IFor];
d=KReg3ePT2V[IFor];
e=-(Kese-3.727888*Beta)+0.005*Kese*Kese+0.02*Beta*Beta ;
f=pow(Beta,b)*pow(Kese,c)*pow(e, d/8);
X=X+a*f;
//X=X+NReg3ePT2V[IFor]*pow(Beta,IReg3ePT2V[IFor])*pow(Kese,JReg3ePT2V[IFor])*pow(-(Kese-3.727888*Beta)+0.005*Kese*Kese+0.02*Beta*Beta, KReg3ePT2V[IFor]/8);
}
return X+1/Dc_Water;
}

刚开始是下面这样,就不对,可能中间精度有丢失:

double PT2VReg3e(double Pressure ,double Temperature )
{
double Beta,Kese,X;
int IFor;
Beta=(Pressure-Pc_Water)/10;
Kese=(Temperature-Tc_Water);
X=0.0;
for(IFor=1;IFor<=41;IFor++)
{
X=X+NReg3ePT2V[IFor]*pow(Beta,IReg3ePT2V[IFor])*pow(Kese,JReg3ePT2V[IFor])*pow(-(Kese-3.727888*Beta)+0.005*Kese*Kese+0.02*Beta*Beta, KReg3ePT2V[IFor]/8);
}
return X+1/Dc_Water;
}

回复 支持 反对

使用道具 举报

发表于 2007-7-21 08:16:00 | 显示全部楼层

非常感谢杨工!

怎么C/C++习惯搞得跟Fortran一样。我记得好像Fortran就是这么做的,稍有不慎,就会丢失精度。

回复 支持 反对

使用道具 举报

发表于 2007-8-4 19:17:00 | 显示全部楼层
好像还是有错
回复 支持 反对

使用道具 举报

发表于 2007-8-4 19:18:00 | 显示全部楼层
怎么传图,可以看出用67算出来的和97算出的在临界区有一个地方差别很大
回复 支持 反对

使用道具 举报

发表于 2007-8-4 19:48:00 | 显示全部楼层

niche:

你给个临界区数据,我明天上午给你查一下。

回复 支持 反对

使用道具 举报

匿名  发表于 2007-8-6 10:20:00
[quote][/quote]输入25~30MPa,390~410℃。算出的焓都是不对的。并且其它点,用杨宇的程序算,都和水蒸汽表的数字一样,用你们的算,总差那么一点点。不知道为啥
回复 支持 反对

使用道具

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们

长沙优易软件开发有限公司(中文简称:优易软件,英文简称:UESOFT)是三维管道CAD/CAE一体化设计软件开发商,也是新一代三维工厂设计管理系统的开创者。公司开发的自主知识产权的管道应力分析软件AutoPSA居于中国大陆市场前2名。UESOFT于2000年10月23日经湖南省长沙市工商行政管理局核准登记设立。

联系我们

  • 地址: 中国湖南省长沙市高新区桐梓坡西路保利麓谷林语中心i区1栋718-725
  • 电话: 0731-88808590
  • Email: uesoft@163.com
© 2001-2021  Powered by Discuz! X3.4 永益科技
快速回复 返回顶部 返回列表