QSDsan: Quantitative Sustainable Design for sanitation and resource recovery systems
This module is developed by:
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._sludge_pasteurization.SludgePasteurization(ID='', ins: Sequence[Stream] | None = None, outs: Sequence[Stream] | None = (), thermo=None, init_with='WasteStream', include_construction=True, if_biogas=True, heat_loss=0.1, target_MC=0.1, sludge_temp=283.15, temp_pasteurization=343.15, if_combustion=False, biogas_loss=0.1, biogas_eff=0.55, lhv_lpg=48.5, lhv_methane=52.5, ppl=100, baseline_ppl=100, user_scale_up=1, exponent_scale=1, if_sludge_service=True, **kwargs)#
Unit operation for the pasteurization of sludge using liquid petroleum gas (LPG) or biogas.
Cost and environmental impacts of this unit are based on the hydronic heat exchanger and dryer in the biogenic refinery.
The following impact items should be pre-constructed for life cycle assessment: StainlessSteel, Steel, HydronicHeatExchanger, Pump.
Cost and environmental impacts of this unit are fixed (i.e., they DO NOT scale with mass or energy flows).
ins (Iterable(stream)) – biogas: biogas input from the AnMBR and used for pasteurization (biogas combusted). air: used for combustion, from atmosphere. sludge: sludge produced from the AnMBR in the NEWgenerator. LPG: purchased LPG to supplement heat requirement for pasteurization.
outs (Iterable(stream)) – used: biogas used in combustion. lost: biogas lost in combustion (e.g., leaked as fugitive biogas). wasted: biogas wasted in combustion. treated sludge: sludge treated from pasteurization.
if_combustion (bool) – If include combustion reaction during simulation.
biogas_loss (float) – Fraction of biogas loss is 0.1 (e.g., leaked).
biogas_eff (float) – Combustion efficiency of biogas as a fraction of CH4.
temp_pasteurization (float) – Pasteurization temperature is 70°C or 343.15 K.
sludge_temp (float) – Temperature of sludge is 10°C or 283.15 K.
target_MC (float) – Target moisture content is 10%
heat_loss (float) – Heat loss during pasteurization process is assumed to be 10%
if_biogas (bool) – If biogas is used for sludge pasteurization, otherwise LPG is used and biogas combusted.
lhv_lpg (float) – Lower heating value of LPG at 298.15K is 46-51 MJ/kg based on World Nuclear Organization.
lhv_methane (float) – Lower heating value of methane at 298.15K is 50-55 MJ/kg based on World Nuclear Organization.
hhx_heat_recovery (float) – Heat recovery efficiency of the heat exchanger.
ppl (int) – Total number of users for scaling of costs.
baseline_ppl (int) – Baseline capacity of the unit for scaling of costs.
user_scale_up (float) – Scaling factor (calculated based on the number of users as in ppl compared to the capacity as in baseline_ppl) for consumables, electricity demand, capital parts, and replacement parts. If not given (or set to None), will be calculated based on the user number and the capacity of this unit (i.e., the baseline_ppl attr).
exponent_scale (float) – Exponential factor for the scaling up of capital costs.
if_sludge_service (bool) – If share sludge pasteurization unit among multiple septic tanks (assume 1,000 users per sludge pasteurization unit, or 10 septic tanks serving a population of 100 users per septic tank).
 Shoener et al., Design of Anaerobic Membrane Bioreactors for the Valorization of Dilute Organic Carbon Waste Streams. Energy Environ. Sci. 2016, 9 (3), 1102–1112. https://doi.org/10.1039/C5EE03715H.
 Turek et al., Proposed EU Legislation to Force Changes in Sewage Sludge Disposal: A Case Study. Front. Chem. Sci. Eng. 2018, 12 (4), 660–669. https://doi.org/10.1007/s11705-018-1773-0.
 Rowles et al., Financial viability and environmental sustainability of fecal sludge treatment with Omni Processors, ACS Environ. Au, 2022, https://doi.org/10.1021/acsenvironau.2c00022
- 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
- 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 = 'Sludge pasteurization'#
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_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 user_scale_up#
[float] Scaling factor (calculated based on the number of users as in ppl compared to the capacity as in baseline_ppl) for consumables, electricity demand, capital parts, and replacement parts. If not given (or set to None), will be calculated based on the user number and the capacity of this unit (i.e., the baseline_ppl attr).