24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3011  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

popsino

新虫 (初入文坛)

[求助] FORTRAN调用NIST的REFPROP计算物性参数,程序只能成功调用一次,不知道哪里出了问题

大家好,目前做有机工质的超音速喷嘴设计,物性参数计算通过调用NIST的REFPROP实现,初始状态给定总温,总压,需要编一个子程序,基于等熵流动假设,给出一个速度V,程序可以计算静压、静温等其他参数, h=hs-0.5*velocity**2  ,s=ss,调用了 HSFLSH 语句,
call HSFLSH (h,s,z,t,p,D,Dl,Dv,x,y,q,e,cv,cp,w,ierr,herr),调用时第一次可以正确计算,但是第二次调用就计算结果有问题,参数传递也检查过几遍了,一直不知道是什么原因?若是手动查表的话,是可以查出结果的。请大神帮忙指点,可能是那部分的问题?谢谢了,新来的,只有这么多金币了。

X        Y        速度分量U        速度分量V        马赫数        合速度        流动角        静压        密度        静温
0.106        0        137.9        0        0.9998        137.9        0        46.1823        0.0193        293.2
0.1058        0.0526        137.9        0        0.3097        137.9        0        0        0        3094.2
0.1049        0.1053        138        0        0.3099        138        0        0        0        3094.2
0.1034        0.1579        138.1        0        0.3102        138.1        0        0        0        3094.2
0.1013        0.2105        138.3        0        0.3106        138.3        0        0        0        3094.2
0.0987        0.2632        138.5        0        0.3111        138.5        0        0        0        3094.2
0.0955        0.3158        138.8        0        0.3118        138.8        0        0        0        3094.2

手动查表结果:

         X        Y        合速度        静焓(kJ/kg)        熵(kJ/kg-K)        静压(MPa)        密度(kg/m?)        静温(K)        音速(m/s)
1        0.106        0        137.9        422.22         1.8197        0.046041        2.5837        293.15        137.88
2        0.1058        0.0526        137.9        422.22         1.8197        0.046041        2.5837        293.15        137.88
3        0.1049        0.1053        138        422.12         1.8197        0.045775        2.5697        293.02        137.86
4        0.1034        0.1579        138.1        422.02         1.8197        0.045521        2.5563        292.89        137.84
5        0.1013        0.2105        138.3        421.81         1.8197        0.044988        2.5282        292.63        137.8
6        0.0987        0.2632        138.5        421.60         1.8197        0.04446        2.5004        292.37        137.76
7        0.0955        0.3158        138.8        421.29         1.8197        0.043691        2.4599        291.98        137.7

SUBROUTINE THERMO2 (velocity,hs,ss,pressure,density,temperature,sonicspeed,mach)
      implicit double precision (a-h,o-z)
      implicit integer (i-k,m,n)
      parameter (ncmax=20)   !max number of components in mixture
      dimension x(ncmax),xliq(ncmax),xvap(ncmax),f(ncmax)
      character hrf*3, herr*255
      character*255 hf(ncmax),hfmix
      REAL,INTENT(IN):: velocity
      REAL,INTENT(IN):: hs
      REAL,INTENT(IN):: ss
      REAL,INTENT(OUT):ressure
      REAL,INTENT(OUT):ensity
      REAL,INTENT(OUT)::temperature
      REAL,INTENT(OUT)::sonicspeed
      REAL,INTENT(OUT)::mach
黄色底纹为初始化固定格式
      i=1
      hf(1)=\'R245FA.fld\'
      hfmix=\'hmx.bnc\'
      hrf=\'DEF\'
      call SETUP (i,hf,hfmix,hrf,ierr,herr)
      if (ierr.ne.0) write (*,*) herr
以下部分为主要计算过程,只使用了一个函数HSFLSH ,
      h=hs-0.5*velocity**2
      s=ss
      call HSFLSH (h,s,z,t,p,D,Dl,Dv,x,y,q,e,cv,cp,w,ierr,herr)
      temperature  = t
      sonicspeed   = w
      mach         = velocity/sonicspeed
      pressure     = p
      Density      = D
      RETURN
      END
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzezc

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by woaiwojia456 at 2016-04-22 10:44:54
LZ,这个函数是实现什么的?

同问怎么在C++里面调用refprop呀,大佬你现在回了嘛
6楼2018-10-12 10:11:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

joywataru

新虫 (初入文坛)

谢谢,新人看着有用!
2楼2015-07-21 16:40:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woaiwojia456

新虫 (初入文坛)

CALL TPFLSH (T,P,z,D,Dl,Dv,x,y,q,e,h,S,cv,cp,w,ierr,herr)? ? ? ??

发自小木虫Android客户端
3楼2016-04-22 10:43:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woaiwojia456

新虫 (初入文坛)

LZ,这个函数是实现什么的?

发自小木虫Android客户端
4楼2016-04-22 10:44:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见