class VacuumSystem(unit=None, vacuum_system_preference=None, F_mass=None, F_vol=None, P_suction=None, vessel_volume=None)[source]#

Create an auxiliary vacuum system for a unit operation.

  • unit (Unit, optional) – Main unit operation containing the auxiliary vacuum system. Missing parameters are estimated through this unit operation, if given.

  • F_mass (float, optional) – Vapor mass flow rate entering vacuum system from vessel [kg/hr] (not including inleakage). Defaults to the vapor volumetric flow rate exiting unit.

  • F_vol (float, optional) – Vapor volumetric flow rate entering vacuum system from vessel [m3/hr] (not including inleakage). Defaults to the vapor mass flow rate exiting unit.

  • P_suction (float, optional) – Suction pressure [Pa]. Defaults to unit.P or the minimum outlet pressure.

  • vessel_volume (Union`[:py:class:`float, list`[:py:class:`float], None]) – Vacuum volume [m3]. Defaults to unit.design_results[‘Total volume’].

  • vacuum_system_preference (str, optional) – Name(s) of preferred vacuum systems. Valid names include ‘Liquid-ring pump’, ‘Steam-jet ejector’, and ‘Dry-vacuum pump’.


The vacuum system is sized/costed based on the vapor flow rate through the vacuum system, which includes the inleakage into the vessel through fixtures and cracks. The inleakage is a function of the suction pressure and the total vessel volume as in [1].

BioSTEAM’s CSTR, Flash, and Distillation columns automatically include a vacuum system when needed.


Create vessel with a vacuum system:

>>> import biosteam as bst
>>> class VacuumVessel(bst.Unit):
...     auxiliary_unit_names = ('vacuum_system',) # Mark attributes as auxiliary
...     _units = {'Total volume': 'm3'} # This is needed for the vacuum system
...     P = 1000 # Pa
...     tau = 4 # hr
...     def _run(self):
...         self.outs[0].P = 1000 # Pa
...     def _design(self):
...         self.design_results['Total volume'] = self.feed.F_vol * self.tau
...         self.vacuum_system = bst.VacuumSystem(self)
>>> bst.settings.set_thermo(['Water'])
>>> feed = bst.Stream('feed', Water=1e6)
>>> V1 = VacuumVessel('V1', ins=feed)
>>> V1.simulate()
>>> V1.results()
Vacuum vessel                                                Units        V1
Medium pressure steam Duty                                   kJ/hr  1.04e+07
                      Flow                                 kmol/hr       288
                      Cost                                  USD/hr      79.3
Cooling water         Duty                                   kJ/hr -9.37e+06
                      Flow                                 kmol/hr   6.4e+03
                      Cost                                  USD/hr      3.12
Design                Total volume                              m3  7.23e+04
Purchase cost         Vacuum system - Steam-jet ejecto...      USD  8.18e+04
Total purchase cost                                            USD  8.18e+04
Utility cost                                                USD/hr      82.4

For simplicity, this example does not include the cost of the vessel, but vessel costs should be included for techno-economic analysis.