タンク(貯蔵タンク、混合タンク、圧力容器等)
バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト"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
- 'horizontal'(横型)
- 'vertical'(横型)
- 'Conventional'(標準据付タンク)
- 'Field erected'(現地建設タンク)
- tau
- V_wf
- vessel_material
- 'Carbon steel'(炭素鋼)
- 'Stainless steel 316'(ステンレス)
- kW_per_m3
- 注意
- purchase_cost_algorithms: 購入コスト推算アルゴリズムのレジストリ(実体)
- dict[str: VesselPurchaseCostAlgorithm]: そのレジストリの型定義
容器の型。str。
滞留時間[hr]。float。
有効容量の全容量に対する割合。float。
材質。str。
体積当たりの消費電力 [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} \)
購入価格はこれもタンクの型によって決まります。
また、子クラスは以下のクラス属性とメソッドを実装する必要があります。
選択された容器タイプに利用可能な購入コスト推算アルゴリズム一覧になります。
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]に基づいています。
採用可能なタンクの型と、購入価格はそれぞれの参考文献を参照してください。
サトウキビ由来のバイオ・エタノール製造設備での使用例を示します。
# 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
参考文献
-
[1]
-
[2]Seider, W. D., Lewin, D. R., Seader, J. D., Widagdo, S., Gani, R., & Ng, M. K. (2017). Product and Process Design Principles. Wiley. Cost Accounting and Capital Cost Estimation (Chapter 16)

