タンク(貯蔵タンク、混合タンク、圧力容器等)

バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト"BioSTEAM"のタンク(貯蔵タンク、混合タンク、圧力容器等)のモデルの使い方について説明しています。 オリジナルのページはtankです。 ソースコードは以下の実行環境で確認しています。
  • Visual Studio Code バージョン: 1.104.2
  • 拡張機能:Jupyter バージョン 2025.8.0
  • Python 3.12.10
  • biosteam 2.52.13
  • graphviz-14.0.2

タンク(貯蔵タンク、混合タンク、圧力容器等)

class Tank(ID='', ins=None, outs=(), thermo=None, **kwargs ) [source]

タンク・クラスの抽象クラスです。
  • vessel_type
  • 容器の型。str
    • 'horizontal'(横型)
    • 'vertical'(横型)
    • 'Conventional'(標準据付タンク)
    • 'Field erected'(現地建設タンク)
    など。
  • tau
  • 滞留時間[hr]。float
  • V_wf
  • 有効容量の全容量に対する割合。float
  • vessel_material
  • 材質。str
    • 'Carbon steel'(炭素鋼)
    • 'Stainless steel 316'(ステンレス)
    など。
  • kW_per_m3
  • 体積当たりの消費電力 [kW/m3]。 float
  • 注意
  • 総体積 \( V_{total} \) [m3]は以下の式で計算されます。
    \( V_{total} = \frac{\tau \cdot Q}{V_{wf}} \)

    ここで、\( \tau \)は滞留時間[hr]、\( Q \) は流量 [m3/hr]、\( V_{wf} \) は有効容量の全容量に対する割合。

    さらに、タンクの個数はceil:ceiling function(天井関数)を使って、切り上げます。

    \( V_{total} = Ceil \left( \frac{V_{total}}{V_{max}} \right) \)

    \( V_{max} \)はタンクの型によって決まる最大値です。

    一つのタンクの体積[m3]は、以下の式で計算されます。

    \( V = \frac{V_{total}}{N} \)

    購入価格はこれもタンクの型によって決まります。

    また、子クラスは以下のクラス属性とメソッドを実装する必要があります。

    • purchase_cost_algorithms: 購入コスト推算アルゴリズムのレジストリ(実体)
    • dict[str: VesselPurchaseCostAlgorithm]: そのレジストリの型定義

    選択された容器タイプに利用可能な購入コスト推算アルゴリズム一覧になります。

class MixTank(ID='', ins=None, outs =(), thermo=None, **kwargs ) [source]

滞留時間を基にした体積を持つ混合タンクです。
  • パラメータ
    • ID (str、省略可) - 識別子(ID)。
    • ins (Sequence(順序付きコレクション)[Stream|str]、省略可) - 混合される流入ストリーム
    • outs (Sequence(順序付きコレクション)[Stream|str]、省略可) - 流出ストリーム
    • vessel_type ( str、省略可) - 容器の型。デフォルトは'Field erected'(現地建設タンク)です。
    • tau ( float、省略可) - 滞留時間[hr]。デフォルトは1 hrです。
    • V_wf ( float、省略可) - 有効容量の全容量に対する割合。デフォルトは0.8です。
    • vessel_material ( str、省略可) - 材質。デフォルトは'Stainless steel'(ステンレス)です。
    • kW_per_m3 ( float、省略可) - 体積当たりの消費電力 [kW/m3]。デフォルトは0.0985 kW_per_m3です。
  • 注意
  • 設計諸元の詳細や、コスト計算のアルゴリズムは親のTankクラスを参照してください。 購入価格のアルゴリズムはApostolakouら[1]に、 電力消費についてはSeiderら[2]に基づいています。

    採用可能なタンクの型と、購入価格はそれぞれの参考文献を参照してください。

    • 'Field erected'(現地建設タンク)はApostolakouら[1]
    • 'Floating roof'(浮き屋根式)はSeiderら[2]
    • 'Cone roof'(円錐屋根式タンク)はSeiderら[2]
  • サトウキビ由来のバイオ・エタノール製造設備での使用例を示します。
    # Mix in acid
    T203 = units.MixTank('T203', [H201-0, H3PO4])
    T203.show('wt10')
    MixTank: T203
    ins...
    [0] s12  from  HXutility-H201
        phase: 'l', T: 343.15 K, P: 101325 Pa
        flow (kg/hr): Water          2.96e+05
                      Glucose        4.27e+03
                      Sucrose        4.84e+04
                      Cellulose      672
                      Hemicellulose  395
                      Lignin         358
                      Ash            65.6
    [1] H3PO4  
        phase: 'l', T: 298.15 K, P: 101325 Pa
        flow (kg/hr): Water  92.6
                      H3PO4  92.6
    outs...
    [0] s13  to  Pump-P201
        phase: 'l', T: 343.13 K, P: 101325 Pa
        flow (kg/hr): Water          2.96e+05
                      Glucose        4.27e+03
                      Sucrose        4.84e+04
                      H3PO4          92.6
                      Cellulose      672
                      Hemicellulose  395
                      Lignin         358
                      Ash            65.6

class StorageTank(ID='', ins=None, outs =(), thermo=None, **kwargs ) [source]

滞留時間を基にした体積を持つ貯蔵槽(タンク)です。
  • パラメータ
    • ID (str、省略可) - 識別子(ID)。
    • ins (Sequence(順序付きコレクション)[Stream|str]、省略可) - 流入ストリーム
    • outs (Sequence(順序付きコレクション)[Stream|str]、省略可) - 流出ストリーム
    • vessel_type ( str、省略可) - 容器の型。デフォルトは'Field erected'(現地建設タンク)です。
    • tau ( float、省略可) - 滞留時間[hr]。デフォルトは672 hrです。
    • V_wf ( float、省略可) - 有効容量の全容量に対する割合。デフォルトは1です。
    • vessel_material ( str、省略可) - 材質。デフォルトは'Stainless steel'(ステンレス)です。
    • kW_per_m3 ( float、省略可) - 体積当たりの消費電力 [kW/m3]。デフォルトは0 kW_per_m3です。
  • 注意
  • 設計諸元の詳細や、コスト計算のアルゴリズムは親のTankクラスを参照してください。 購入価格のアルゴリズムはApostolakouら[1]に、 電力消費についてはSeiderら[2]に基づいています。
  • バイオエタノール貯蔵のための炭素鋼製、浮き屋根式の貯蔵タンクを作ります。
    from biosteam import units, settings, Stream
    settings.set_thermo(['Ethanol'], cache=True)
    feed = Stream('feed', Ethanol=23e3, units='kg/hr')
    effluent = Stream('effluent')
    T1 = units.StorageTank('T1', ins=feed, outs=effluent,
                           tau=7*24, # In hours
                           vessel_type='Floating roof',
                           vessel_material='Carbon steel')
    T1.simulate()
    T1.show(flow='kg/hr')
    StorageTank: T1
    ins...
    [0] feed  
        phase: 'l', T: 298.15 K, P: 101325 Pa
        flow (kg/hr): Ethanol  2.3e+04
    outs...
    [0] effluent  
        phase: 'l', T: 298.15 K, P: 101325 Pa
        flow (kg/hr): Ethanol  2.3e+04

参考文献

このブログの人気の投稿

さあ、始めよう!

蒸留塔

機器ユニットの計算結果