BatchBioreactor#
- class BatchBioreactor(ID='', ins=None, outs=(), thermo=None, **kwargs)[source]#
Abstract Bioreactor class. Conversion is based on reaction time, tau. Cleaning and unloading time,`tau_0`, fraction of working volume, V_wf, and number of reactors, N_reactors, are attributes that can be changed. The cost of a reactor is based on the NREL batch fermentation tank cost assuming volumetric scaling with a 6/10th exponent [1].
Abstract methods
- _run():
Must set outlet stream flows.
- Parameters:
ins (
Stream
], optional) – Inlet fluids to be mixed into the reactor.outs (
Stream
], optional) –[0] Vent
[1] Effluent
tau (float) – Reaction time [hr].
N (int, optional) – Number of batch reactors
V (float, optional) – Target volume of reactors [m^3].
T=305.15 (float) – Operating temperature of reactor [K].
P=101325 (float) – Operating pressure of reactor [Pa].
Nmin=2 (int) – Minimum number of fermentors.
Nmax=36 (int) – Maximum number of fermentors.
Notes
Either N or V must be given.
References
- autoselect_N = False#
[bool] If True, number of reactors (N) is chosen as to minimize installation cost in every simulation. Otherwise, N remains constant.
- tau_0 = 3#
[float] Cleaning and unloading time (hr).
- V_wf = 0.9#
[float] Fraction of filled tank to total tank volume.
- property effluent#
Equivalent to
outs
[0] when the number of outlets is 1.
- property N#
[int] Number of reactor.
- property V#
[float] Reactor volume.
-
line:
str
= 'Batch bioreactor'# 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