Idealair en matlab
Moderator: physicalattraction
-
- Berichten: 10
Idealair en matlab
We zijn bezig een energiecentrale te ontwerpen. Deze bestaat uit een gascyclus (Brayton) en een stoomcyclus (Rankine).
De enthalpiewaarden in de stoomcyclus kunnen we vinden met behulp van xsteam en de overige kunnen we daarmee berekenen. Nu wil ik graag hetzelfde doen voor de gascyclus en op school werd ons aangeraden idealair te gebruiken.
Als ik de code IdealAir(2.5,'so',h') vind hij de h waarde bij een entropie van 2.5. Dit geeft hij als antwoord h=.....
Nu wil ik graag aan dit antwoord een h waarde met een subscript toevoegen omdat we meerdere waardes nodig hebben om verder te rekenen dus dan voer ik bijv h1=IdealAir(2.5,'so',h') in. Nu geeft hij echter een foutmelding. Met de code IdealAir(2.5,'so',h') geeft hij mij alleen een antwoord maar ik kan dit niet gebruiken om verder te rekenen. Doe ik iets fout of zit het programma zo in elkaar? Welk andere programma zou ik kunnen gebruiken om de enthalpie waardes te kunnen vinden afhankelijk van verschillende variabelen?
De enthalpiewaarden in de stoomcyclus kunnen we vinden met behulp van xsteam en de overige kunnen we daarmee berekenen. Nu wil ik graag hetzelfde doen voor de gascyclus en op school werd ons aangeraden idealair te gebruiken.
Als ik de code IdealAir(2.5,'so',h') vind hij de h waarde bij een entropie van 2.5. Dit geeft hij als antwoord h=.....
Nu wil ik graag aan dit antwoord een h waarde met een subscript toevoegen omdat we meerdere waardes nodig hebben om verder te rekenen dus dan voer ik bijv h1=IdealAir(2.5,'so',h') in. Nu geeft hij echter een foutmelding. Met de code IdealAir(2.5,'so',h') geeft hij mij alleen een antwoord maar ik kan dit niet gebruiken om verder te rekenen. Doe ik iets fout of zit het programma zo in elkaar? Welk andere programma zou ik kunnen gebruiken om de enthalpie waardes te kunnen vinden afhankelijk van verschillende variabelen?
- Berichten: 10.563
Re: Idealair en matlab
Als je deze file bedoelt:
http://www.mathworks.com/matlabcentral/fileexchange/25030
Dan is de oplossing om de eerste regel
te vervangen door
en de drie-na-laatste regel
te vervangen door
http://www.mathworks.com/matlabcentral/fileexchange/25030
Dan is de oplossing om de eerste regel
Code: Selecteer alles
function IdealAir(xi,prop1,prop2,unit)
Code: Selecteer alles
function X=(xi,prop1,prop2,unit)
Code: Selecteer alles
IdealAir=interp1(x,y,xi);
Code: Selecteer alles
X=interp1(x,y,xi);
Cetero censeo Senseo non esse bibendum
-
- Berichten: 10
Re: Idealair en matlab
zodra ik het m-file aanpas krijg ik deze foutmelding:
??? Error: File: IdealAir.m Line: 1
Column: 12
Unbalanced or unexpected parenthesis or
bracket.
Terwijl ik precies doe wat er gezegd wordt.
??? Error: File: IdealAir.m Line: 1
Column: 12
Unbalanced or unexpected parenthesis or
bracket.
Terwijl ik precies doe wat er gezegd wordt.
- Berichten: 10.563
Re: Idealair en matlab
Stom. Ik maakte een typfout. Dit moet het zijn.
Maar verder moet je natuurlijk nooit zomaar precies doen wat er gezegd wordt. Daar komt narigheid van.
Code: Selecteer alles
function X=IdealAir(xi,prop1,prop2,unit)
Cetero censeo Senseo non esse bibendum
-
- Berichten: 10
Re: Idealair en matlab
Ik zit in het 1e jaar dus ben druk lerende met matlab maar dit is me nog iets te hoog gegrepen.
Nu krijg ik echter de volgende melding als ik het commando X=IdealAir(2.5,'so','h')
??? Input argument "prop1" is
undefined.
Error in ==> IdealAir at 58
if strcmp(prop1,'T')==1
Error in ==> IdealAir at 108
disp([prop2,' =
',num2str(IdealAir)]);
Ik snap niet waarom hij nu zegt dat propertie 1 undefined is. Ik zeg toch gewoon dat de entropy 2.5 is.
Hoe kan deze dan undefined zijn?
Nu krijg ik echter de volgende melding als ik het commando X=IdealAir(2.5,'so','h')
??? Input argument "prop1" is
undefined.
Error in ==> IdealAir at 58
if strcmp(prop1,'T')==1
Error in ==> IdealAir at 108
disp([prop2,' =
',num2str(IdealAir)]);
Ik snap niet waarom hij nu zegt dat propertie 1 undefined is. Ik zeg toch gewoon dat de entropy 2.5 is.
Hoe kan deze dan undefined zijn?
- Berichten: 10.179
Re: Idealair en matlab
Ik heb niet alles gelezen, maar
Je eerste argument in IdealAir is niet prop1, maar xi. Kijk maar in de posts hierboven (of in je m-file). Dus heb jij nu: xi = 2.5, prop1 = 'so', ......als ik het commando X=IdealAir(2.5,'so','h')
Zoek je graag naar het meest interessante wetenschapsnieuws? Wij zoeken nog een vrijwilliger voor ons nieuwspostteam.
-
- Berichten: 10
Re: Idealair en matlab
Ja xi is de waarde van prop1 waarbij je de waarde van prop2 wilt vinden.
Dus zoals ik het nu heb wil ik de enthalpy waarde vinden als de entropy 2.5 is.
Hij doet het!!!
disp([prop2,' = ',num2str(IdealAir)]); deze moest nog veranderd worden in disp([prop2,' = ',num2str(X)]);
Bedankt voor de hulp
Dus zoals ik het nu heb wil ik de enthalpy waarde vinden als de entropy 2.5 is.
Hij doet het!!!
disp([prop2,' = ',num2str(IdealAir)]); deze moest nog veranderd worden in disp([prop2,' = ',num2str(X)]);
Bedankt voor de hulp
- Berichten: 10.563
Re: Idealair en matlab
Je zou die laatste regel ook helemaal weg kunnen laten. Als je nu typt
H=IdealAir(..........)
dan komt de output in de variabele H te staan. Daar kun je daarna mee doen wat je wil.
H=IdealAir(..........)
dan komt de output in de variabele H te staan. Daar kun je daarna mee doen wat je wil.
Cetero censeo Senseo non esse bibendum
-
- Berichten: 10
Re: Idealair en matlab
De m-file van idealair werkt nu. Ik heb echter nog wel een probleem. Ik heb het volgende stukje geprogrameerd:
Patmos = 100; %kpa atmosferische druk
compratio = 8; % compressie ratio
Pmaxtur = compratio*Patmos; % maximale druk voor de turbine
Tmaxtur = 1300; % K maximale temperatuur
Tomg = 300; % K omgevingstemperatuur
Tuit = 450; % K uitlaat temperatuur
ise= 0.8; % isentrope efficiency
h12 = IdealAir(Tomg,'T','h')
s12 = IdealAir(Tomg,'T','so')
s13s = s12
h13s = IdealAir(s13s,'so','h')
h13a = ((h13s-h12)/ise)+h12
h14 = IdealAir(Tmaxtur,'T','h')
s14 = IdealAir(h14,'h','so')
s15s = s14
h15s = IdealAir(s15s,'so','h')
h15a = h14-(ise*(h14-h15s))
h16 = IdealAir(Tuit,'T','h')
Nu vindt hij h waardes voor h12 en h13s maar deze zijn echter gelijk aan elkaar. h12 is de ingaande stroom in de compressor en h13 de uitgaande stroom van de compressor naar de verbrandingskamer. Dit probleem treedt ook op bij h14 en h15s waarbij h14 de uitgaande stroom van de verbrandingskamer naar de turbine is en h15s de uitgaande stroom van de turbine naar een warmtewisselaar. Waar zit de fout?
Patmos = 100; %kpa atmosferische druk
compratio = 8; % compressie ratio
Pmaxtur = compratio*Patmos; % maximale druk voor de turbine
Tmaxtur = 1300; % K maximale temperatuur
Tomg = 300; % K omgevingstemperatuur
Tuit = 450; % K uitlaat temperatuur
ise= 0.8; % isentrope efficiency
h12 = IdealAir(Tomg,'T','h')
s12 = IdealAir(Tomg,'T','so')
s13s = s12
h13s = IdealAir(s13s,'so','h')
h13a = ((h13s-h12)/ise)+h12
h14 = IdealAir(Tmaxtur,'T','h')
s14 = IdealAir(h14,'h','so')
s15s = s14
h15s = IdealAir(s15s,'so','h')
h15a = h14-(ise*(h14-h15s))
h16 = IdealAir(Tuit,'T','h')
Nu vindt hij h waardes voor h12 en h13s maar deze zijn echter gelijk aan elkaar. h12 is de ingaande stroom in de compressor en h13 de uitgaande stroom van de compressor naar de verbrandingskamer. Dit probleem treedt ook op bij h14 en h15s waarbij h14 de uitgaande stroom van de verbrandingskamer naar de turbine is en h15s de uitgaande stroom van de turbine naar een warmtewisselaar. Waar zit de fout?
- Pluimdrager
- Berichten: 4.167
Re: Idealair en matlab
De beschrijving van IdealAir stelt:
Kortom: in de IdealAir functie is géén drukafhankelijkheid voor de enthalpie h en entropie s.
Dat maakt deze functie dus ongeschikt voor het doorrekenen van een compressor of turbine.
Ideal Gas, of Ideal Air betekent dat alle eigenschappen gelden voor een druk van 0 bar.This program interpolates air properties following the Ideal Gas Law from the gas table A22 and A22e in the textbook Fundamentals of Engineering Thermodynamics by Moran, Shapiro (6th edition)
Kortom: in de IdealAir functie is géén drukafhankelijkheid voor de enthalpie h en entropie s.
Dat maakt deze functie dus ongeschikt voor het doorrekenen van een compressor of turbine.
Hydrogen economy is a Hype.
-
- Berichten: 10
Re: Idealair en matlab
Betekent dit dan dat ik de functie idealair helemaal niet kan gebruiken voor mijn systeem? Ik kan de waardes toch vinden als functie van de temperatuur en entropy?
- Pluimdrager
- Berichten: 4.167
Re: Idealair en matlab
Dat bedoelde ik, voor een ideal gas hoort bij een gegeven T een vaste h en een vaste s en dus ook omgekeerd want je stelt immers dat s13s = s12h12 = IdealAir(Tomg,'T','h')
s12 = IdealAir(Tomg,'T','so')
s13s = s12
h13s = IdealAir(s13s,'so','h')
Nu vindt hij h waardes voor h12 en h13s maar deze zijn echter gelijk aan elkaar.
Ik heb inmiddels een Moran&Shapiro bij de hand dus ik kan die tabel A22 nu lezen.
Ik zie nu dat je die IdealAir functie toch kunt gebruiken maar dan moet je werken met pr en vr.
Heb je zelf een Moran&Shapiro bij de hand? Zo niet dan zal ik een paar paginas uploaden.
Hydrogen economy is a Hype.
-
- Berichten: 10
Re: Idealair en matlab
Ik heb zelf Moran&Shapiro niet bij de hand. Dus dan zou ik moeten gaan werken met de relatieve druk en het relatieve volume?
compratio = 9; %compressie ratio
Tmaxtur = 1300; %K maximale temperatuur
Tuit = 373; %K uitlaat temperatuur
Patmos = 100; %kpa atmosferische druk
Pmaxtur = compratio*Patmos; % maximale druk voor de turbine
Tomg = 300; % K omgevingstemperatuur
k1 = 1.4;
T13s = Tomg*((Pmaxtur/Patmos)^((k1-1)/k1));
h12 = IdealAir(Tomg,'T','h');
s12 = IdealAir(Tomg,'T','so');
s13s = s12;
h13s = IdealAir(T13s,'T','h');
h13a = ((h13s-h12)/ise)+h12;
s13 = IdealAir(h13a,'h','so');
h14 = IdealAir(Tmaxtur,'T','h');
s14 = IdealAir(h14,'h','so');
k2 = 1.3;
T15s = Tmaxtur*((Patmos/Pmaxtur)^((k2-1)/k2));
s15s = s14;
h15s = IdealAir(T15s,'T','h');
h15a = h14-(ise*(h14-h15s));
s15 = IdealAir(h15a,'h','so');
h16 = IdealAir(Tuit,'T','h');
s16 = IdealAir(h16,'h','so');
zo heb ik het nu gedaan en krijg ik er wel waardes uit. Ik denk alleen dat het niet heel nauwkeurig is aangezien je de k nodig hebt voor de temperatuur en deze niet constant is.
compratio = 9; %compressie ratio
Tmaxtur = 1300; %K maximale temperatuur
Tuit = 373; %K uitlaat temperatuur
Patmos = 100; %kpa atmosferische druk
Pmaxtur = compratio*Patmos; % maximale druk voor de turbine
Tomg = 300; % K omgevingstemperatuur
k1 = 1.4;
T13s = Tomg*((Pmaxtur/Patmos)^((k1-1)/k1));
h12 = IdealAir(Tomg,'T','h');
s12 = IdealAir(Tomg,'T','so');
s13s = s12;
h13s = IdealAir(T13s,'T','h');
h13a = ((h13s-h12)/ise)+h12;
s13 = IdealAir(h13a,'h','so');
h14 = IdealAir(Tmaxtur,'T','h');
s14 = IdealAir(h14,'h','so');
k2 = 1.3;
T15s = Tmaxtur*((Patmos/Pmaxtur)^((k2-1)/k2));
s15s = s14;
h15s = IdealAir(T15s,'T','h');
h15a = h14-(ise*(h14-h15s));
s15 = IdealAir(h15a,'h','so');
h16 = IdealAir(Tuit,'T','h');
s16 = IdealAir(h16,'h','so');
zo heb ik het nu gedaan en krijg ik er wel waardes uit. Ik denk alleen dat het niet heel nauwkeurig is aangezien je de k nodig hebt voor de temperatuur en deze niet constant is.
- Pluimdrager
- Berichten: 4.167
Re: Idealair en matlab
Ik bedoelde de 'pr' property in de IdealAir functie. Dat is overigens niet de gereduceerde druk (relative pressure) ofschoon IdealAir dat wel suggereert.
Ik upload hieronder tabel A-22 en een paar paginas met vergelijkingen 6.21 en ook 6.43 en 6.44 die je nodig hebt om te begrijpen wat in Moran&Shapiro met pr bedoeld wordt.
Bijvoorbeeld:
stel je wilt lucht van T1 = 290 K isentropisch (Δs = 0) comprimeren van p1 = 1 bar naar p2 = 10.28 bar, dan is pr1 = 1.2311 (tabel A-22)
dan volgt uit vergelijking 6.43 dat pr2 = pr1*(p2/p1) = 12.66
en dan volgt daarna uit tabel A-22 bij die pr dat T2 = 560 K
Dit kan overigens ook met Poisson, zoals jij blijkbaar nu probeert.
Bij de gemiddelde temperatuur van 290 en 560 K geldt dat voor lucht k = 1.393
dus dan is T2 = T1 * (p2/p1)(k-1)/k = 560 K
Ik upload hieronder tabel A-22 en een paar paginas met vergelijkingen 6.21 en ook 6.43 en 6.44 die je nodig hebt om te begrijpen wat in Moran&Shapiro met pr bedoeld wordt.
Bijvoorbeeld:
stel je wilt lucht van T1 = 290 K isentropisch (Δs = 0) comprimeren van p1 = 1 bar naar p2 = 10.28 bar, dan is pr1 = 1.2311 (tabel A-22)
dan volgt uit vergelijking 6.43 dat pr2 = pr1*(p2/p1) = 12.66
en dan volgt daarna uit tabel A-22 bij die pr dat T2 = 560 K
Dit kan overigens ook met Poisson, zoals jij blijkbaar nu probeert.
Bij de gemiddelde temperatuur van 290 en 560 K geldt dat voor lucht k = 1.393
dus dan is T2 = T1 * (p2/p1)(k-1)/k = 560 K
- Bijlagen
-
- Eq_6.43_and_6.44_Moran_Shapiro_5th_Ed.pdf
- (74.92 KiB) 263 keer gedownload
-
- Eq_6.21_Moran_Shapiro_5th_Ed.pdf
- (61.72 KiB) 217 keer gedownload
-
- Table_A_22_Moran_Shapiro_5th_Ed.pdf
- (41.69 KiB) 115 keer gedownload
Hydrogen economy is a Hype.