Internal Circulation Reactor¶
- class qsdsan.sanunits.InternalCirculationRx(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, *, method='lumped', biomass_ID='WWTsludge', OLRall=1.25, Y_biogas=0.86, Y_biomass=0.05, biodegradability=1.0, vessel_type='IC', vessel_material='Stainless steel', V_wf=0.8, kW_per_m3=0.0, T=308.15, init_with='WasteStream', **kwargs)¶
Internal circulation (IC) reactor for anaerobic digestion (AD), including a high-rate bottom reactor for rapid organic removal and a low-rate top reactor for polishing. Both reactors are similar to upflow anaerobic blanket reactor (UASB).
Design of the reactor follows steps described in [1] (assuming steady state and pseudo-zeroth-order kinetics), where two methods are used based on Irizar et al.[2]_ and Tchobanoglous et al.[3]_.
- Parameters:
ins (Inlets(obj)) – Influent.
outs (Outlets(obj)) – Biogas, effluent, waste sludge.
method (str) –
Either “separate” to design the bottom and top reactors separately as in [2] , or “lumped” to design the entire IC reactor as a black box following [3] .
- In “separate” method, design parameters include:
OLRall, biodegradability, Y, q_Qw, mu_max, b, Fxt, and Fxb
- In “lumped” method, design parameters include:
OLRall, biodegradability, Y, q_Qw, and q_Xw
biomass_ID (str) – ID of the Component that represents the biomass.
OLRall (float) – Overall organic loading rate, [kg COD/m3/hr].
Y_biogas (float) – Biogas yield, [kg biogas/kg consumed COD].
Y_biomass (float) – Biomass yield, [kg biomass/kg consumed COD].
biodegradability (float or dict) – Biodegradability of components, when shown as a float, all biodegradable components are assumed to have the same degradability.
q_Qw (float) – Ratio between the bottom reactor waste flow and the influent.
q_Xw (float) – Ratio between the biomass concentration in the reactor and the waste flow.
mu_max (float) – Maximum specific growth rate, [/hr].
b (float) – Specific endogenous decay coefficient, [/hr].
V_wf (float) – Fraction of working volume over total volume.
vessel_type (str) – Can be “IC” to use the reactor size constraints according to [1], or “Conventional” based on
biosteam.MixTank
(much smaller tank size, not recommended).vessel_material (str) – Vessel material.
kW_per_m3 (float) – Electricity requirement per unit volume, [kW/m^3]. Default to 0 as IC reactors realizes mixing through internal circulation caused by the rising force of the generated biogas.
T (float) – Temperature of the reactor. Will not control temperature if provided as None.
kwargs (dict) – Other keyword arguments (e.g., Fxb, Fxt).
References
- property Fxb¶
[float] Biomass transfer ratio from the bottom reactor to the top reactor, should be within [0, 1] (ideal to no retention), only relevant when the “separate” method is used.
- property Fxt¶
[float] Biomass transfer ratio from the top reactor to the effluent, should be within [0, 1] (ideal to no retention), only relevant when the “separate” method is used.
- property HRT¶
[float] Hydraulic retention time [hr].
- property OLRall¶
[float] Overall organic loading rate, [kg COD/m3/hr].
- property Qe¶
[float] Effluent volumetric flow rate, [m3/hr].
- property Qi¶
[float] Influent volumetric flow rate, [m3/hr].
- property Qw¶
[float] Waste flow volumetric flow rate, [m3/hr].
- property SRT¶
[float] Solid residence time [hr].
- property Se¶
[float] Effluent substrate (i.e., biodegradable components) concentration, [kg/m3].
- property Si¶
[float] Influent substrate (i.e., biodegradable components) concentration, [kg/m3].
- property Sw¶
[float] Waste flow substrate (i.e., biodegradable components) concentration, [kg/m3].
- property Vb¶
[float] Volume of the bottom reactor, [m3], only relevant when the “separate” method is used.
- property Vliq¶
[float] Total volume of the liquid, not considering gas headspace and V_wf, [m3].
- property Vt¶
[float] Volume of the top reactor, [m3], only relevant when the “separate” method is used.
- property Vtot¶
[float] Total volume considering V_wf, [m3].
- property Xe¶
[float] Effluent biomass (i.e., WWTsludge) concentration, [kg/m3].
- property Xi¶
[float] Influent biomass (i.e., WWTsludge) concentration, [kg/m3].
- property Xw¶
[float] Waste flow biomass (i.e., WWTsludge) concentration, [kg/m3].
- auxiliary_unit_names: tuple[str, ...] = ('heat_exchanger', 'effluent_pump', 'sludge_pump')¶
class-attribute Name of attributes that are auxiliary units. These units will be accounted for in the purchase and installed equipment costs without having to add these costs in the
baseline_purchase_costs
dictionary. Heat and power utilities are also automatically accounted for.
- property b¶
[float] Specific endogenous decay coefficient, [/hr], only relevant when the “separate” method is used.
- property biodegradability¶
[float of dict] Biodegradability of components, when shown as a float, all biodegradable components are assumed to have the same degradability.
- property biogas_rxns¶
[
tmo.ParallelReaction
] Biogas production reactions.
- property biomass_ID¶
[str] ID of the Component that represents the biomass.
- property decay_rxn¶
[
tmo.Reaction
] Biomass endogenous decay.Note
Conversion is adjusted in the _run function.
- property growth_rxns¶
[
tmo.ParallelReaction
] Biomass (WWTsludge) growth reactions.
- property i_rm¶
[
np.array
] Removal of each component in this reactor.
- line: str = 'Internal circulation rx'¶
class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class
- property method¶
[str] Design method, can be “separate” or “lumped”.
- property mu_max¶
[float] Maximum specific growth rate, [/hr], only relevant when the “separate” method is used.
- property organic_rm¶
[float] Overall organic (COD) removal rate.
- purchase_cost_algorithms = {'Conventional': TankPurchaseCostAlgorithm(f_Cp=ExponentialFunctor(A=12080, n=0.525), V_min=0.1, V_max=30, CE=525.4, material=Stainless steel, V_units=m^3), 'IC': TankPurchaseCostAlgorithm(f_Cp=ExponentialFunctor(A=12080, n=0.525), V_min=28.274333882308138, V_max=2827.4333882308138, CE=525.4, material=Stainless steel, V_units=m^3)}¶
VesselPurchaseCostAlgorithm] All cost algorithms available for vessel types.
- Type:
dict[str
- property q_Qw¶
[float] Ratio between the bottom reactor waste flow and the influent.
- property q_Xw¶
[float] Ratio between the biomass concentration in the reactor and the waste flow, only relevant when the “lumped” method is used.
- property tau¶
[float] Reactor residence time, [hr] (same as the hydraulic retention time, HRT).