Excretion

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.unit_operations.static._excretion.Excretion(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', waste_ratio=0, **kwargs)

Estimation of N, P, K, and COD in urine and feces based on dietary intake for one person based on Trimmer et al.

Parameters:

waste_ratio (float) – A ratio in [0, 1] to indicate the amount of intake calories and nutrients (N, P, K) that is wasted.

Examples

>>> from qsdsan.utils import create_example_sanitation_components
>>> cmps = create_example_sanitation_components()
>>> from qsdsan.unit_operations import Excretion
>>> U1 = Excretion('U1')
>>> U1.simulate()
>>> urine, feces = U1.outs
>>> round(urine.TN, 1)  # total nitrogen in urine, mg/L
4277.9
>>> round(feces.COD, 1)  # COD in feces, mg/L
123224.0

See bwaise systems for use in a complete sanitation system.

References

[1] 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 Ca_fec

[float] Calcium excreted in feces, [g Ca/cap/d].

property Ca_ur

[float] Calcium excreted in urine, [g Ca/cap/d].

property K_cal

[float] Potassium intake relative to caloric intake, [g K/1000 kcal].

property K_exc

[float] Potassium excretion factor, [% of intake].

property K_ur

[float] Potassium recovered in urine, [wt%].

property Mg_fec

[float] Magnesium excreted in feces, [g Mg/cap/d].

property Mg_ur

[float] Magnesium excreted in urine, [g Mg/cap/d].

property N_exc

[float] Nitrogen excretion factor, [% of intake].

property N_fec_NH3

[float] Reduced inorganic nitrogen in feces, modeled as NH3, [% of total feces N].

property N_prot

[float] Nitrogen content in protein, [wt%].

property N_ur

[float] Nitrogen recovered in urine, [wt%].

property N_ur_NH3

[float] Reduced inorganic nitrogen in urine, modeled as NH3, [% of total urine N].

property P_exc

[float] Phosphorus excretion factor, [% of intake].

property P_prot_a

[float] Phosphorus content in animal protein, [wt%].

property P_prot_v

[float] Phosphorus content in vegetal protein, [wt%].

property P_ur

[float] Phosphorus recovered in urine, [wt%].

property e_cal

[float] Caloric intake, [kcal/cap/d].

property e_exc

[float] Energy excretion factor, [% of intake].

property e_fec

[float] Percent of excreted energy in feces, [%].

property fec_exc

[float] Feces generated per day, [g/cap/d].

property fec_moi

[float] Moisture (water) content of feces, [wt%].

line: str = 'Excretion'

class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class

property p_anim

[float] Animal protein intake, [g/cap/d].

property p_veg

[float] Vegetal protein intake, [g/cap/d].

run()

Run mass and energy balance. This method also runs specifications user defined specifications unless it is being run within a specification (to avoid infinite loops).

See also

_run, specifications, add_specification, add_bounded_numerical_specification

property ur_exc

[float] Urine generated per day, [g/cap/d].

property ur_moi

[float] Moisture (water) content of urine, [wt%].

property waste_ratio

[float] The amount of intake calories and nutrients (N, P, K) that is wasted.

Note

Not considered for Mg and Ca.

class qsdsan.unit_operations.static._excretion.ExcretionmASM2d(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', waste_ratio=0, **kwargs)
line: str = 'Excretionm asm2d'

class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class

run()

Run mass and energy balance. This method also runs specifications user defined specifications unless it is being run within a specification (to avoid infinite loops).

See also

_run, specifications, add_specification, add_bounded_numerical_specification