-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Steam Turbine with wet expansion #602
base: dev
Are you sure you want to change the base?
Conversation
…or superheated states
# Conflicts: # src/tespy/tools/fluid_properties/wrappers.py
Hello @tlmerbecks! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:
Comment last updated at 2025-01-26 15:19:14 UTC |
Good day Tristan, and nice to see your suggestions! I will have a closer look later today and give you feedback on the implementation. Best! |
hsat = h_mix_pQ(psat, 1, inl.fluid_data) | ||
|
||
return hout - hsat | ||
frac = brentq(find_sat, 1, 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This makes two expansion sections, right? The first one by finding the pressure, where the expansion enters the dome, then the second one for the rest: The first one applies dry isentropic efficiency, the second one with the correction term?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did some benchmark with brentq vs. newton algorithm: scipy
's brentq
is faster by ~factor 3. I will have to look into the fluid property module (and in all other places), where the newton is utilized and see if brentq
generally performs better :D.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, the "wetness" correction is only applied in the two-phase region, for single phase vapour no correction is applied.
So if the vapour is superheated, we first have to find the point where the expansion enters the vapour dome.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding Brentq, I performs particularly well if the solution is bracketed, or you know that the function is not necessarily computable for all conditions.
@fwitte I have looked through the changes and agree with the simplification of the residual and the introduction of the I'll have a look at the remaining tests that are still failing later. Is there anything else you would like to see added/implemented for this? |
General
With this PR I would like to submit a new turbine component, which accounts for wet expansion effects using the empirical Baumann correlation.
The expansion of saturated steam (e.g. geothermal or nuclear power applications) inevitably enters the vapour dome and two-phase effects lead to a reduction in the isentropic efficiency. The empirical Baumann rule effectively corrects the dry isentropic turbine efficiency with the average wetness across the turbine.
SteamTurbine
component. I chose to make this a separate component (inheriting fromTurbine
) to avoid confusion - though theSteamTurbine
behaves exactly like aTurbine
unless theeta_dry_s
attribute is setCoolPropWrapper
Q_ph
function so that it now returns a meaningful value forQ
when the fluid is single phase (i.e. 0.0 for liquid and 1.0 for vapour)Documentation
This is still work in progress... I was not quite sure what would be the mvp for this
Testing
This is still work in progress... I was thinking to shadow the testing for the regular
Turbine
componentComments and suggestions are welcome :)