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.05e+03 N2 3.93e+03 outs... [0] vent phase: 'g', T: 305.15 K, P: 101325 Pa flow (kmol/hr): Water 136 CO2 416 O2 629 N2 3.93e+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 18.1 [2] fluegas phase: 'g', T: 298.15 K, P: 101325 Pa flow (kmol/hr): CO2 1.65 N2 7.27 O2 0.182 H2O 0.485 [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.8 CO2 0.0324 N2 7.52 O2 0.194 H2O 1.02 AceticAcid 0.000984 [1] product phase: 'l', T: 305.15 K, P: 101325 Pa flow (kmol/hr): H2O 556 AceticAcid 0.836
References