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).