Septic Tank

QSDsan: Quantitative Sustainable Design for sanitation and resource recovery systems This module is developed by:

Yalin Li <>

Hannah Lohman <>

Tori Morgan <>

This module is under the University of Illinois/NCSA Open Source License. Please refer to for license details.

class qsdsan.sanunits._septic_tank.SepticTank(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', include_construction=True, degraded_components=('OtherSS',), if_capture_biogas=False, if_N2O_emission=True, if_include_front_end=True, if_generate_struvite=True, if_struvite_in_sludge=True, ppl=1, sludge_moisture_content=0.95, **kwargs)

Septic tank that anaerobically treat the influent waste stream, often used as a primary treatment unit.

Designed based on the Reclaimer system as described in and Trotochaud et al.

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

  • ins (Iterable(stream)) – waste: liquid waste stream to be treated by septic tank unit. MgOH2: input Mg(OH)2 for struvite precipitation.

  • outs (Iterable(stream)) – treated: treated liquid leaving septic tank. CH4: fugitive CH4 emissions. N2O: fugitive N2O emissions. sludge: solid waste to be sent to sludge pasteurization, could include the precipitated struvite. struvite: a separate struvite stream when if_generate_struvite is True.

  • if_include_front_end (bool) – If the front end is included in the analysis.

  • if_generate_struvite (bool) – If generating struvite.

  • if_struvite_in_sludge (bool) – If the generated struvite is in sludge.

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

  • sludge_moisture_content (float) – Moisture content of the sludge, assumed to be 0.95 based on Tchobanoglous et al. (sludge leaving anaerobic treatment 2-5% solids).


[1] 2019.06 Technical report for BMGF V3 _ CC 2019.06.13.pdf [2] Tchobanoglous et al., Wastewater Engineering: Treatment and Resource Recovery, McGraw-Hill Education, New York, 5th edn., 2013.

line: str = 'Septic tank'

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.