aerated_bioreactor#
- class AeratedBioreactor(ID='', ins=None, outs=(), thermo=None, **kwargs)[source]#
Same as StirredTankReactor but includes aeration. The agitator power may vary to minimize the total power requirement of both the compressor and agitator yet achieve the required oxygen transfer rate.
Examples
>>> import biosteam as bst >>> from biorefineries.sugarcane import chemicals >>> bst.settings.set_thermo(chemicals) >>> feed = bst.Stream('feed', ... Water=1.20e+05, ... Glucose=2.5e+04, ... units='kg/hr', ... T=32+273.15) >>> # Model oxygen uptake as combustion >>> rxn = bst.Rxn('Glucose + O2 -> H2O + CO2', reactant='Glucose', X=0.5, correct_atomic_balance=True) >>> R1 = bst.AeratedBioreactor( ... 'R1', ins=[feed, bst.Stream('air', phase='g')], outs=('vent', 'product'), tau=12, V_max=500, ... reactions=rxn, ... ) >>> R1.simulate() >>> R1.show() AeratedBioreactor: R1 ins... [0] feed phase: 'l', T: 305.15 K, P: 101325 Pa flow (kmol/hr): Water 6.66e+03 Glucose 139 [1] air phase: 'g', T: 305.15 K, P: 101325 Pa flow (kmol/hr): O2 1.02e+03 N2 3.85e+03 outs... [0] vent phase: 'g', T: 305.15 K, P: 101325 Pa flow (kmol/hr): Water 135 CO2 416 O2 606 N2 3.85e+03 [1] product phase: 'l', T: 305.15 K, P: 101325 Pa flow (kmol/hr): Water 6.94e+03 Glucose 69.4
- class GasFedBioreactor(ID='', ins=None, outs=(), thermo=None, **kwargs)[source]#
Same as AbstractStirredTankReactor but includes multiple gas feeds. The agitator power may vary to minimize the total power requirement of both the compressor and agitator yet achieve the required oxygen transfer rate.
Examples
>>> import biosteam as bst >>> bst.settings.set_thermo(['H2', 'CO2', 'N2', 'O2', 'H2O', 'AceticAcid']) >>> media = bst.Stream(ID='media', H2O=10000, units='kg/hr') >>> H2 = bst.Stream(ID='H2', phase='g') >>> fluegas = bst.Stream(ID='fluegas', phase='g') >>> recycle = bst.Stream(ID='recycle', phase='g', N2=70, CO2=23, H2O=3, O2=4, total_flow=10, units='kg/hr') >>> # Model acetic acid production from H2 and CO2 >>> rxn = bst.Rxn('H2 + CO2 -> AceticAcid + H2O', reactant='H2', correct_atomic_balance=True) >>> brxn = rxn.backwards(reactant='AceticAcid') >>> R1 = bst.GasFedBioreactor( ... 'R1', ins=[media, H2, fluegas, recycle], outs=('vent', 'product'), tau=68, V_max=500, ... reactions=rxn, backward_reactions=brxn, ... feed_gas_compositions={ ... 1: dict(H2=100, units='kg/hr'), ... 2: dict(N2=70, CO2=25, H2O=3, O2=2, units='kg/hr'), ... }, ... gas_substrates=('H2', 'CO2'), ... titer={'AceticAcid': 5}, ... mixins={2: [3]}, # Recycle gets mixed with fluegas ... optimize_power=False, ... kW_per_m3=0., ... ) >>> R1.simulate() >>> R1.show() GasFedBioreactor: R1 ins... [0] media phase: 'l', T: 298.15 K, P: 101325 Pa flow (kmol/hr): H2O 555 [1] H2 phase: 'g', T: 298.15 K, P: 101325 Pa flow (kmol/hr): H2 17.8 [2] fluegas phase: 'g', T: 298.15 K, P: 101325 Pa flow (kmol/hr): CO2 1.66 N2 7.31 O2 0.183 H2O 0.487 [3] recycle phase: 'g', T: 298.15 K, P: 101325 Pa flow (kmol/hr): CO2 0.0523 N2 0.25 O2 0.0125 H2O 0.0167 outs... [0] vent phase: 'g', T: 305.15 K, P: 101325 Pa flow (kmol/hr): H2 14.5 CO2 0.0413 N2 7.56 O2 0.195 H2O 1 AceticAcid 0.000973 [1] product phase: 'l', T: 305.15 K, P: 101325 Pa flow (kmol/hr): H2O 556 AceticAcid 0.836
References