Eco-San

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>

This module contains unit operations used in the Eco-San system as described in Li, M.; Xiaokang, Z. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019. Note that the report is not publicly available, but information about the Eco-San system can be found at: https://sanitation.ansi.org/EcoSanToilet http://www.eco-san.cn/e_main.html

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._eco_san.EcoSanAerobic(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', degraded_components=('OtherSS',), if_capture_biogas=False, if_N2O_emission=True, **kwargs)

Aerobic treatment unit in the Eco-San system.

Note that costs and environmental impacts associated with unit is considered in EcoSanBioCost.

Parameters:
  • ins (Iterable(stream)) – waste: waste stream to be treated.

  • outs (Iterable(stream)) – treated: treated liquid leaving septic tank. CH4: fugitive CH4 emissions. N2O: fugitive N2O emissions.

References

[1] Ma Li and Zhou Xiaokang. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019.

See also

qsdsan.processes.Decay

qsdsan.sanunits.EcoSanBioCost

line: str = 'Eco san aerobic'

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

class qsdsan.sanunits._eco_san.EcoSanAnaerobic(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', degraded_components=('OtherSS',), if_capture_biogas=False, if_N2O_emission=True, **kwargs)

Anaerobic treatment unit in the Eco-San system.

Note that costs and environmental impacts associated with unit is considered in EcoSanBioCost.

Parameters:
  • ins (Iterable(stream)) – waste: waste stream to be treated.

  • outs (Iterable(stream)) – treated: treated liquid leaving septic tank. CH4: fugitive CH4 emissions. N2O: fugitive N2O emissions.

References

[1] Ma Li and Zhou Xiaokang. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019.

See also

qsdsan.processes.Decay

qsdsan.sanunits.EcoSanBioCost

line: str = 'Eco san anaerobic'

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

class qsdsan.sanunits._eco_san.EcoSanAnoxic(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', degraded_components=('OtherSS',), if_capture_biogas=False, if_N2O_emission=True, **kwargs)

Anoxic treatment unit in the Eco-San system.

Note that costs and environmental impacts associated with unit is considered in EcoSanBioCost.

Parameters:
  • ins (Iterable(stream)) – waste: waste stream to be treated.

  • outs (Iterable(stream)) – treated: treated liquid leaving septic tank. CH4: fugitive CH4 emissions. N2O: fugitive N2O emissions.

References

[1] Ma Li and Zhou Xiaokang. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019.

See also

qsdsan.processes.Decay

qsdsan.sanunits.EcoSanBioCost

line: str = 'Eco san anoxic'

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

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

A non-reactive unit to account for all costs and environmental impacts associated with the biological treatment units within the Eco-San system (other than EcoSanPrimary and EcoSanMBR).

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

References

[1] Ma Li and Zhou Xiaokang. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019.

line: str = 'Eco san bio cost'

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

class qsdsan.sanunits._eco_san.EcoSanECR(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', degraded_components=('OtherSS',), if_capture_biogas=False, if_N2O_emission=True, if_after_MBR=False, **kwargs)

Electrochemical reactor (ECR) in the Eco-San system with chlorine dosing.

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

Parameters:
  • ins (Iterable(stream)) – waste: waste stream to be treated. salt: NaCl to be added for treatment. HCl: HCl to be added for treatment.

  • outs (Iterable(stream)) – treated: treated liquid leaving septic tank. CH4: fugitive CH4 emissions. N2O: fugitive N2O emissions.

  • if_after_MBR (bool) – If this unit is used after a membrane bioreactor (MBR), ECR after an MBR will have lower costs compared to the scenario without an MBR.

References

[1] Ma Li and Zhou Xiaokang. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019.

property if_after_MBR

[bool] If this unit is used after a membrane bioreactor (MBR), ECR after an MBR will have lower costs compared to the scenario without an MBR.

line: str = 'Eco san ECR'

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

class qsdsan.sanunits._eco_san.EcoSanMBR(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', degraded_components=('OtherSS',), if_capture_biogas=False, if_N2O_emission=True, **kwargs)

Membrane bioreactor for the Eco-San system.

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

Parameters:
  • ins (Iterable(stream)) – waste: waste stream to be treated.

  • outs (Iterable(stream)) – treated: treated liquid leaving septic tank. CH4: fugitive CH4 emissions. N2O: fugitive N2O emissions.

References

[1] Ma Li and Zhou Xiaokang. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019.

line: str = 'Eco san MBR'

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

class qsdsan.sanunits._eco_san.EcoSanPrimary(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', if_with_MBR=False, sludge_moisture_content=0.95, **kwargs)

The primary treatment of the Eco-San system uses anaerobic digestion to treat wastes (similar to a septic tank).

It can be used in conjunction with a membrane bioreactor (MBR) to recovery N and P as struvite.

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

Parameters:
  • ins (Iterable(stream)) – Waste for treatment, Mg(OH2) used if struvite is produced.

  • outs (Iterable(stream)) – Treated waste, fugitive CH4, fugitive N2O, generated sludge, and struvite.

References

[1] Ma Li and Zhou Xiaokang. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019.

See also

qsdsan.processes.Decay

qsdsan.sanunits.SepticTank

property if_generate_struvite

[bool] If generating struvite (True when with MBR).

property if_struvite_in_sludge

[bool] If the generated struvite is in sludge, always False (when MBR is included, struvite is generated as a separate stream).

property if_with_MBR

[bool] If this unit has a membrane bioreactor (MBR), primary treatment with an MBR is able to recovery N and P as struvite.

line: str = 'Eco san primary'

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

property user_scale_up

[float] Scaling factor based on the user number.

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

A non-reactive unit to account for all costs and environmental impacts associated with the solar energy system.

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

References

[1] Ma Li and Zhou Xiaokang. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019.

line: str = 'Eco san solar'

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

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

A non-reactive unit to account for all costs and environmental impacts associated with controlling, recycling, and other miscellaneous parts.

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

References

[1] Ma Li and Zhou Xiaokang. Technical Report of Eco-san Water Recycling System. Version 20190504-V3. 2019.

line: str = 'Eco san system'

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