Skip to content

Account for phase changes in adiabatic reactions #63

@BenPortner

Description

@BenPortner

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:

import thermosteam as tmo

tmo.settings.set_thermo(["H2O", "O2", "H2"])
electrolysis = tmo.Reaction(
    'H2O -> O2 + H2', # Reaction
    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') # H2O is gaseous here
electrolysis.adiabatic_reaction(feed)
feed.show() # H2O should be liquid here

"""
Stream: s2
 phase: 'g', T: 79.243 degC, P: 1 bar
 flow (kg/s): H2O  0.87
              O2   0.115
              H2   0.0145
"""

Expected behavior

Water is liquid at 79°C and 1 bar. After the reaction, feed should be a MultiStream 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions