Skip to content

Commit 8e795d3

Browse files
committed
implement reactive distillation; improve inside-out method
1 parent 75933d3 commit 8e795d3

File tree

6 files changed

+314
-129
lines changed

6 files changed

+314
-129
lines changed

biosteam/_tea.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ def total_costs(self):
403403
return sum([i[1] for i in self.data])
404404
else:
405405
N = len(self.data[0])
406-
return [sum([i[index] for i in self.data]) for index in range(1, N)]
406+
return np.array([sum([i[index] for i in self.data]) for index in range(1, N)])
407407

408408
def table(self):
409409
names = self.names

biosteam/process_tools/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -426,8 +426,8 @@ def get_OSBL(units):
426426
427427
"""
428428
return [i for i in units
429-
if isinstance(i, (bst.Facility, bst.StorageTank))
430-
or 'storage' in i.line.lower()
429+
if isinstance(i, (bst.Facility, bst.StorageTank)) and not 'surge' in i.line.lower()
430+
or 'storage' in i.line.lower()
431431
or 'wastewater' in i.line.lower()]
432432

433433
def heat_exchanger_operation(units):

biosteam/units/distillation.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2765,7 +2765,7 @@ class MESHDistillation(MultiStageEquilibrium, new_graphics=False):
27652765

27662766
def _init(self,
27672767
LHK, N_stages, feed_stages,
2768-
reflux=None, boilup=None,
2768+
reflux=None, boilup=None, bottoms_product_to_feed=None,
27692769
P=101325,
27702770
vapor_side_draws=None, liquid_side_draws=None,
27712771
stage_reactions=None,
@@ -2806,6 +2806,8 @@ def _init(self,
28062806
stage_specifications[0] = ('Reflux', reflux)
28072807
if boilup is not None:
28082808
stage_specifications[-1] = ('Boilup', boilup)
2809+
if bottoms_product_to_feed is not None:
2810+
stage_specifications[-1] = ('Flow', bottoms_product_to_feed)
28092811
super()._init(N_stages=N_stages, feed_stages=feed_stages,
28102812
top_side_draws=vapor_side_draws,
28112813
bottom_side_draws=liquid_side_draws,
@@ -2988,7 +2990,7 @@ def update_liquid_holdup(self):
29882990
Ks = Ua * sqrt(rho_V / (rho_L - rho_V)) # Capacity parameter
29892991
Phi_e = exp(-4.257 * Ks**0.91) # Effective relative froth density
29902992
Lw = 0.73 * diameter * 12 # Weir length [in] assuming Ad/A = 0.1
2991-
# TODO: Compute weir length or other Ad/A
2993+
# TODO: Compute weir length for other Ad/A
29922994
qL = liquid.get_total_flow('gal/min')
29932995
CL = 0.362 + 0.317 * exp(-3.5 * weir_height)
29942996
hL = Phi_e * (hw + CL * (qL / (Lw * Phi_e)) ** b) # equivalent height of clear liquid holdup [in]

0 commit comments

Comments
 (0)