G2RT

QSDsan: Quantitative Sustainable Design for sanitation and resource recovery systems

This module is developed by:

Zixuan Wang <wyatt4428@gmail.com>

Jianan Feng <jiananf2@illinois.edu>

This module contains unit operations for the G2RT non-sewered toilet

and resource-recovery systems (EXPOsan’s g2rt module).

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._g2rt.FWMixer(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', F_BM_default=None, isdynamic=False, rigorous=False, conserve_phases=False, N_user=None, N_toilet=None, N_tot_user=None, if_flushing=True, flushing_water=None)

Mixing tap water and recycled water from RO to meet the flushing water demand

line: str = 'FWMixer'

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

class qsdsan.unit_operations.static._g2rt.G2RTBeltSeparation(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', ppl=None, user_scale_up=1, moisture_content_out=None, extreme=False, capital_scale_func=None, **kwargs)

Belt separation unit in generation II reinveted toilets before the buffer tank [1].

Note

Non-reactive. Moisture content of the effluent solid is adjusted to be 96-99% [2]. The solids in the liquid stream influent is partially transferred to the solids effluent.

The following components should be included in system thermo object for simulation: H2O, OtherSS.

The following impact items should be pre-constructed for life cycle assessment: StainlessSteel, ConveyorBelt, Polyethylene.

Parameters:
  • ins (Iterable(stream)) – liquid stream and solid stream from the solid separator, and retentate from the ultrafiltration unit

  • outs (Iterable(stream)) – liquid stream and solid stream are copied from the influent.

  • moisture_content_out (float) – Moisture content of the effluent solids stream.

References

[1] YEE et al. Buffer tank separation and homogenization system. https://patents.google.com/patent/WO2023288114A1/en?oq=WO2023288114A1 [2] YEE et al. Volume reduction non-sewered single unit toilet system. https://patents.google.com/patent/WO2023288326A1/en?oq=WO2023288326A1

See also

BiogenicRefineryGrinder

line: str = 'G2RTBelt separation'

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

class qsdsan.unit_operations.static._g2rt.G2RTControls(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', **kwargs)

Electronic control of the generation II reinveted toilet that interface with sensors, valves, pumps, and motors.

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: ControlUnits, Polycarbonate, Aluminum, ElectricCables, ElectronicsPassive, ElectronicsActive

References

[1] Watabe et al. Advancing the Economic and Environmental Sustainability of the NEWgenerator Nonsewered Sanitation System.” ACS Environmental Au 3.4 (2023): 209-222. https://pubs.acs.org/doi/10.1021/acsenvironau.3c00001

See also

NEWgeneratorControls

line: str = 'G2RTControls'

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

class qsdsan.unit_operations.static._g2rt.G2RTExcretion(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', waste_ratio=0, **kwargs)

G2RT-specific excretion model. Thin subclass of Excretion that represents feces/urine COD as explicit soluble/particulate component mass flows (sCOD/xCOD) instead of a lumped _COD concentration override, since G2RT’s downstream separation units need component-level COD to model soluble vs. particulate removal. Uses the same underlying data (_excretion.tsv) and all other assumptions as Excretion.

See also

Excretion

line: str = 'G2RTExcretion'

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

property power_kW

[float] Power draw, [kW], auto-calculated from power_utility.

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

class qsdsan.unit_operations.static._g2rt.G2RTHousing(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', **kwargs)

Housing of the generation II reinveted toilet.

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: Aluminum, Steel, ZincCoat, Polyethylene

References

[1] Watabe et al. Advancing the Economic and Environmental Sustainability of the NEWgenerator Nonsewered Sanitation System.” ACS Environmental Au 3.4 (2023): 209-222. https://pubs.acs.org/doi/10.1021/acsenvironau.3c00001

See also

NEWgeneratorControls

line: str = 'G2RTHousing'

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

property power_kW

[float] Power draw, [kW], auto-calculated from power_utility.

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

class qsdsan.unit_operations.static._g2rt.G2RTLiquidsTank(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', user_scale_up=1, F_BM_default=None, isdynamic=False, rigorous=False, conserve_phases=False, extreme=False)

Liquids storage unit for generation II reinveted toilets to accumulate enough liquid waste before ultrafiltration

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

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

References

[1] Shyu et al., The NEWgeneratorTM Non-Sewered Sanitation System: Long-Term Field Testing at an Informal Settlement Community in EThekwini Municipality, South Africa. Journal of Environmental Management 2021, 296, 112921. https://doi.org/10.1016/j.jenvman.2021.112921.

See also

Copier

line: str = 'G2RTLiquids tank'

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

class qsdsan.unit_operations.static._g2rt.G2RTReverseOsmosis(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', water_recovery=0.6, TDS_removal=0.95, permeate_recycle_ratio=1, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

A reverse osmosis unit process to recover water and concentrate liquid stream. The model is based on a fraction of water recovered.

Parameters:
  • ins – Inlet fluid to be split.

  • outs

    • [0] Permeate

    • [1] Brine

  • water_recovery (float, optional, 0 to 1) – Water recovered to 0th stream. Defaults to 0.6

  • TDS_removal (float, optional, 0 to 1) – rejection rate to total dissolved salts. Defaults to 0.95

  • permeate_recycle_ratio (float, optional, 0 to 1) – fraction of permeate that recirculates to front end as flushing water. Defaults to 1.

  • assessment (The following impact items should be pre-constructed for life cycle)

  • GFRPlastic

  • Steel

  • ReverseOsmosisModule

line: str = 'G2RTReverse osmosis'

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

class qsdsan.unit_operations.static._g2rt.G2RTSolidsSeparation(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', ppl=None, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

Solids separation unit in generation II reinveted toilets as a frontend separator [1].

Note

Non-reactive. Moisture content of the effluent solid is adjusted to be 99% [2].

The following components should be included in system thermo object for simulation: H2O

The following impact items should be pre-constructed for life cycle assessment: StainlessSteel, Polyethylene, ElectricMotor, Pump

Parameters:
  • ins (Iterable(stream)) – Influent stream.

  • outs (Iterable(stream)) – liquid stream and solid stream after separation.

  • moisture_content_out (float) – Moisture content of the effluent solids stream.

References

[1] YEE et al. Buffer tank separation and homogenization system. https://patents.google.com/patent/WO2023288114A1/en?oq=WO2023288114A1 [2] YEE et al. Volume reduction non-sewered single unit toilet system. https://patents.google.com/patent/WO2023288326A1/en?oq=WO2023288326A1

See also

BiogenicRefineryGrinder

line: str = 'G2RTSolids separation'

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

class qsdsan.unit_operations.static._g2rt.G2RTSolidsTank(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', user_scale_up=1, extreme=False, **kwargs)

Solids storage unit for generation II reinveted toilets to accumulate enough solid waste before homogenizer.

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: Polyethylene, Polycarbonate

References

[1] Shyu et al., The NEWgeneratorTM Non-Sewered Sanitation System: Long-Term Field Testing at an Informal Settlement Community in EThekwini Municipality, South Africa. Journal of Environmental Management 2021, 296, 112921. https://doi.org/10.1016/j.jenvman.2021.112921.

See also

Copier

line: str = 'G2RTSolids tank'

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

property power_kW

[float] Power draw, [kW], auto-calculated from power_utility.

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

class qsdsan.unit_operations.static._g2rt.G2RTUltrafiltration(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', reject_recycle_ratio=1, user_scale_up=1, extreme=False, **kwargs)

Ultrafiltration in the generation II reinveted toilets is used for removing suspended solids with automated backwash.

Modified from ultrafiltration unit in Duke Reclaimer system.

The following impact items should be pre-constructed for life cycle assessment: GFRPlastic, Steel, NylonGlassFilled, CastingBrass

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.

  • reject_recycle_ratio (float, optional, 0 to 1) – fraction of rejected solid streams that recirculates to belt separation. Defaults to 1.

  • 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

See also

ReclaimerUltrafiltration

line: str = 'G2RTUltrafiltration'

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

class qsdsan.unit_operations.static._g2rt.G2RThomogenizer(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', ppl=None, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

Homogenizer and buffer tanks in generation II reinveted toilets to break up solids [1].

Note

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

The following components should be included in system thermo object for simulation: H2O, OtherSS.

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

Parameters:
  • ins (Iterable(stream)) – Influent stream.

  • outs (Iterable(stream)) – Effluent stream, is copied from the influent.

  • moisture_content_out (float) – Moisture content of the effluent solids stream.

References

[1] YEE et al. Buffer tank separation and homogenization system. https://patents.google.com/patent/WO2023288114A1/en?oq=WO2023288114A1 [2] YEE et al. Volume reduction non-sewered single unit toilet system. https://patents.google.com/patent/WO2023288326A1/en?oq=WO2023288326A1

See also

BiogenicRefineryGrinder

line: str = 'G2RThomogenizer'

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

class qsdsan.unit_operations.static._g2rt.UFMixer(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', F_BM_default=None, isdynamic=False, rigorous=False, conserve_phases=False)

Mixing ultrafiltration reject and liquid from solids separator before delivering to belt separator

line: str = 'UFMixer'

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

class qsdsan.unit_operations.static._g2rt.VRConcentrator(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', excess_water_recirculate_ratio=1, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

This concentrator unit is used in solids treatmnet in volume reduction generation II reinveted toilet [1]. The heat source is from a heating coil.

The following components should be included in system thermo object for simulation: H2O, N, CH4, NH3, N2O.

The following impact items should be pre-constructed for life cycle assessment: StainlessSteel, HeatingUnit, ElectricMotor, Pump, Polyethylene.

Parameters:
  • ins (Iterable(stream)) – RO reject liquid.

  • outs (Iterable(stream)) – Condensed effluent, recirculation water, fugitive N2O, fugitive CH4, fugitive NH3, water vapor

  • excess_water_recirculate_ratio (float, optional, 0 to 1) – fraction of excess water that recirculates to ultrafiltration. Defaults to 1.

Warning

Energy balance is not performed for this unit.

References

[1] YEE et al. VOLUME REDUCTION SOLIDS TREATMENT SYSTEM.

https://patents.google.com/patent/WO2023288327A1/en?oq=WO2023288327A1

See also

BiogenicRefineryHHXdryer, BiogenicRefineryHHX

line: str = 'VRConcentrator'

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

class qsdsan.unit_operations.static._g2rt.VRdryingtunnel(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', ppl=None, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

This drying tunnel unit is used to produce solids cakes in volume reduction generation II reinveted toilet [1]. The heat source is from a heating coil.

The following components should be included in system thermo object for simulation: H2O, N, CH4, N2O.

The following impact items should be pre-constructed for life cycle assessment: StainlessSteel, ConveyorBelt, Fan, Polyethylene.

Parameters:
  • ins (Iterable(stream)) – condensed effluent from concentrator, filter press cakes.

  • outs (Iterable(stream)) – solid cakes, fugitive N2O, fugitive CH4.

  • moisture_content_out (float) – Desired moisture content of the Condensed effluent.

Warning

Energy balance is not performed for this unit.

References

[1] YEE et al. VOLUME REDUCTION SOLIDS TREATMENT SYSTEM.

https://patents.google.com/patent/WO2023288327A1/en?oq=WO2023288327A1

See also

BiogenicRefineryHHXdryer, BiogenicRefineryHHX

line: str = 'VRdryingtunnel'

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

class qsdsan.unit_operations.static._g2rt.VRpasteurization(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', heat_loss=0.3, solids_inlet_temp=298.75, temp_pasteurization=363.15, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

Pasteurizer in volume reduction toilet to remove pathogens in the homogenized solids. Heating is from electricity (Joule heater).

Parameters:
  • ins (Iterable(stream)) – solids: solids produced from the homogenizer in the volume reduction toilet.

  • outs (Iterable(stream)) – treated solids: solids treated from pasteurization.

  • temp_pasteurization (float) – Pasteurization temperature is 70°C or 343.15 K.

  • solids_inlet_temp (float) – Temperature of solids from the inlet.

  • heat_loss (float) – Heat loss during pasteurization process is assumed to be 30%

See also

SludgePasteurization

line: str = 'VRpasteurization'

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

class qsdsan.unit_operations.static._g2rt.VolumeReductionCombustor(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', if_sludge_service=True, lifetime=10, ppl=None, CH4_emission_factor=None, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

Combustor unit that uses wood pellets biofuels to burn dry feces solid cakes. There is no energy or heat recovery in this unit.

The following components should be included in system thermo object for simulation: H2O, N, K, P OtherSS, N2O, CH4, NO, SO2, NH3

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

Parameters:
  • ins (Iterable(WasteStream)) – Dewatered feces solid cakes, wood pellets, air

  • outs (Iterable(WasteStream)) – Wood Ash, hot gas, fugitive N2O, fugitive CH4, fugitive NO, fugitive SO2

  • if_sludge_service (bool) – If share combustor unit among multiple volume reduction toilets (assume 120 users per combustor unit, or 20 volume reduction toilets serving a population of 6 users per toilet).

  • lifetime (10 years) – This is used to estimate the amount of wood pellet used for TEA/LCA. Default to 10 years.

References

[1] YEE et al. VOLUME REDUCTION SOLIDS TREATMENT SYSTEM. https://patents.google.com/patent/WO2023288327A1/en?oq=WO2023288327A1

line: str = 'Volume reduction combustor'

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

property power_kW

[float] Power draw, [kW], auto-calculated from power_utility.

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

class qsdsan.unit_operations.static._g2rt.VolumeReductionFilterPress(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', solids=(), user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

A filter press unit for the dewatering of mixed excreta in volume reduction generation II reinveted toilet [1]

The following componenet should be included in system thermo object for simulation: Water.

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

Parameters:
  • ins (Iterable(stream)) – Pasteurized solids waste for dewatering treatment

  • outs (Iterable(stream)) – Liquids and solids produced from filter press.

  • sludge_moisture (float) – Moisture content of the solids cake after filter press [wt% water].

References

[1] YEE et al. VOLUME REDUCTION SOLIDS TREATMENT SYSTEM. https://patents.google.com/patent/WO2023288327A1/en?oq=WO2023288327A1

[2] Bev Express multi-plate sheet filter (ME-10 model) https://417cb0.p3cdn1.secureserver.net/wp-content/Documents/Tech%20Sheets/Filtration%20Equipment/Plate%20&%20Frame/Beverage%20Express/ErtelAlsop_Bev_ExPRESS_Tech_Sheet.pdf?dl=1

[3] https://www.earthshields.com/how-much-does-geotextile-fabric-cost/# accessed on yyyy-mm-dd

[4] https://www.suezwaterhandbook.com/processes-and-technologies/liquid-sludge-treatment/filter-press/conventional-recessed-plate-filter-press#:~:text=The%20filter%20press%20consumes%20relatively,solids%20depending%20on%20sludge%20type.

[5] https://multimedia.3m.com/mws/media/2113780O/3m-zeta-plus-vs-filter-press-for-beer-clarification-application-brief.pdf

line: str = 'Volume reduction filter press'

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

class qsdsan.unit_operations.static._g2rt.mSCWOConcentratorModule(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', excess_water_recirculate_ratio=1, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

Concentrator unit that evaporizes water by using heat from mSCWO effluent and external heat.

The following components should be included in system thermo object for simulation: H2O, OtherSS, N2O, NH3, CO2, O2, sCOD, xCOD, Tissue

The following impact items should be pre-constructed for life cycle assessment: StainlessSteel, HeatingUnit, ElectricMotor, Pump, Fan, Polyethylene

Parameters:
  • ins (Iterable(stream)) – RO reject liquid, mscwo effluent liquid, mscwo effluent ash

  • outs (Iterable(stream)) – Condensed effluent, recirculation water, fugitive N2O, fugitive CH4, fugitive NH3, water vapor

  • excess_water_recirculate_ratio (float, optional, 0 to 1) – fraction of excess water that recirculates to ultrafiltration. Defaults to 1.

References

[1] YEE et al. Water oxidation non-sewered single unit toilet system.

https://patentimages.storage.googleapis.com/57/6a/81/72a168a92be44c/WO2023288331A1.pdf

line: str = 'MSCWOConcentrator module'

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

class qsdsan.unit_operations.static._g2rt.mSCWOGasModule(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', P=15500000.0, eta=0.7, vle=False, compressor_type='Reciprocating', driver=None, material=None, driver_efficiency=None, include_construction=True, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

Gas handling unit that consisted of compressors and an injection pressure vessel

The following components should be included in system thermo object for simulation: O2, N2, CO2

The following impact items should be pre-constructed for life cycle assessment: Compressor_4kW, Compressor_300kW, StainlessSteel

Parameters:
  • ins (Iterable(stream)) – Air in

  • outs (Iterable(stream)) – Compressed air out

  • P (float) – Outlet pressure [Pa].

  • eta (float) – Isothermal efficiency.

  • vle (bool) – Whether to perform phase equilibrium calculations on the outflow. If False, the outlet will be assumed to be the same phase as the inlet.

  • type (str) – Type of compressor : blower/centrifugal/reciprocating. If None, the type will be determined automatically.

References

[1] YEE et al. Water oxidation non-sewered single unit toilet system. https://patentimages.storage.googleapis.com/57/6a/81/72a168a92be44c/WO2023288331A1.pdf

line: str = 'MSCWOGas module'

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

class qsdsan.unit_operations.static._g2rt.mSCWOReactorModule(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', material_replacement_cost=None, reactor_system_cost=None, user_scale_up=1, extreme=False, capital_scale_func=None, **kwargs)

Reactor unit that performs organic oxidation to CO2 by supercritical water oxidation.

The following components should be included in system thermo object for simulation: H2O, OtherSS, N2O, NH3, CO2, O2, sCOD, xCOD, Tissue, N2, O2

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

Parameters:
  • ins (Iterable(stream)) – compressed air (221 bar) , homogenized feces solids

  • outs (Iterable(stream)) – gas product mixture, N2O, treated effluent, ash

References

[1] YEE et al. Water oxidation non-sewered single unit toilet system.

https://patentimages.storage.googleapis.com/57/6a/81/72a168a92be44c/WO2023288331A1.pdf

line: str = 'MSCWOReactor module'

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