Skip to content

Commit c97b541

Browse files
committed
fix doc
1 parent d2488b8 commit c97b541

2 files changed

Lines changed: 87 additions & 23 deletions

File tree

biosteam/units/aerated_bioreactor.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -134,26 +134,26 @@ class AeratedBioreactor(AbstractStirredTankReactor):
134134
135135
Examples
136136
--------
137-
import biosteam as bst
138-
from biorefineries.sugarcane import chemicals
139-
bst.settings.set_thermo(chemicals)
140-
feed = bst.Stream('feed',
141-
Water=1.20e+05,
142-
Glucose=2.5e+04,
143-
units='kg/hr',
144-
T=32+273.15)
145-
# Model oxygen uptake as combustion
146-
rxn = bst.Rxn(
147-
'Glucose + O2 -> H2O + CO2', reactant='Glucose', X=0.5,
148-
correct_atomic_balance=True
149-
)
150-
R1 = bst.AeratedBioreactor(
151-
ins=[feed, bst.Stream('air', phase='g')],
152-
outs=('vent', 'product'), tau=12, V_max=500,
153-
reactions=rxn,
154-
)
155-
R1.simulate()
156-
R1.show()
137+
>>> import biosteam as bst
138+
>>> from biorefineries.sugarcane import chemicals
139+
>>> bst.settings.set_thermo(chemicals)
140+
>>> feed = bst.Stream('feed',
141+
... Water=1.20e+05,
142+
... Glucose=2.5e+04,
143+
... units='kg/hr',
144+
... T=32+273.15)
145+
>>> # Model oxygen uptake as combustion
146+
>>> rxn = bst.Rxn(
147+
... 'Glucose + O2 -> H2O + CO2', reactant='Glucose', X=0.5,
148+
... correct_atomic_balance=True
149+
... )
150+
>>> R1 = bst.AeratedBioreactor(
151+
... ins=[feed, bst.Stream('air', phase='g')],
152+
... outs=('vent', 'product'), tau=12, V_max=500,
153+
... reactions=rxn,
154+
... )
155+
>>> R1.simulate()
156+
>>> R1.show()
157157
AeratedBioreactor: R1
158158
ins...
159159
[0] feed

biosteam/units/anaerobic_bioreactor.py

Lines changed: 67 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,79 @@
2626
class AnaerobicBioreactor(AbstractStirredTankReactor):
2727
"""
2828
Create an anaerobic bioreactor with a vented stream and an effluent stream.
29-
{description_doc}
29+
The reactor is designed as a pressure vessel with a given aspect ratio and
30+
residence time. A pump-heat exchanger recirculation loop can be used to satisfy
31+
the duty, if any. By default, a turbine agitator is also included if the
32+
power usage, `kW_per_m3`, is positive. A vacuum system is also
33+
automatically added if the operating pressure is at a vacuum.
3034
3135
Parameters
3236
----------
33-
{parameters_doc}
37+
tau :
38+
Residence time [hr].
39+
T :
40+
Operating temperature [K].
41+
P :
42+
Operating pressure [Pa].
43+
V_wf :
44+
Fraction of working volume over total volume. Defaults to 0.8.
45+
V_max :
46+
Maximum volume of a reactor [m3]. Defaults to 355.
47+
kW_per_m3 :
48+
Power usage of agitator. Defaults to 0.985 [kW / m3] converted from
49+
5 hp/1000 gal as in [1]_, for liquid–liquid reaction or extraction.
50+
vessel_material :
51+
Vessel material. Defaults to 'Stainless steel 316'.
52+
vessel_type :
53+
Vessel type. Valid options are 'Horizontal' or 'Vertical'. Defaults to 'Vertical'
54+
batch :
55+
Whether to use batch operation mode. If False, operation mode is continuous.
56+
Defaults to `continuous`.
57+
tau_0 :
58+
Cleaning and unloading time (if batch mode). Defaults to 3 hr.
59+
N_reactors :
60+
Number of reactors.
61+
heat_exchanger_configuration :
62+
What kind of heat exchanger to default to (if any). Valid options include
63+
'jacketed', 'recirculation loop', and 'internal coil'. Defaults to 'recirculation loop'.
64+
dT_hx_loop :
65+
Maximum change in temperature for the heat exchanger loop. Defaults to 5 K.
66+
jacket_annular_diameter :
67+
Annular diameter of heat exchanger jacket to vessel [m]. Defaults to 0.1 m.
68+
loading_time :
69+
Loading time of batch reactor. If not given, it will assume each vessel is constantly
70+
being filled.
3471
3572
Notes
3673
-----
37-
{notes_doc}
74+
The heat exchanger configuration can be one of the following:
75+
76+
* 'recirculation loop':
77+
The recirculation loop takes into account the required flow rate needed to
78+
reach the maximum temperature change of the heat exchanger, `dT_hx_loop`.
79+
Increasing `dT_hx_loop` decreases the required recirculation flow rate and
80+
therefore decreases pump costs.
81+
82+
When parallel reactors are required, one recirculation loop (each with a
83+
pump and heat exchanger) is assumed. Although it is possible to use the
84+
same recirculation loop for all reactors, this conservative assumption allows
85+
for each reactor to be operated independently from each other.
86+
87+
* 'jacketed':
88+
The jacket does not account for the heat transfer area requirement.
89+
It simply assumes that a full jacket can provide the necessary heat transfer
90+
area to meet the duty requirement. A heuristic annular diameter is assumed
91+
through `jacket_annular_diameter` (which can be adjusted by the user).
92+
The temperature at the wall is assumed to be the operating temperature.
93+
The weight of the jacket is added to the weight of the vessel and the
94+
cost is compounded together as a jacketed vessel.
95+
96+
* 'internal coil':
97+
The internal coil is costed as an ordinary helical tube heat exchanger
98+
with the added assumption that the temperature at the wall is the
99+
operating temperature. This method is still not implemented in BioSTEAM
100+
yet.
101+
38102
39103
Examples
40104
--------

0 commit comments

Comments
 (0)