diff --git a/docs/source/api/sanunits/_index.rst b/docs/source/api/sanunits/_index.rst index 5d9fd32e..9723d21c 100644 --- a/docs/source/api/sanunits/_index.rst +++ b/docs/source/api/sanunits/_index.rst @@ -39,6 +39,7 @@ Individual Unit Operations DynamicInfluent ElectrochemicalCell Excretion + facilities Flash heat_exchanging hydroprocessing diff --git a/docs/source/api/sanunits/facilities.rst b/docs/source/api/sanunits/facilities.rst new file mode 100644 index 00000000..c26b1141 --- /dev/null +++ b/docs/source/api/sanunits/facilities.rst @@ -0,0 +1,4 @@ +Distillation +============ +.. automodule:: qsdsan.sanunits._facilities + :members: \ No newline at end of file diff --git a/qsdsan/_sanunit.py b/qsdsan/_sanunit.py index 2a9cbbb0..ff08fc21 100644 --- a/qsdsan/_sanunit.py +++ b/qsdsan/_sanunit.py @@ -19,7 +19,7 @@ # %% -import numpy as np +import numpy as np, biosteam as bst from collections import defaultdict from collections.abc import Iterable from warnings import warn diff --git a/qsdsan/sanunits/__init__.py b/qsdsan/sanunits/__init__.py index 625ad879..2ea075d7 100644 --- a/qsdsan/sanunits/__init__.py +++ b/qsdsan/sanunits/__init__.py @@ -42,6 +42,7 @@ from ._dynamic_influent import * from ._electrochemical_cell import * from ._excretion import * +from ._facilities import * from ._heat_exchanging import * from ._junction import * from ._non_reactive import * @@ -89,6 +90,7 @@ _dynamic_influent, _electrochemical_cell, _excretion, + _facilities, _flash, _heat_exchanging, _hydroprocessing, @@ -132,6 +134,7 @@ *_dynamic_influent.__all__, *_electrochemical_cell.__all__, *_excretion.__all__, + *_facilities.__all__, *_flash.__all__, *_heat_exchanging.__all__, *_hydroprocessing.__all__, diff --git a/qsdsan/sanunits/_distillation.py b/qsdsan/sanunits/_distillation.py index e19fc55f..b81cda4a 100644 --- a/qsdsan/sanunits/_distillation.py +++ b/qsdsan/sanunits/_distillation.py @@ -17,7 +17,10 @@ import biosteam as bst, qsdsan as qs -__all__ = ('BinaryDistillation',) +__all__ = ( + 'BinaryDistillation', + 'ShortcutColumn', + ) _lb_to_kg = qs.utils.auom('lb').conversion_factor('kg') @@ -42,4 +45,15 @@ def _design(self): self.construction = [ qs.Construction('carbon_steel', linked_unit=self, item='Carbon_steel', quantity=(D['Rectifier weight'] + D['Stripper weight'])*_lb_to_kg, quantity_unit='kg'), - ] \ No newline at end of file + ] + + + +class ShortcutColumn(bst.units.ShortcutColumn, qs.SanUnit): + ''' + biosteam.units.ShortcutColumn with QSDsan properties. + + See Also + -------- + `biosteam.units.ShortcutColumn `_ + ''' \ No newline at end of file diff --git a/qsdsan/sanunits/_facilities.py b/qsdsan/sanunits/_facilities.py new file mode 100644 index 00000000..f75a5e83 --- /dev/null +++ b/qsdsan/sanunits/_facilities.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +''' +QSDsan: Quantitative Sustainable Design for sanitation and resource recovery systems + +This module is developed by: + + Yalin Li + +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. +''' + +import biosteam as bst, qsdsan as qs + +__all__ = ( + 'ProcessWaterCenter', + ) + +class ProcessWaterCenter(bst.facilities.ProcessWaterCenter, qs.SanUnit): + ''' + biosteam.facilities.ProcessWaterCenter with QSDsan properties. + + See Also + -------- + `biosteam.facilities.ProcessWaterCenter `_ + ''' \ No newline at end of file