Stirred tank reactor#
- class StirredTankReactor(ID='', ins=None, outs=(), thermo=None, **kwargs)#
Abstract class for a stirred tank reactor, modeled as a pressure vessel with a given aspect ratio and residence time. A pump-heat exchanger recirculation loop is used to satisfy the duty, if any. By default, a turbine agitator is also included if the power usage,`kW_per_m3`, is positive. A vacuum system is also automatically added if the operating pressure is at a vacuum.
tau – Residence time [hr].
T – Operating temperature [K].
P – Operating pressure [Pa].
dT_hx_loop – Maximum change in temperature for the heat exchanger loop. Defaults to 5 K.
V_wf – Fraction of working volume over total volume. Defaults to 0.8.
V_max – Maximum volume of a reactor [m3]. Defaults to 355.
kW_per_m3 – Power usage of agitator. Defaults to 0.985 [kW / m3] converted from 5 hp/1000 gal as in , for liquid–liquid reaction or extraction.
vessel_material – Vessel material. Defaults to ‘Stainless steel 316’.
vessel_type – Vessel type. Valid options are ‘Horizontal’ or ‘Vertical’. Defaults to ‘Vertical’
batch – Whether to use batch operation mode. If False, operation mode is continuous. Defaults to continuous.
tau_0 – Cleaning and unloading time (if batch mode). Defaults to 3 hr.
The recirculation loop takes into account the required flow rate needed to reach the maximum temperature change of the heat exchanger, dT_hx_loop. Increasing dT_hx_loop decreases the required recirculation flow rate and therefore decreases pump costs.
When parallel reactors are required, one recirculation loop (each with a pump and heat exchanger) is assumed. Although it is possible to use the same recirculation loop for all reactors, this conservative assumption allows for each reactor to be operated independently from each other.
The capital cost for agitators are not yet included in
Inherit from ContinuousStirredTankReactor to create a new class that simulates the continuous fermentative production of ethanol from sugarcane juice:
>>> import biosteam as bst >>> class ContinuousFermentation(bst.CSTR): ... _N_ins = 1 ... _N_outs = 2 ... T_default = 32. + 273.15 ... P_default = 101325. ... tau_default = 8. ... ... def _setup(self): ... super()._setup() ... chemicals = self.chemicals ... self.hydrolysis_reaction = bst.Reaction('Sucrose + Water -> 2Glucose', 'Sucrose', 1.00, chemicals) ... self.fermentation_reaction = bst.Reaction('Glucose -> 2Ethanol + 2CO2', 'Glucose', 0.9, chemicals) ... self.cell_growth_reaction = cell_growth = bst.Reaction('Glucose -> Yeast', 'Glucose', 0.70, chemicals, basis='wt') ... ... def _run(self): ... vent, effluent = self.outs ... effluent.mix_from(self.ins, energy_balance=False) ... self.hydrolysis_reaction(effluent) ... self.fermentation_reaction(effluent) ... self.cell_growth_reaction(effluent) ... effluent.T = vent.T = self.T ... effluent.P = vent.P = self.P ... vent.phase = 'g' ... vent.empty() ... vent.receive_vent(effluent, energy_balance=False) ... >>> from biorefineries.sugarcane import chemicals >>> bst.settings.set_thermo(chemicals) >>> feed = bst.Stream('feed', ... Water=1.20e+05, ... Glucose=1.89e+03, ... Sucrose=2.14e+04, ... DryYeast=1.03e+04, ... units='kg/hr', ... T=32+273.15) >>> R1 = ContinuousFermentation('R1', ins=feed, outs=('CO2', 'product')) >>> R1.simulate() >>> R1.show() ContinuousFermentation: R1 ins...  feed phase: 'l', T: 305.15 K, P: 101325 Pa flow (kmol/hr): Water 6.66e+03 Glucose 10.5 Sucrose 62.5 Yeast 456 outs...  CO2 phase: 'g', T: 305.15 K, P: 101325 Pa flow (kmol/hr): Water 9.95 Ethanol 3.71 CO2 244  product phase: 'l', T: 305.15 K, P: 101325 Pa flow (kmol/hr): Water 6.59e+03 Ethanol 240 Glucose 4.07 Yeast 532
>>> R1.results() Continuous fermentation Units R1 Electricity Power kW 1.04e+03 Cost USD/hr 81.5 Chilled water Duty kJ/hr -1.41e+07 Flow kmol/hr 9.42e+03 Cost USD/hr 70.3 Design Reactor volume m3 319 Residence time hr 8 Vessel type Vertical Length ft 50.5 Diameter ft 16.8 Weight lb 5.39e+04 Wall thickness in 0.363 Vessel material Stainless steel 316 Purchase cost Vertical pressure vessel (x4) USD 1.18e+06 Platform and ladders (x4) USD 2.12e+05 Heat exchanger - Floating head (x4) USD 1.61e+05 Recirculation pump - Pump (x4) USD 3.9e+04 Recirculation pump - Motor (x4) USD 2.78e+03 Agitator - Agitator (x4) USD 4.53e+05 Total purchase cost USD 2.05e+06 Utility cost USD/hr 152