SeriesReaction
- class thermosteam.reaction.SeriesReaction(reactions)[source]
Create a ParallelReaction object from Reaction objects. When called, it returns the change in material due to all reactions in series.
- Parameters
reactions (Iterable[Reaction]) –
- 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 >>> chemicals = tmo.Chemicals(['CH4', 'CO','O2', 'CO2', 'H2O'], cache=True) >>> tmo.settings.set_thermo(chemicals) >>> reaction = tmo.SeriesReaction([ ... # Reaction definition Reactant Conversion ... tmo.Reaction('2CH4 + 3O2 -> 2CO + 4H2O', reactant='CH4', X=0.7), ... tmo.Reaction('2CO + O2 -> 2CO2', reactant='CO', X=0.1) ... ]) >>> s1 = tmo.Stream('s1', CH4=5, O2=100, H2O=100, T=373.15, phase='g') >>> s1.show() # Before reaction Stream: s1 phase: 'g', T: 373.15 K, P: 101325 Pa flow (kmol/hr): CH4 5 O2 100 H2O 100
>>> reaction.show() SeriesReaction (by mol): index stoichiometry reactant X[%] [0] CH4 + 1.5 O2 -> CO + 2 H2O CH4 70.00 [1] CO + 0.5 O2 -> CO2 CO 10.00
>>> reaction.adiabatic_reaction(s1) >>> s1.show() # After adiabatic reaction Stream: s1 phase: 'g', T: 649.84 K, P: 101325 Pa flow (kmol/hr): CH4 1.5 CO 3.15 O2 94.6 CO2 0.35 H2O 107
- property X_net
[ChemicalIndexer] Net reaction conversion of reactants.