-
Notifications
You must be signed in to change notification settings - Fork 12
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
Account for phase changes in adiabatic reactions #63
Comments
Hi Ben, Thanks for posting this issue! Thermosteam reaction objects do not perform phase equilibrium (yet). You can perform phase equilibrium with just adding one line: import thermosteam as tmo
tmo.settings.set_thermo(["H2O", "O2", "H2"])
electrolysis = tmo.Reaction(
'H2O -> O2 + H2',
correct_atomic_balance=True,
reactant='H2O',
X=0.13,
)
feed = tmo.Stream(H2O=1, T=900+273.15, P=1e5, units='kg/s', phase='g')
electrolysis.adiabatic_reaction(feed)
feed.vle(H=feed.H, P=feed.P) # ADD THIS LINE!
feed.show() Output:
I'd be happy to add a note/warning on this in the documentation. It may be a good idea to add a phase equilibrium feature as an optional argument just like Stream objects, but it may take me a while due to:
I'll leave this issue open so that I can remember to get to it, |
Dear @yoelcortes,
It seems that thermosteam does currently not or incorrectly account for phase changes during adiabatic reactions. Using electrolysis of steam as an example:
Expected behavior
Water is liquid at 79°C and 1 bar. After the reaction,
feed
should be aMultiStream
with water in the liquid phase and oxygen and hydrogen in the gas phase.Current behavior
Water remains in gaseous state.
Similar issues
The issue is loosely related to #29 and #62.
The text was updated successfully, but these errors were encountered: