Clarifier#
QSDsan: Quantitative Sustainable Design for sanitation and resource recovery systems
This module is developed by:
Joy Zhang <joycheung1994@gmail.com>
Yalin Li <mailto.yalin.li@gmail.com>
This module is under the University of Illinois/NCSA Open Source License. Please refer to https://github.com/QSD-Group/QSDsan/blob/main/LICENSE.txt for license details.
- class qsdsan.sanunits._clarifier.FlatBottomCircularClarifier(ID='', ins: Sequence[Stream] | None = None, outs: Sequence[Stream] | None = (), thermo=None, init_with='WasteStream', underflow=2000, wastage=385, surface_area=1500, height=4, N_layer=10, feed_layer=4, X_threshold=3000, v_max=474, v_max_practical=250, rh=0.000576, rp=0.00286, fns=0.00228, isdynamic=True, **kwargs)#
A flat-bottom circular clarifier with a simple 1-dimensional N-layer settling model. [1]
- Parameters:
ID (str) – ID for the clarifier. The default is ‘’.
ins (
WasteStream
) – Influent to the clarifier. Expected number of influent is 1.outs (
WasteStream
) – Treated effluent and sludge.underflow (float, optional) – Designed recycling sludge flowrate (RAS), in [m^3/d]. The default is 2000.
wastage (float, optional) – Designed wasted sludge flowrate (WAS), in [m^3/d]. The default is 385.
surface_area (float, optional) – Surface area of the clarifier, in [m^2]. The default is 1500.
height (float, optional) – Height of the clarifier, in [m]. The default is 4.
N_layer (int, optional) – The number of layers to model settling. The default is 10.
feed_layer (int, optional) – The feed layer counting from top to bottom. The default is 4.
X_threshold (float, optional) – Threshold suspended solid concentration, in [g/m^3]. The default is 3000.
v_max (float, optional) – Maximum theoretical (i.e. Vesilind) settling velocity, in [m/d]. The default is 474.
v_max_practical (float, optional) – Maximum practical settling velocity, in [m/d]. The default is 250.
rh (float, optional) – Hindered zone settling parameter in the double-exponential settling velocity function, in [m^3/g]. The default is 5.76e-4.
rp (float, optional) – Flocculant zone settling parameter in the double-exponential settling velocity function, in [m^3/g]. The default is 2.86e-3.
fns (float, optional) – Non-settleable fraction of the suspended solids, dimensionless. Must be within [0, 1]. The default is 2.28e-3.
References
- property A_settle#
[float] The surface area for settling in m^2, i.e., the area of the clarifier’s flat bottom.
- F_BM: dict[str, float]#
All bare-module factors for each purchase cost. Defaults to values in the class attribute
_F_BM_default
.
- F_D: dict[str, float]#
All design factors for each purchase cost item in
baseline_purchase_costs
.
- F_M: dict[str, float]#
All material factors for each purchase cost item in
baseline_purchase_costs
.
- F_P: dict[str, float]#
All pressure factors for each purchase cost item in
baseline_purchase_costs
.
- property N_layer#
[int] The number of layers into which the clarifier is divided in the settling model.
- property V_settle#
[float] Total volume modeled for settling in m^3, calculated based on surface area and height.
- property X_t#
[float] Threshold suspended solid concentration, in g/m^3.
- baseline_purchase_costs: dict[str, float]#
All baseline purchase costs without accounting for design, pressure, and material factors.
- design_results: dict[str, object]#
All design requirements excluding utility requirements and detailed auxiliary unit requirements.
- equipment_lifetime: int | dict[str, int]#
Lifetime of equipment. Defaults to values in the class attribute
_default_equipment_lifetime
. Use an integer to specify the lifetime for all items in the unit purchase costs. Use a dictionary to specify the lifetime of each purchase cost item.
- property feed_layer#
[int] The feed layer counting from top to bottom.
- property fns#
[float] Non-settleable fraction of the suspended solids
- property h_layer#
[float] The height of each layer in the settling model, in m.
- heat_utilities: tuple[HeatUtility, ...]#
All heat utilities associated to unit. Cooling and heating requirements are stored here (including auxiliary requirements).
- installed_costs: dict[str, float]#
All installed costs accounting for bare module, design, pressure, and material factors. Items here are automatically updated at the end of unit simulation.
- line: str = 'Flat bottom circular clarifier'#
class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class
- parallel: dict[str, int]#
Name-number pairs of baseline purchase costs and auxiliary unit operations in parallel. Use ‘self’ to refer to the main unit. Capital and heat and power utilities in parallel will become proportional to this value.
- power_utility: PowerUtility#
Electric utility associated to unit (including auxiliary requirements).
- prioritize: bool#
Whether to prioritize unit operation specification within recycle loop (if any).
- purchase_costs: dict[str, float]#
Itemized purchase costs (including auxiliary units) accounting for design, pressure, and material factors (i.e.,
F_D
,F_P
,F_M
). Items here are automatically updated at the end of unit simulation.
- responses: set[bst.GenericResponse]#
Unit design decisions that must be solved to satisfy specifications. While adding responses is optional, simulations benefit from responses by being able to predict better guesses.
- property rh#
[float] Hindered zone settling parameter in the double-exponential settling velocity function, in m^3/g.
- property rp#
[float] Flocculant zone settling parameter in the double-exponential settling velocity function, in m^3/g.
- run_after_specifications: bool#
Whether to run mass and energy balance after calling specification functions
- set_init_TSS(arr)#
set the initial TSS [mg/L] in each layer of the clarifier.
- set_init_sludge_solids(**kwargs)#
set the initial concentrations [mg/L] of solids in the underflow sludge.
- set_init_solubles(**kwargs)#
set the initial concentrations [mg/L] of solubles in the clarifier.
- property underflow#
[float] The designed recycling sludge flow rate in m3/d.
- property v_max#
[float] Maximum theoretical (i.e. Vesilind) settling velocity, in m/d
- property v_max_p#
[float] Maximum practical settling velocity, in m/d
- property wastage#
[float] The designed wasted sludge flow rate in m3/d.
- class qsdsan.sanunits._clarifier.IdealClarifier(ID='', ins: Sequence[Stream] | None = None, outs: Sequence[Stream] | None = (), thermo=None, sludge_flow_rate=2000, solids_removal_efficiency=0.995, sludge_MLSS=None, isdynamic=False, init_with='WasteStream', F_BM_default=None, **kwargs)#
- F_BM: dict[str, float]#
All bare-module factors for each purchase cost. Defaults to values in the class attribute
_F_BM_default
.
- F_D: dict[str, float]#
All design factors for each purchase cost item in
baseline_purchase_costs
.
- F_M: dict[str, float]#
All material factors for each purchase cost item in
baseline_purchase_costs
.
- F_P: dict[str, float]#
All pressure factors for each purchase cost item in
baseline_purchase_costs
.
- baseline_purchase_costs: dict[str, float]#
All baseline purchase costs without accounting for design, pressure, and material factors.
- design_results: dict[str, object]#
All design requirements excluding utility requirements and detailed auxiliary unit requirements.
- equipment_lifetime: int | dict[str, int]#
Lifetime of equipment. Defaults to values in the class attribute
_default_equipment_lifetime
. Use an integer to specify the lifetime for all items in the unit purchase costs. Use a dictionary to specify the lifetime of each purchase cost item.
- heat_utilities: tuple[HeatUtility, ...]#
All heat utilities associated to unit. Cooling and heating requirements are stored here (including auxiliary requirements).
- installed_costs: dict[str, float]#
All installed costs accounting for bare module, design, pressure, and material factors. Items here are automatically updated at the end of unit simulation.
- line: str = 'Ideal clarifier'#
class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class
- parallel: dict[str, int]#
Name-number pairs of baseline purchase costs and auxiliary unit operations in parallel. Use ‘self’ to refer to the main unit. Capital and heat and power utilities in parallel will become proportional to this value.
- power_utility: PowerUtility#
Electric utility associated to unit (including auxiliary requirements).
- prioritize: bool#
Whether to prioritize unit operation specification within recycle loop (if any).
- purchase_costs: dict[str, float]#
Itemized purchase costs (including auxiliary units) accounting for design, pressure, and material factors (i.e.,
F_D
,F_P
,F_M
). Items here are automatically updated at the end of unit simulation.
- responses: set[bst.GenericResponse]#
Unit design decisions that must be solved to satisfy specifications. While adding responses is optional, simulations benefit from responses by being able to predict better guesses.
- run_after_specifications: bool#
Whether to run mass and energy balance after calling specification functions
- property sludge_flow_rate#
[float] The designed sludge flow rate (wasted + recycled) in m3/d.