Source code for biosteam.units._duplicator

# -*- coding: utf-8 -*-
# BioSTEAM: The Biorefinery Simulation and Techno-Economic Analysis Modules
# Copyright (C) 2020, Yoel Cortes-Pena and contributors <yoelcortes@gmail.com>
# 
# This module is under the UIUC open-source license. See 
# github.com/BioSTEAMDevelopmentGroup/biosteam/blob/master/LICENSE.txt
# for license details.
"""
"""

from .._unit import Unit

__all__ = ('Duplicator',)


[docs] class Duplicator(Unit, isabstract=True): """ Create a Duplicator object that takes in one inlet stream and duplicates it to all outlet streams. Parameters ---------- ins : Inlet stream. outs : Duplicated outlet streams. Examples -------- Create a Duplicator object with an ID and any number of outlet streams: >>> from biosteam import settings, Stream, units >>> settings.set_thermo(['Water', 'Ethanol'], cache=True) >>> feed = Stream('feed', Water=20, Ethanol=10, T=340) >>> D1 = units.Duplicator('D1', ins=feed, outs=('out_a', 'out_b', 'out_c')) >>> D1.simulate() >>> D1.show() Duplicator: D1 ins... [0] feed phase: 'l', T: 340 K, P: 101325 Pa flow (kmol/hr): Water 20 Ethanol 10 outs... [0] out_a phase: 'l', T: 340 K, P: 101325 Pa flow (kmol/hr): Water 20 Ethanol 10 [1] out_b phase: 'l', T: 340 K, P: 101325 Pa flow (kmol/hr): Water 20 Ethanol 10 [2] out_c phase: 'l', T: 340 K, P: 101325 Pa flow (kmol/hr): Water 20 Ethanol 10 """ _N_outs = 2 _outs_size_is_fixed = False def _load_stream_links(self): feed, = self.ins duplicated_outs = self.outs for stream in duplicated_outs: stream.link_with(feed) def _run(self): pass