ParallelReaction

class thermosteam.reaction.ParallelReaction(reactions)[source]

Create a ParallelReaction object from Reaction objects. When called, it returns the change in material due to all parallel reactions.

Parameters

reactions (Iterable[Reaction]) –

force_reaction(material)[source]

React material ignoring feasibility checks.

adiabatic_reaction(stream)[source]

React stream material adiabatically, accounting for the change in enthalpy due to the heat of reaction.

Examples

Note how the stream temperature changed after the reaction due to the heat of reaction:

>>> import thermosteam as tmo
>>> import thermosteam.reaction as rxn
>>> chemicals = tmo.Chemicals(['H2', 'CH4', 'O2', 'CO2', 'H2O'])
>>> tmo.settings.set_thermo(chemicals)
>>> reaction = rxn.ParallelReaction([
...    #            Reaction definition          Reactant    Conversion
...    rxn.Reaction('2H2 + O2 -> 2H2O',        reactant='H2',  X=0.7),
...    rxn.Reaction('CH4 + O2 -> CO2 + 2H2O',  reactant='CH4', X=0.1)
...    ])
>>> s1 = tmo.Stream('s1', H2=10, CH4=5, O2=100, H2O=1000)
>>> s2 = tmo.Stream('s2')
>>> s2.copy_like(s1) # s1 and s2 are the same
>>> s1.show() # Before reaction
Stream: s1
 phase: 'l', T: 298.15 K, P: 101325 Pa
 flow (kmol/hr): H2   10
                 CH4  5
                 O2   100
                 H2O  1e+03
>>> reaction.show()
ParallelReaction (by mol):
index  stoichiometry            reactant    X[%]
[0]    H2 + 0.5 O2 -> H2O       H2         70.00
[1]    CH4 + O2 -> CO2 + 2 H2O  CH4        10.00
>>> reaction(s1)
>>> s1.show() # After non-adiabatic reaction
Stream: s1
 phase: 'l', T: 298.15 K, P: 101325 Pa
 flow (kmol/hr): H2   3
                 CH4  4.5
                 O2   96
                 CO2  0.5
                 H2O  1.01e+03
>>> reaction.adiabatic_reaction(s2)
>>> s2.show() # After adiabatic reaction
Stream: s2
 phase: 'l', T: 328.96 K, P: 101325 Pa
 flow (kmol/hr): H2   3
                 CH4  4.5
                 O2   96
                 CO2  0.5
                 H2O  1.01e+03
reduce()[source]

Return a new Parallel reaction object that combines reaction with the same reactant together, reducing the number of reactions.

property X_net

[ChemicalIndexer] Net reaction conversion of reactants.