MolecularSieve#
- class MolecularSieve(ID='', ins=None, outs=(), thermo=None, **kwargs)[source]#
Create an ethanol/water molecular sieve for bioethanol plants. The molecular sieve is modeled as a component wise separator. Costing is based on scaling by the 6/10ths rule from an NREL TEA report [1].
- Parameters:
ins (
Stream
], optional) –[0] Feed (gas)
outs (
Stream
], optional) –[0] Split stream (gas)
[1] Remainder stream (gas)
split (array_like) – Componentwise split to the 0th output stream
Examples
>>> from biosteam import Stream, settings >>> from biosteam.units import MolecularSieve >>> settings.set_thermo(['Water', 'Ethanol'], cache=True) >>> feed = Stream('feed', flow=(75.7, 286), T=351.39, phase='g') >>> bp = feed.bubble_point_at_T() >>> feed.T = bp.T >>> MS1 = MolecularSieve('MS1', ins=feed, ... outs=('ethanol_rich', 'water_rich'), ... split=dict(Water=0.160, ... Ethanol=0.925)) >>> MS1.simulate() >>> MS1.show(T='degC', P='atm', composition= True) MolecularSieve: MS1 ins... [0] feed phase: 'g', T: 78.24 degC, P: 1 atm composition (%): Water 20.9 Ethanol 79.1 ------- 362 kmol/hr outs... [0] ethanol_rich phase: 'g', T: 78.24 degC, P: 1 atm composition (%): Water 4.38 Ethanol 95.6 ------- 277 kmol/hr [1] water_rich phase: 'g', T: 78.24 degC, P: 1 atm composition (%): Water 74.8 Ethanol 25.2 ------- 85 kmol/hr
>>> MS1.results() Molecular sieve Units MS1 Electricity Power kW 14.2 Cost USD/hr 1.11 Low pressure steam Duty kJ/hr 3.21e+06 Flow kmol/hr 83 Cost USD/hr 19.7 Cooling water Duty kJ/hr -1.18e+05 Flow kmol/hr 80.9 Cost USD/hr 0.0395 Design Flow rate kg/hr 2.13e+03 Purchase cost Column USD 6.85e+05 Total purchase cost USD 6.85e+05 Utility cost USD/hr 20.9
References
-
line:
str
= 'Molecular sieve'# class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class
-
heat_utilities:
list
[HeatUtility
, ...]# All heat utilities associated to unit. Cooling and heating requirements are stored here (including auxiliary requirements).
-
power_utility:
PowerUtility
# Electric utility associated to unit (including auxiliary requirements).
-
F_BM:
dict
[str
,float
]# All bare-module factors for each purchase cost. Defaults to values in the class attribute
_F_BM_default
.
-
design_results:
dict
[str
, object]# All design requirements excluding utility requirements and detailed auxiliary unit requirements.
-
baseline_purchase_costs:
dict
[str
,float
]# All baseline purchase costs without accounting for design, pressure, and material factors.
-
purchase_costs:
dict
[str
,float
]# Itemized purchase costs (including auxiliary units) accounting for design, pressure, and material factors (i.e.,
F_D
,F_P
,F_M
). Items here are automatically updated at the end of unit simulation.
-
installed_costs:
dict
[str
,float
]# All installed costs accounting for bare module, design, pressure, and material factors. Items here are automatically updated at the end of unit simulation.
-
equipment_lifetime:
int
|dict
[str
,int
]# Lifetime of equipment. Defaults to values in the class attribute
_default_equipment_lifetime
. Use an integer to specify the lifetime for all items in the unit purchase costs. Use a dictionary to specify the lifetime of each purchase cost item.
-
run_after_specifications:
bool
# Whether to run mass and energy balance after calling specification functions