Problem with Matlab 2019b to access REFPROP10 trought Python 3.7.

조회 수: 5 (최근 30일)
Mauro Michele Campagna
Mauro Michele Campagna 2020년 3월 18일
I am using Matlab 2019b to access REFPROP10 trought Python 3.7 and I get the following message:
"Unable to resolve the name py.ctREFPROP.ctREFPROP.REFPROPFunctionLibrary".
The script I am using is the following:
close all
clear all
clc
%INPUT section start=========================================
gas='ARGON';
vapor='WATER';
yv=0.001;
T1=300; %K
p1=10e5; %Pa
p2=5.5e5; %Pa
%INPUT section end===========================================
yg=1-yv;
y=[yg,yv];
mix=sprintf("%s;%s",gas,vapor);
RP = py.ctREFPROP.ctREFPROP.REFPROPFunctionLibrary('C:\Program Files (x86)\REFPROP');
%r = RP.REFPROPdll(mix, "PTV","S",RP.MOLAR_BASE_SI,int8(0),int8(0),p1, T1,y);
UNITS = RP.GETENUMdll(int8(0),"MOLAR BASE SI").iEnum;
r = RP.REFPROPdll(mix, "PT","S",UNITS,int8(0),int8(0.),p1, T1,y);
o = double(r.Output);
s1=o(1); %(J/kg)/K
s2=s1;
r = RP.REFPROPdll(mix, "PS","T",UNITS,int8(0),int8(0),p2, s2,y);
o = double(r.Output);
T2=o(1); %K
From the NIST assistance, I have been answerd that the problem is in Matlab, since the following script, using python directly, works:
from ctREFPROP.ctREFPROP import REFPROPFunctionLibrary
gas='ARGON'
vapor='WATER'
yv=0.001
T1=300 #K
p1=10e5 #Pa
p2=5.5e5 #Pa
yg=1-yv
y=[yg,yv]
mix = gas+';'+vapor
root = 'D:/Program Files (x86)/REFPROP'
RP = REFPROPFunctionLibrary(root)
RP.SETPATHdll(root)
r = RP.REFPROPdll(mix, "PT","S",RP.MOLAR_BASE_SI,0,0,p1, T1, y);
print(r.Output[0])
s2=r.Output[0];
r = RP.REFPROPdll(mix, "PS","T",RP.MOLAR_BASE_SI,0,0,p2, s2, y);
print(r.Output[0])
Is there someone that can help me with this issue?
Thanks

답변 (0개)

카테고리

Help CenterFile Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기

태그

제품


릴리스

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by