Springen naar inhoud

Idealair en matlab


  • Log in om te kunnen reageren

#1

Erik92

    Erik92


  • 0 - 25 berichten
  • 10 berichten
  • Gebruiker

Geplaatst op 11 mei 2011 - 18:59

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?

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Marko

    Marko


  • >5k berichten
  • 8937 berichten
  • VIP

Geplaatst op 11 mei 2011 - 19:45

Als je deze file bedoelt:

http://www.mathworks...eexchange/25030

Dan is de oplossing om de eerste regel

function IdealAir(xi,prop1,prop2,unit)

te vervangen door

function X=(xi,prop1,prop2,unit)

en de drie-na-laatste regel

IdealAir=interp1(x,y,xi);

te vervangen door

X=interp1(x,y,xi);

Cetero censeo Senseo non esse bibendum


#3

Erik92

    Erik92


  • 0 - 25 berichten
  • 10 berichten
  • Gebruiker

Geplaatst op 11 mei 2011 - 20:10

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.

#4

Marko

    Marko


  • >5k berichten
  • 8937 berichten
  • VIP

Geplaatst op 11 mei 2011 - 21:04

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

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


#5

Erik92

    Erik92


  • 0 - 25 berichten
  • 10 berichten
  • Gebruiker

Geplaatst op 11 mei 2011 - 21:21

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?

Veranderd door Erik92, 11 mei 2011 - 21:22


#6

Drieske

    Drieske


  • >5k berichten
  • 10217 berichten
  • Moderator

Geplaatst op 11 mei 2011 - 21:27

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.

#7

Erik92

    Erik92


  • 0 - 25 berichten
  • 10 berichten
  • Gebruiker

Geplaatst op 11 mei 2011 - 21:33

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

#8

Marko

    Marko


  • >5k berichten
  • 8937 berichten
  • VIP

Geplaatst op 11 mei 2011 - 22:02

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


#9

Erik92

    Erik92


  • 0 - 25 berichten
  • 10 berichten
  • Gebruiker

Geplaatst op 12 mei 2011 - 07:33

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?

#10

Fred F.

    Fred F.


  • >1k berichten
  • 4168 berichten
  • Pluimdrager

Geplaatst op 12 mei 2011 - 08:33

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.

#11

Erik92

    Erik92


  • 0 - 25 berichten
  • 10 berichten
  • Gebruiker

Geplaatst op 12 mei 2011 - 08:57

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?

#12

Fred F.

    Fred F.


  • >1k berichten
  • 4168 berichten
  • Pluimdrager

Geplaatst op 12 mei 2011 - 09:14

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.

#13

Erik92

    Erik92


  • 0 - 25 berichten
  • 10 berichten
  • Gebruiker

Geplaatst op 12 mei 2011 - 11:03

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.

#14

Fred F.

    Fred F.


  • >1k berichten
  • 4168 berichten
  • Pluimdrager

Geplaatst op 12 mei 2011 - 11:57

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

Bijgevoegde Bestanden

Hydrogen economy is a Hype.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures