Idealair en matlab

Moderator: physicalattraction

Reageer
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?

Gebruikersavatar
Berichten: 10.564

Re: Idealair en matlab

Als je deze file bedoelt:

http://www.mathworks.com/matlabcentral/fileexchange/25030

Dan is de oplossing om de eerste regel

Code: Selecteer alles

function IdealAir(xi,prop1,prop2,unit)
te vervangen door

Code: Selecteer alles

function X=(xi,prop1,prop2,unit)
en de drie-na-laatste regel

Code: Selecteer alles

IdealAir=interp1(x,y,xi);
te vervangen door

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.

Gebruikersavatar
Berichten: 10.564

Re: Idealair en matlab

Stom. Ik maakte een typfout. Dit moet het zijn.

Code: Selecteer alles

function X=IdealAir(xi,prop1,prop2,unit)
Maar verder moet je natuurlijk nooit zomaar precies doen wat er gezegd wordt. Daar komt narigheid van.
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?

Gebruikersavatar
Berichten: 10.179

Re: Idealair en matlab

Ik heb niet alles gelezen, maar
...als ik het commando X=IdealAir(2.5,'so','h')
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', ...
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

Gebruikersavatar
Berichten: 10.564

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.
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?

Gebruikersavatar
Pluimdrager
Berichten: 4.167

Re: Idealair en matlab

De beschrijving van IdealAir stelt:
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)
Ideal Gas, of Ideal Air betekent dat alle eigenschappen gelden voor een druk van 0 bar.

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?

Gebruikersavatar
Pluimdrager
Berichten: 4.167

Re: Idealair en matlab

h12 = 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.
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 = s12

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.

Gebruikersavatar
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
Bijlagen
Eq_6.43_and_6.44_Moran_Shapiro_5th_Ed.pdf
(74.92 KiB) 264 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.

Reageer