Reclaimer

QSDsan: Quantitative Sustainable Design for sanitation and resource recovery systems

This module is developed by:

Tori Morgan <vlmorgan@illinois.edu>

Yalin Li <mailto.yalin.li@gmail.com>

Hannah Lohman <hlohman94@gmail.com>

Lewis Rowles <stetsonsc@gmail.com>

This module contains unit operations used in the Reclaimer system developed by Duke University as described in https://washaid.pratt.duke.edu/work/water-sanitation/reinvent-toilet-challenge and Trotochaud et al.

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._reclaimer.ReclaimerECR(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', if_gridtied=True, ppl=1, **kwargs)

Electrochemical reactor (ECR) in the Reclaimer system with chlorine dosing.

This is a non-reactive unit (i.e., the effluent is copied from the influent).

The following impact items should be pre-constructed for life cycle assessment: Titanium.

Parameters:
  • ppl (int) – Total number of users for scaling of costs.

  • if_gridtied (bool) – If using grid electricity instead of photovoltaic electricity.

References

[1] Trotochaud et al., Laboratory Demonstration and Preliminary Techno-Economic Analysis of an Onsite Wastewater Treatment System Environ. Sci. Technol. 2020, 54, (24), 16147–16155. https://dx.doi.org/10.1021/acs.est.0c02755

[2] Duke Center for WaSH-AID Reclaimer design team data and guidance https://washaid.pratt.duke.edu/work/water-sanitation/reinvent-toilet-challenge

property N_reclaimers

[int] Number of the reclaimer units needed, calculated by ppl/baseline_ppl.

line: str = 'Reclaimer ECR'

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

class qsdsan.sanunits._reclaimer.ReclaimerHousing(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', ppl=1, **kwargs)

Structural housing for the Reclaimer system.

This is a non-reactive unit (i.e., the effluent is copied from the influent).

The following impact items should be pre-constructed for life cycle assessment: Steel.

Parameters:

ppl (int) – Total number of users for scaling of costs.

References

[1] Trotochaud et al., Laboratory Demonstration and Preliminary Techno-Economic Analysis of an Onsite Wastewater Treatment System Environ. Sci. Technol. 2020, 54, (24), 16147–16155. https://dx.doi.org/10.1021/acs.est.0c02755

[2] Duke Center for WaSH-AID Reclaimer design team data and guidance https://washaid.pratt.duke.edu/work/water-sanitation/reinvent-toilet-challenge

[3] Eco-san water recycling toilet Reinvented Toilet design team bill of materials https://sanitation.ansi.org/EcoSanToilet

property N_reclaimers

[int] Number of the reclaimer units needed, calculated by ppl/baseline_ppl.

property N_toilets

[int] Number of the MURT units, calculated by ppl/ppl_per_MURT.

line: str = 'Reclaimer housing'

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

class qsdsan.sanunits._reclaimer.ReclaimerIonExchange(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', ppl=1, **kwargs)

Ion exchange in the Reclaimer system is used for N recovery from liquid stream. Concentrated NH3 is recovered.

The following impact items should be pre-constructed for life cycle assessment: Plastic, PVC, Steel.

Parameters:
  • ins (Iterable(stream)) – waste: liquid waste stream to be treated by ion exchange unit. zeolite_in: zeolite input. gac_in: GAC input. KCl: KCl input.

  • outs (Iterable(stream)) – treated: treated liquid leaving ion exchange unit. zeolite_out: spent zeolite. gac_out: spent GAC. conc_NH3: concentrated NH3.

  • ppl (int) – Total number of users for scaling of costs.

References

[1] Lohman et al., Advancing Sustainable Sanitation and Agriculture through Investments in Human-Derived Nutrient Systems. Environ. Sci. Technol. 2020, 54, (15), 9217-9227. https://dx.doi.org/10.1021/acs.est.0c03764

[2] Tarpeh et al., Evaluating ion exchange for nitrogen recovery from source-separated urine in Nairobi, Kenya. Development Engineering. 2018, 3, 188–195. https://doi.org/10.1016/j.deveng.2018.07.002

[3] Trotochaud et al., Laboratory Demonstration and Preliminary Techno-Economic Analysis of an Onsite Wastewater Treatment System Environ. Sci. Technol. 2020, 54, (24), 16147–16155. https://dx.doi.org/10.1021/acs.est.0c02755

[4] Duke Center for WaSH-AID Reclaimer design team data and guidance https://washaid.pratt.duke.edu/work/water-sanitation/reinvent-toilet-challenge

property N_reclaimers

[int] Number of the reclaimer units needed, calculated by ppl/baseline_ppl.

line: str = 'Reclaimer ion exchange'

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

class qsdsan.sanunits._reclaimer.ReclaimerSolar(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', **kwargs)

Photovoltaic system for solar power generation in the Reclaimer system.

This is a non-reactive unit (i.e., the effluent is copied from the influent).

The following impact items should be pre-constructed for life cycle assessment: Battery, Solar.

Parameters:

ppl (int) – Total number of users for scaling of costs.

References

[1] Trotochaud et al., Laboratory Demonstration and Preliminary Techno-Economic Analysis of an Onsite Wastewater Treatment System Environ. Sci. Technol. 2020, 54, (24), 16147–16155. https://dx.doi.org/10.1021/acs.est.0c02755

[2] Duke Center for WaSH-AID Reclaimer design team data and guidance https://washaid.pratt.duke.edu/work/water-sanitation/reinvent-toilet-challenge

[3] Eco-san water recycling toilet Reinvented Toilet design team bill of materials https://sanitation.ansi.org/EcoSanToilet

line: str = 'Reclaimer solar'

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

class qsdsan.sanunits._reclaimer.ReclaimerSystem(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', if_gridtied=True, ppl=1, **kwargs)

System connection components for the Reclaimer system.

This is a non-reactive unit (i.e., the effluent is copied from the influent).

The following impact items should be pre-constructed for life cycle assessment: Steel.

Parameters:
  • ppl (int) – Total number of users for scaling of costs.

  • if_gridtied (bool) – If using grid electricity instead of photovoltaic electricity.

References

[1] Trotochaud et al., Laboratory Demonstration and Preliminary Techno-Economic Analysis of an Onsite Wastewater Treatment System Environ. Sci. Technol. 2020, 54, (24), 16147–16155. https://dx.doi.org/10.1021/acs.est.0c02755

[2] Duke Center for WaSH-AID Reclaimer design team data and guidance https://washaid.pratt.duke.edu/work/water-sanitation/reinvent-toilet-challenge

property N_reclaimers

[int] Number of the reclaimer units needed, calculated by ppl/baseline_ppl.

line: str = 'Reclaimer system'

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

class qsdsan.sanunits._reclaimer.ReclaimerUltrafiltration(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', if_gridtied=True, ppl=1, **kwargs)

Ultrafiltration in the Reclaimer system is used for removing suspended solids with automated backwash.

The following impact items should be pre-constructed for life cycle assessment: Plastic, Steel.

Parameters:
  • ins (Iterable(stream)) – waste: liquid waste stream to be treated by ultrafiltration unit.

  • outs (Iterable(stream)) – treated: treated liquid leaving ultrafiltration unit. retentate: concentrated retentate leaving ultrafiltration unit.

  • ppl (int) – Total number of users for scaling of costs.

  • if_gridtied (bool) – If using grid electricity instead of photovoltaic electricity.

References

[1] Trotochaud et al., Laboratory Demonstration and Preliminary Techno-Economic Analysis of an Onsite Wastewater Treatment System Environ. Sci. Technol. 2020, 54, (24), 16147–16155. https://dx.doi.org/10.1021/acs.est.0c02755

[2] Duke Center for WaSH-AID Reclaimer design team data and guidance https://washaid.pratt.duke.edu/work/water-sanitation/reinvent-toilet-challenge

property N_reclaimers

[int] Number of the reclaimer units needed, calculated by ppl/baseline_ppl.

line: str = 'Reclaimer ultrafiltration'

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