機器ユニットの計算結果

バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト"BioSTEAM"の機器ユニットの計算結果(シミュレーション結果)の見方を蒸留塔のモデルを使って解説しています。 オリジナルのページはUnit operation resultsです。 ソースコードは以下の実行環境で確認しています。
  • Visual Studio Code バージョン: 1.104.2
  • 拡張機能:Jupyter バージョン 2025.8.0
  • Python 3.12.10
  • biosteam 2.52.13
  • graphviz-14.0.2

機器ユニットの計算結果

設計とモデル化に関するメモ

BioSTEAM には、設計の教科書や文献[1–5] をもとに構成された、幅広い機器モデルとコスト相関式が含まれています。 ポンプ熱交換器フラッシュ蒸留器ミキサーセトラー(媒抽出を行いながら2液に比重分離する装置)、蒸留塔などの基本的な機器ユニットは、非常に厳密にモデル化され、設計されています。 これらの基本的な機器ユニットは、運転温度と圧力、供給条件、構造材料、分離温度といった設計仕様に基づいて生成できます。 これらの設計仕様には、熱交換器の伝熱面積、圧力容器のサイズや板厚、蒸留塔の段数(ステージ数)が含まれますが、これらに限定されているわけではありません。 他の単位操作モデルは、分離器(スプリッター)としてモデル化されることが多く、これは「ユニットに流入する各成分の所定の割合が分離される」という意味です。 また、これらの装置の購入価格は、サイズ係数との相関を用いて推定されます。この相関式は最終的に、物質の流量を基にした関数として表されます。 BioSTEAMでは、各機器ユニットの設計仕様や要件に基づいて、購入コストの相関や、建設係数を選定します。 各機器ユニットの詳細なドキュメントや使用例については、機器ユニットの説明をご参照ください。

蒸留塔モデル

BioSTEAMの機器ユニットモデルがどの様に結果を算出するか、蒸留塔モデルを例に説明します。
  1. 蒸留塔モデル
  2. from biosteam import Stream, settings
    import biosteam as bst
    bst.nbtutorial()
    
    # 最初に使用する物質の物性を設定します
    settings.set_thermo(['Water', 'Ethanol'])
    
    # 分離したい供給ストリームの気泡点データをストリームから取得してセットします
    feed = Stream('feed', Water=1.08e+03, Ethanol=586)
    bp = feed.bubble_point_at_P()
    feed.T = bp.T # 供給ストリームfeedの温度をその気泡点温度にセット
    
    # 蒸留塔モデルを生成し、シミュレーションします
    # 2成分を「バイナリ蒸留塔」で分離します
    # 3つ以上の成分を対象としたい場合は、「ショートカットカラム(簡易蒸留塔)」を使って下さい
    # 複雑な蒸留操作を行う場合、「MESHDistillation(メッシュ蒸留塔)」を使用します
    
    D1 = bst.BinaryDistillation(
        'D1', ins=feed,
        outs=('distillate', 'bottoms_product'),
        LHK=('Ethanol', 'Water'), # 軽質成分と重質成分としたい成分を設定します
        y_top=0.79, # 塔頂の軽質成分のモル分率
        x_bot=0.001, # 塔底の軽質成分のモル分率
        k=1.25, # 分離係数、実環流比/最少還流比 
        is_divided=True, # 濃縮部と還元部が分離されているかどうか
    )
    D1.diagram(format='png')
    D1.show()
    BinaryDistillation: D1
    ins...
    [0] feed  
        phase: 'l', T: 354.28 K, P: 101325 Pa
        flow (kmol/hr): Water    1.08e+03
                        Ethanol  586
    outs...
    [0] distillate  
        phase: 'l', T: 298.15 K, P: 101325 Pa
        flow: 0
    [1] bottoms_product  
        phase: 'l', T: 298.15 K, P: 101325 Pa
        flow: 0
    bubble_point_at_P()は、ストリームの気泡点(Bubble point)のデータを取得できます。気泡点とは、ある溶液が最初に蒸気の泡を作り、その溶液の気化を開始する温度である(圧力一定時)純粋な液体であれば、気泡点は沸点と呼ばれる。しかし、溶液が2つ以上の成分から構成されている場合、溶液の沸点は純粋な溶媒とは異なり、バブルポイントと呼ばれる[*1]そうです。
  3. 設計に関する結果design_results
  4. シミュレーションを実行する前に、結果が出力されるところに何もなく、ストリームも空で構成要素も初期化されて空になっていることを確認します。
    D1.design_results
    {}
  5. 購入コストpurchase_costs
  6. D1.purchase_costs
    {}
  7. 熱関係heat_utilities
  8. D1.heat_utilities
    {}
  9. 電力関係power_utility
  10. D1.power_utility
    PowerUtility:
    consumption: 0 kW
    production: 0 kW
    power: 0 kW
    cost: 0 USD/hr
    全ての機器ユニットがdesign_resultspurchase_costsheat_utilitiespower_utilityの計算結果の属性を持ちます。 heat_utilitiesは蒸気や冷却水などの熱源・冷却に関する熱的ユーティリティオブジェクトのリストで、 power_utilityは電力に関する電力ユーティリティオブジェクトです。 機器ユニットによっては、その機器ユニットに特有の属性や構成要素が含まれている場合もあります。蒸留塔モデルに含まれる、凝縮器(コンデンサー)を見てみましょう。
  11. 凝縮器(コンデンサー)
  12. D1.condenser.diagram()
    D1.condenser.show()
    HXutility: condenser
    ins...
    [0] vapor  from  BinaryDistillation-D1
        phase: 'g', T: 298.15 K, P: 101325 Pa
        flow: 0
    outs...
    [0] to  RefluxDrum-reflux_drum
        phases: ('g', 'l'), T: 298.15 K, P: 101325 Pa
         flow: 0
  13. シミュレーションの実行
  14. シミュレーションを実行します。まずoutsで、insのfeedが留出製品(distillate)と塔底製品(bottoms_product)に分離された結果が分かります。それぞれ、水とエタノールがモル分率でどの程度になったかを示しています。 詳細な結果は、この機器ユニットのdesign_resultspurchase_costsutilitiesに格納されます。
    D1.simulate()
    D1.diagram(format='png')
    D1.show(T='degC', P='atm', composition=True)
    BinaryDistillation: D1
    ins...
    [0] feed  
        phase: 'l', T: 81.125 degC, P: 1 atm
        composition (%): Water    64.8
                         Ethanol  35.2
                         -------  1.67e+03 kmol/hr
    outs...
    [0] distillate  
        phase: 'g', T: 78.484 degC, P: 1 atm
        composition (%): Water    21
                         Ethanol  79
                         -------  741 kmol/hr
    [1] bottoms_product  
        phase: 'l', T: 99.64 degC, P: 1 atm
        composition (%): Water    99.9
                         Ethanol  0.1
                         -------  925 kmol/hr
  15. 凝縮器(コンデンサー)の計算結果
  16. 凝縮器(コンデンサー)部の流入と流出ストリームを確認します。気相の水、エタノール混合液が、気液混合になっているようです。
    D1.condenser.show()
    HXutility: condenser
    ins...
    [0] vapor  from  BinaryDistillation-D1
        phase: 'g', T: 351.72 K, P: 101325 Pa
        flow (kmol/hr): Water    329
                        Ethanol  1.13e+03
    outs...
    [0] to  RefluxDrum-reflux_drum
        phases: ('g', 'l'), T: 351.63 K, P: 101325 Pa
        flow (kmol/hr): (g) Water    156
                            Ethanol  585
                        (l) Water    173
                            Ethanol  540
  17. 結果design_results
  18. 設計に関わる詳細な結果をdesign_resultsで確認します
    D1.design_results
    {'Theoretical feed stage': 26,
     'Theoretical stages': 31,
     'Minimum reflux': 0.7708366601477002,
     'Reflux': 0.9635458251846253,
     'Rectifier stages': 45.0,
     'Stripper stages': 9.0,
     'Rectifier height': 78.940416,
     'Stripper height': 25.804416,
     'Rectifier diameter': 9.960911054645866,
     'Stripper diameter': 7.836649195211977,
     'Rectifier wall thickness': 0.4375,
     'Stripper wall thickness': 0.375,
     'Rectifier weight': 41839.53745073475,
     'Stripper weight': 12158.22849650827}
  19. コストpurchase_costs
  20. 購入コストはpurchase_costsです。単位はUSDですね。
    D1.purchase_costs
    {'Rectifier trays': 90196.5633778153,
     'Stripper trays': 19469.130282277605,
     'Rectifier tower': 154208.58287314902,
     'Stripper platform and ladders': 48573.03764079211,
     'Stripper tower': 69659.36129843778,
     'Rectifier platform and ladders': 17028.394866860577,
     'Condenser - Floating head': 65776.36616982374,
     'Reflux drum - Vertical pressure vessel': 40913.03779781813,
     'Reflux drum - Platform and ladders': 10650.872732593733,
     'Pump - Pump': 4526.29514053799,
     'Pump - Motor': 440.8000416276018,
     'Reboiler - Floating head': 65109.223990066734}
  21. 熱関係heat_utilities
  22. 熱関係はheat_utilitiesを見ます。
    D1.heat_utilities
    [>cooling_water: -2.84e+07 kJ/hr, 1.94e+04 kmol/hr, 9.45 USD/hr<,
     >low_pressure_steam: 6.26e+07 kJ/hr, 1.62e+03 kmol/hr, 385 USD/hr<]
  23. 電力power_utility
  24. 電力関係はpower_utilityです。
    D1.power_utility
    PowerUtility:
    consumption: 2.49 kW
    production: 0 kW
    power: 2.49 kW
    cost: 0.195 USD/hr
  25. results()メソッド
  26. results()メソッドはこれらの結果を分かりやすく表示してくれます。
    蒸留塔 単位 D1
    Electricity
    (電力関係)
    Power(電力) kW 2.49
    Cost(コスト) USD/hr 0.195
    Cooling water
    (冷却水)
    Duty(熱負荷) kJ/hr -2.84e+07
    Flow(流量) kmol/hr 1.94e+04
    Cost(コスト) USD/hr 9.45
    Low pressure steamr
    (低圧蒸気)
    Duty(熱負荷) kJ/hr 6.26e+07
    Flow(流量) kmol/hr 1.62e+03
    Cost(コスト) USD/hr 385
    Design(設計) Theoretical feed stage(理論供給段) 26
    Theoretical stages(理論段) 31
    Minimum reflux(最少還流比) Ratio 0.771
    Reflux(還流比) Ratio 0.964
    Rectifier stage(精留部の段数) 45
    Stripper stages(脱留部の段数) 9
    Rectifier height(精留部の高さ) ft 78.9
    Stripper height(脱留部の高さ) ft 25.8
    Rectifier diameter(精留部の直径) ft 9.96
    Stripper diameter(脱留部の直径) ft 7.84
    Rectifier wall thickness(精留部の肉厚) in 0.438
    Stripper wall thickness(脱留部の肉厚) in 0.375
    Rectifier weight(精留部質量) lb 4.18e+04
    Stripper weight(脱留部質量) lb 1.22e+04
    Purchase cost
    (購入コスト)
    Rectifier trays(精留部トレー) USD 9.02e+04
    Stripper trays(脱留部トレー) USD 1.95e+04
    Rectifier tower(精留塔) USD 1.54e+05
    Stripper platform and ladders
    (脱留部足場およびはしご)
    USD4.86e+04
    Stripper tower(脱留塔) USD 6.97e+04
    Rectifier platform and ladders
    (精留部足場およびはしご)
    USD 1.7e+04
    Condenser - Floating head
    (凝縮器 - 浮動ヘッド型)
    USD 6.58e+04
    Reflux drum - Vertical pressure vessel
    (リフラックスドラム - 縦型圧力容器)
    USD 4.09e+04
    Reflux drum - Platform and ladders
    (リフラックスドラム 足場およびはしご)
    USD 1.07e+04
    Pump - Pump(ポンプ本体) USD 4.53e+03
    Pump - Motor(ポンプ モーター) USD 441
    Reboiler - Floating head
    (浮動ヘッド型リボイラ)
    USD 6.51e+04
    購入コスト(合計) USD 5.87e+05
    ランニングコスト USD/hr 395
  27. 単位系
  28. これらの結果の単位は_unitsで確認することが出来ます。
    D1._units
    {'Minimum reflux': 'Ratio',
     'Reflux': 'Ratio',
     'Rectifier height': 'ft',
     'Rectifier diameter': 'ft',
     'Rectifier wall thickness': 'in',
     'Rectifier weight': 'lb',
     'Stripper height': 'ft',
     'Stripper diameter': 'ft',
     'Stripper wall thickness': 'in',
     'Stripper weight': 'lb',
     'Height': 'ft',
     'Diameter': 'ft',
     'Wall thickness': 'in',
     'Weight': 'lb'}
  29. 単位を変更して結果を取得
  30. もちろん、結果を別の単位系で取得することも可能です。
    rectifier_height = D1.get_design_result('Rectifier height', 'meter')
    round(rectifier_height)
    24
    完全を期すために、残りの結果も以下に示します。
  31. 凝縮器(コンデンサー)の結果
  32. D1.condenser.diagram()
    D1.condenser.show()
    HXutility: condenser
    ins...
    [0] vapor  from  BinaryDistillation-D1
        phase: 'g', T: 351.72 K, P: 101325 Pa
        flow (kmol/hr): Water    329
                        Ethanol  1.13e+03
    outs...
    [0] to  RefluxDrum-reflux_drum
        phases: ('g', 'l'), T: 351.63 K, P: 101325 Pa
        flow (kmol/hr): (g) Water    156
                            Ethanol  585
                        (l) Water    173
                            Ethanol  540
  33. リボイラーの結果
  34. D1.reboiler.diagram()
    D1.reboiler.show()
    HXutility: reboiler
    ins...
    [0] from  Pump-pump
        phase: 'l', T: 370.63 K, P: 101325 Pa
        flow (kmol/hr): Water    2.36e+03
                        Ethanol  19.6
    outs...
    [0] to  PhaseSplitter-bottoms_split
        phases: ('g', 'l'), T: 372.79 K, P: 101325 Pa
        flow (kmol/hr): (g) Water    1.44e+03
                            Ethanol  18.7
                        (l) Water    924
                            Ethanol  0.925
  35. マッケーブ・シール図
  36. 機器ユニットによっては、便利な特有のメソッドを持つものもあります。蒸留塔モデルにはマッケーブ・シール図を作成するメソッドもあります。
    from matplotlib import pyplot as plt
    D1.plot_stages()
    plt.show()

参考文献

  1. Seider, W. D.; Lewin, D. R.; Seader, J. D.; Widagdo, S.; Gani, R.; Ng, M. K. Cost Accounting and Capital Cost Estimation. In Product and Process Design Principles; Wiley, 2017; pp 426−485.
  2. Svrcek, W. Y.; Monnery, W. D. Design Two-Phase Separators Within the Right Limits. In Chemical Engineering Progress (CEP); The American Institute of Chemical Engineers, 1993; pp 53−60.
  3. Apostolakou, A. A.; Kookos, I. K.; Marazioti, C.; Angelopoulos, K. C. Techno-Economic Analysis of a Biodiesel Production Process from Vegetable Oils. Fuel Process. Technol. 2009, 90, 1023−1031.
  4. Green, D. W. Distillation. In Perry’s Chemical Engineers’ Handbook, 9 ed.; McGraw-Hill Education, 2018.
  5. Duss, M.; Taylor, R. Predict Distillation Tray Efficiency. Chem. Eng. Prog. 2018, 24−30.

参考文献(今回追加したもの)

  1. 気泡点と露点の違いとは?分かりやすく解説!

このブログの人気の投稿

さあ、始めよう!

蒸留塔