Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Steam Properties algebraic approximation 1

Status
Not open for further replies.

crissmyrn

Mechanical
Apr 5, 2014
6
0
0
GR
Hi guys,

Suppose that someone wants to model a steam boiler but in its dynamic form. He will have to write down the differential equations energy balances etc and the algebraic supporting formulas steam properties and others. It is the steam tables that I want to ask about. There are several table lookup tools but these are functions and we cant have them in our list of equations that will be solved by the solver. Am I right? We need some algebraic approximations.
I have seen around in the literature that there can be an approximation with a quadratic function see drum boiler dynamics from Astrom and Bell but they dont provide the equations. Has anyone any idea how this is done?

Thanks guys,
Warm regards,
Chris
 
Replies continue below

Recommended for you

Hi Chris,

I am not sure if I understand you properly. Give more information about how do you want to model the boiler - I mean, do you want to develop specific software with implemented or wrapped steam tables, or you want to compute it in a software like Mathcad. I have some experience with digital steam tables, so maybe I could give you an advice, but clear the issue.

Piotr
 
" There are several table lookup tools but these are functions and we cant have them in our list of equations"

Why not? Is this for school?

TTFN
faq731-376
7ofakss

Need help writing a question or understanding a reply? forum1529
 
Hi Guys,
Thank you for your answers. I tried avoid been too specific and complicate things. I am modelling the boiler in MATLAB which will be a DAE system (differential algebraic). I will have to write the differential equations in the form dydt=f(...) and the algebraic ones in the form 0=f(). But as you might expect I will need to use the partial derivative of enthalpy over pressure (dhdp) and other similar partial derivatives that are a product of steam tables. I will insert the partial derivatives in the form (h(p,t)-h(p+e,t)/e). Hence I need a calculation for the enthalpy as a function of pressure to be inside my system of equation since the solver will iterate between various values of the pressure to find the solution (pressure is my dynamic variable). The IAPWS_IF97 formulas are not very handy for such a purpose (there is a big sum operator from i=1 to 43). That's why I am looking sth like h(p,T)=f(...) that can be part of my supportive algebraic equations.

answer for IRstuff: Hi, its for a master thesis. See above for the problem formulation.

Thank you for your time.
Best regards,
Chris
 
Try XSteam for Matlab, the library with implemented iapws if97 model of water and steam tables. There are some other steam tables for Matlab, but XSteam are very robust and work very well. You should be able to find arguments values (like p or T) using numerical solver. I deal with this tables in Mathcad doing this and there was no problem for the solver. Let me (us) know if this resolved your problem.

Piotr
 
There a couple of steam open source codes on Sourceforge

TTFN
faq731-376
7ofakss

Need help writing a question or understanding a reply? forum1529
 
Doesn't matter, source code on Sourceforge is pretty much what one would use for Matlab. Why is this such a bit problem?

TTFN
faq731-376
7ofakss

Need help writing a question or understanding a reply? forum1529
 
Do a search of the periodical Chemical Engineering. Several years ago I save a copy that showed formulae for several properties of steam. I'll have to dig it up and if I find it, I'll post the date of the article.
 
It seems that he do not need to look inside the codes that are "pretty much what one would use for Matlab" or looking into the formulae of some steam model. Why would he if there is ready to use library for Matlab? Waste of time. I know something about that because once I implemented IF97 steam tables in Mathcad, and year after that I figured out that somebody done it before and I can buy or download such a library.
 
Hi Guys,
Thank you for your time. I have seen the IF97 formulation and the other libraries suggested above. However, I think that programming the IF97 formulation to be part of a system of equations is not very handy. So here is what I did.

I needed to express the change in the enthalpy of water phase for a small change in pressure at saturation temperature, ie dhw/dp (partial deriv-- keep temperature at saturation temperature).

So in a separate table outside my system of equations I used IF97 database to produce a vector with all the saturation temperatures (ie. for pressure from 100bar to 145 bar with 0.1 bar step and for Tsat(P)).

Then I used this saturation temperature vector with a pressure vector (100 to 145 bar with 0.1bar step) to get a vector of the enthalpy (note that from the temperature input I subtracted a small value from the temperature in order to ensure I am in the water phase).

Then I did a curve fit of the resulting enthalpy vector. I ended up with a polynomial which is hw(p)=(a1*p^3)+(a2*p^2)+(a3*p)+p4 [the curve fit produced the a values for me].

Now I can use this expression in the solver that will attack my Differential Algebraic System of Equations. The maximum deviation of the above formulation from the actual IF97 tables is somewhat 40kJ. I could use a fit of a greater order (ie 4th, 5th) but this would do my equation system very stiff and difficult to solve. Now I can also approximate the needed derivative as dhw/dp=(h(p)-h(p+sth))/sth.

So this is sth that works. What do you think? Is it valid? In other words, what I wanted to do was to avoid a lengthy and resource demanding calculation of the enthalpy from the IF97 formulation which as I told you is very nasty to program it. Let me know your comments.
 
Hi IRstuff,
For this particular calculation I only need to express (1)the change in enthalpy for a small change in pressure - and (2) the change of saturation temperature with pressure. It is a partial derivative (dh/dp) so I will keep temperature unchanged. I will still have to try out sth for other uses throughout the model. I will keep you updated with my findings.
 
in Matlab and Mathcad for Steam properties such as dH/dP , dH/dT , dS/dP , dS/dT , dV/dP , dV/dT ....
I utilize IAPWS95 model and a process library (Prode Properties),
IAPWS95 is the most accurate but it is complex to code,
you may find more easy IAPWS97 or use an external code as I do.
 
Do not despair because the periodicals from Chemical Engineering, albeit, old by now and probably updated, featured the following:
1) Practical Formulas- Calculate Water Properties- Part 1-September 1991 by David S. Dickey
2) Practical Formulas- Calculate Water Properties- Part 2-November 1991 by David S Dickey
3) Formulas Estimate Data for Dry Saturated Steam- December 1984 by Terry A. Stoa
These articles deals will the properties of water that one would have studied in thermo.
 
If you know the limited regimes in which you need reasonable equations, simple curve fitting is often useful. The real steam functions are very cumbersome to manipulate, but very simple functions can be used over limited intervals. For example, the saturation temperature (F) = 117.17 * ( PSIA )^.22322 This function works well enough for problems in the range of 20 PSIA to 400 PSIA. If your problem is another P-T Regime, then easy to work up the function with a few terms. Same goes for all the other thermodynamic properties, provided your problem does not traverse too far of a range.
 
Status
Not open for further replies.
Back
Top