QSDsan: Quantitative Sustainable Design for sanitation and resource recovery systems
- This module is developed by:
Yalin Li <email@example.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._lagoon.Lagoon(ID='', ins: Sequence[Stream] | None = None, outs: Sequence[Stream] | None = (), thermo=None, init_with='WasteStream', design_type='anaerobic', flow_rate=None, degraded_components=('OtherSS',), if_N2O_emission=False, **kwargs)#
Anaerobic and facultative lagoon treatment based on Trimmer et al.
To enable life cycle assessment, the following impact items should be pre-constructed: Plastic, Excavation.
 Trimmer et al., Navigating Multidimensional Social–Ecological System Trade-Offs across Sanitation Alternatives in an Urban Informal Settlement. Environ. Sci. Technol. 2020, 54 (19), 12641–12653. https://doi.org/10.1021/acs.est.0c03296.
- property COD_decay#
[float] Fraction of removed COD that decays.
- property COD_removal#
[float] Fraction of COD removed during treatment.
- F_BM: dict[str, float]#
All bare-module factors for each purchase cost. Defaults to values in the class attribute
- F_D: dict[str, float]#
All design factors for each purchase cost item in
- F_M: dict[str, float]#
All material factors for each purchase cost item in
- F_P: dict[str, float]#
All pressure factors for each purchase cost item in
- property N_lagoon#
[int] Number of lagoons, float will be converted to the smallest integer.
- property P_removal#
[float] Fraction of P removed during treatment.
- 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.
- property design_type#
[str] Lagoon type, can be either “anaerobic” or “facultative”.
- 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 flow_rate#
[float] Total flow rate through the lagoon (to calculate retention time), [m3/d]. If not provided, will calculate based on F_vol_in.
- 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.
- property lagoon_L#
[float] Length of the lagoon, [m].
- property lagoon_V#
[float] Volume of the lagoon, [m3].
- property lagoon_W#
[float] Width of the lagoon, [m].
- line: str = 'Lagoon'#
class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class
- property liner_unit_mass#
[float] Unit mass of the lagoon liner, [kg/m2].
- 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_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 tau#
[float] Residence time, [d].