Membrane Distillation

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.sanunits._membrane_distillation.MembraneDistillation(ID='', ins: Sequence[AbstractStream] | None = None, outs: Sequence[AbstractStream] | None = (), thermo=None, init_with='WasteStream', include_construction=True, lifetime={'Membrane': 7920}, influent_pH=8.16, target_pH=10, N_S_ratio=2, m2_2_m3=0.0008333333333333334, Dm=2.28e-05, porosity=0.9, thickness=7.000000000000001e-05, tortuosity=1.2, Henry=1.6100000000000002e-05, Ka=1.7500000000000002e-05, capacity=6.01, membrane_price=93.29)

Membrane distillation recovers nitrogen as ammonia sulfate based on vapor pressure difference across the hydrophobic membrane. Water flux across membrane is ignored.

Parameters:
  • ins (Iterable(stream)) – influent, acid, base, mem_in.

  • outs (Iterable(stream)) – ammonium sulfate, ww, mem_out.

  • influent_pH (float) – Influent pH.

  • target_pH (float) – Target pH for membrane distillation.

  • N_S_ratio (float) – mol(N) to mol(S) ratio.

  • m2_2_m3 (float) – m2 to m3 factor, 1/specific surface area, [m3/m2].

  • Dm (float) – NH3 molecular diffusivity in air, [m2/s].

  • porosity (float) – Membrane porosity.

  • thickness (float) – Membrane thickness, [m].

  • tortuosity (float) – Membrane tortuosity.

  • Henry (float) – NH3 Henry constant, [atm*m3/mol].

  • Ka (float) – Overall mass transfer coefficient, [m/s].

  • capacity (float) – Membrane treatment capacity (permeate flux), [kg/m2/h].

  • membrane_price (float) – Membrane price, [$/kg] ([$/m2]).

References

[1] Li, Y.; Tarpeh, W. A.; Nelson, K. L.; Strathmann, T. J.

Quantitative Evaluation of an Integrated System for Valorization of Wastewater Algae as Bio-Oil, Fuel Gas, and Fertilizer Products. Environ. Sci. Technol. 2018, 52 (21), 12717–12727. https://doi.org/10.1021/acs.est.8b04035.

[2] Doran, P. M. Chapter 11 - Unit Operations. In Bioprocess Engineering

Principles (Second Edition); Doran, P. M., Ed.; Academic Press: London, 2013; pp 445–595. https://doi.org/10.1016/B978-0-12-220851-5.00011-3.

[3] Spiller, L. L. Determination of Ammonia/Air Diffusion Coefficient Using

Nafion Lined Tube. Analytical Letters 1989, 22 (11–12), 2561–2573. https://doi.org/10.1080/00032718908052375.

[4] Scheepers, D. M.; Tahir, A. J.; Brunner, C.; Guillen-Burrieza, E.

Vacuum Membrane Distillation Multi-Component Numerical Model for Ammonia Recovery from Liquid Streams. Journal of Membrane Science 2020, 614, 118399. https://doi.org/10.1016/j.memsci.2020.118399.

[5] Ding, Z.; Liu, L.; Li, Z.; Ma, R.; Yang, Z. Experimental Study of Ammonia

Removal from Water by Membrane Distillation (MD): The Comparison of Three Configurations. Journal of Membrane Science 2006, 286 (1), 93–103. https://doi.org/10.1016/j.memsci.2006.09.015.

[6] Al-Obaidani, S.; Curcio, E.; Macedonio, F.; Di Profio, G.; Al-Hinai, H.;

Drioli, E. Potential of Membrane Distillation in Seawater Desalination: Thermal Efficiency, Sensitivity Study and Cost Estimation. Journal of Membrane Science 2008, 323 (1), 85–98. https://doi.org/10.1016/j.memsci.2008.06.006.

[7] Kogler, A.; Farmer, M.; Simon, J. A.; Tilmans, S.; Wells, G. F.;

Tarpeh, W. A. Systematic Evaluation of Emerging Wastewater Nutrient Removal and Recovery Technologies to Inform Practice and Advance Resource Efficiency. ACS EST Eng. 2021, 1 (4), 662–684. https://doi.org/10.1021/acsestengg.0c00253.

[8] Pikaar, I.; Guest, J.; Ganigue, R.; Jensen, P.; Rabaey, K.; Seviour, T.;

Trimmer, J.; van der Kolk, O.; Vaneeckhaute, C.; Verstraete, W.; Resource Recovery from Water: Principles and Applicaiton. IWA 2022.

line: str = 'Membrane distillation'

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