MultiEffectEvaporator#
- class MultiEffectEvaporator(ID='', ins=None, outs=(), thermo=None, **kwargs)[source]#
Creates evaporatorators with pressures given by P (a list of pressures). Adjusts first evaporator vapor fraction to satisfy an overall fraction evaporated. All evaporators after the first have zero duty. Condenses the vapor coming out of the last evaporator. Pumps all liquid streams to prevent back flow in later parts. All liquid evaporated is ultimately recondensed. Cost is based on required heat transfer area. Vacuum system is based on air leakage. Air leakage is based on volume, as given by residence time tau and flow rate to each evaporator.
- Parameters:
ins (
Stream
], optional) – Inlet.outs (
Stream
], optional) –[0] Solid-rich stream.
[1] Condensate stream.
P (tuple[float]) – Pressures describing each evaporator (Pa).
V (float) – Molar fraction evaporated as specified in V_definition (either overall or in the first effect).
V_definition (str, optional) –
‘Overall’ - V is the overall molar fraction evaporated.
’First-effect’ - V is the molar fraction evaporated in the first effect.
Examples
Concentrate sugar setting vapor fraction at the first effect:
>>> import biosteam as bst >>> bst.process_tools.default() >>> from biorefineries.cellulosic import create_cellulosic_ethanol_chemicals >>> bst.settings.set_thermo(create_cellulosic_ethanol_chemicals()) >>> feed = bst.Stream('feed', Water=1000, Glucose=100, ... AceticAcid=0.5, HMF=0.1, Furfural=0.1, ... units='kg/hr') >>> E1 = bst.MultiEffectEvaporator('E1', ins=feed, outs=('solids', 'liquid'), ... V=0.1, V_definition='First-effect', ... P=(101325, 73581, 50892, 32777, 20000)) >>> E1.simulate() >>> E1.show() MultiEffectEvaporator: E1 ins... [0] feed phase: 'l', T: 298.15 K, P: 101325 Pa flow (kmol/hr): Water 55.5 AceticAcid 0.00833 Furfural 0.00104 HMF 0.000793 Glucose 0.555 outs... [0] solids phase: 'l', T: 333.21 K, P: 20000 Pa flow (kmol/hr): Water 20.5 AceticAcid 0.00183 Furfural 5.96e-05 HMF 0.000793 Glucose 0.555 [1] liquid phase: 'l', T: 352.11 K, P: 20000 Pa flow (kmol/hr): Water 35 AceticAcid 0.0065 Furfural 0.000981
>>> E1.results() Multi-effect evaporator Units E1 Electricity Power kW 5.72 Cost USD/hr 0.447 Low pressure steam Duty kJ/hr 5.83e+05 Flow kmol/hr 15.1 Cost USD/hr 3.58 Cooling water Duty kJ/hr -3.5e+05 Flow kmol/hr 239 Cost USD/hr 0.117 Design Area m^2 11 Volume m^3 3.51 Purchase cost Evaporators (x5) USD 9.56e+03 Condenser - Double pipe USD 5.36e+03 Vacuum system - Liquid-ring pump... USD 1.24e+04 Total purchase cost USD 2.73e+04 Utility cost USD/hr 4.15
Concentrate sugar setting overall vapor fraction:
>>> import biosteam as bst >>> from biorefineries.cellulosic import create_cellulosic_ethanol_chemicals >>> bst.settings.set_thermo(create_cellulosic_ethanol_chemicals()) >>> feed = bst.Stream('feed', Water=1000, Glucose=100, ... AceticAcid=0.5, HMF=0.1, Furfural=0.1, ... units='kg/hr') >>> E1 = bst.MultiEffectEvaporator('E1', ins=feed, outs=('solids', 'liquid'), ... V=0.1, V_definition='Overall', ... P=(101325, 73581, 50892, 32777, 20000)) >>> E1.simulate() >>> E1.show() MultiEffectEvaporator: E1 ins... [0] feed phase: 'l', T: 298.15 K, P: 101325 Pa flow (kmol/hr): Water 55.5 AceticAcid 0.00833 Furfural 0.00104 HMF 0.000793 Glucose 0.555 outs... [0] solids phase: 'l', T: 354.91 K, P: 50892 Pa flow (kmol/hr): Water 50 AceticAcid 0.00683 Furfural 0.000535 HMF 0.000793 Glucose 0.555 [1] liquid phase: 'l', T: 361.13 K, P: 50892 Pa flow (kmol/hr): Water 5.55 AceticAcid 0.0015 Furfural 0.000506
>>> E1.results() Multi-effect evaporator Units E1 Electricity Power kW 5.72 Cost USD/hr 0.447 Low pressure steam Duty kJ/hr 3.84e+05 Flow kmol/hr 9.94 Cost USD/hr 2.36 Cooling water Duty kJ/hr -1.15e+05 Flow kmol/hr 78.8 Cost USD/hr 0.0384 Design Area m^2 1.62 Volume m^3 3.07 Purchase cost Evaporators (x3) USD 2.74e+03 Condenser - Double pipe USD 3.9e+03 Vacuum system - Liquid-ring pump... USD 1.24e+04 Total purchase cost USD 1.91e+04 Utility cost USD/hr 2.85
Concentrate sugar setting overall vapor fraction:
>>> import biosteam as bst >>> from biorefineries.cellulosic import create_cellulosic_ethanol_chemicals >>> bst.settings.set_thermo(create_cellulosic_ethanol_chemicals()) >>> feed = bst.Stream('feed', Water=1000, Glucose=100, ... AceticAcid=0.5, HMF=0.1, Furfural=0.1, ... units='kg/hr') >>> E1 = bst.MultiEffectEvaporator('E1', ins=feed, outs=('solids', 'liquid'), ... V=0.1, V_definition='Overall', ... P=(101325, 73581, 50892, 32777, 20000)) >>> E1.simulate() >>> E1.show() MultiEffectEvaporator: E1 ins... [0] feed phase: 'l', T: 298.15 K, P: 101325 Pa flow (kmol/hr): Water 55.5 AceticAcid 0.00833 Furfural 0.00104 HMF 0.000793 Glucose 0.555 outs... [0] solids phase: 'l', T: 354.91 K, P: 50892 Pa flow (kmol/hr): Water 50 AceticAcid 0.00683 Furfural 0.000535 HMF 0.000793 Glucose 0.555 [1] liquid phase: 'l', T: 361.13 K, P: 50892 Pa flow (kmol/hr): Water 5.55 AceticAcid 0.0015 Furfural 0.000506
>>> E1.results() Multi-effect evaporator Units E1 Electricity Power kW 5.72 Cost USD/hr 0.447 Low pressure steam Duty kJ/hr 3.84e+05 Flow kmol/hr 9.94 Cost USD/hr 2.36 Cooling water Duty kJ/hr -1.15e+05 Flow kmol/hr 78.8 Cost USD/hr 0.0384 Design Area m^2 1.62 Volume m^3 3.07 Purchase cost Evaporators (x3) USD 2.74e+03 Condenser - Double pipe USD 3.9e+03 Vacuum system - Liquid-ring pump... USD 1.24e+04 Total purchase cost USD 1.91e+04 Utility cost USD/hr 2.85
-
line:
str
= 'Multi-effect evaporator'# class-attribute Name denoting the type of Unit class. Defaults to the class name of the first child class
-
auxiliary_unit_names:
tuple
[str
, ...] = ('condenser', 'mixer', 'vacuum_system', 'evaporators')# class-attribute Name of attributes that are auxiliary units. These units will be accounted for in the purchase and installed equipment costs without having to add these costs in the
baseline_purchase_costs
dictionary. Heat and power utilities are also automatically accounted for.
- property Type#
Evaporation type.
- property V_definition#
[str] Must be one of the following: * ‘Overall’ - Defines attribute V as the overall molar fraction evaporated. * ‘First-effect’ - Defines attribute V as the molar fraction evaporated in the first effect. * ‘First-effect duty’ - Defines attribute V as the supplied duty over the total duty required to achived a vapor fraction of 1 at the first effect .
-
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