投稿

Chemical

バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト" BioSTEAM "の固体、液体、気体を含むプロセス流体を表す Chemical の使い方を説明しています。 オリジナルのページは Chemical です。本家ページは巨大なので、調査した部分のみ、記載しています。徐々に充実させていく予定です。 ソースコードは以下の実行環境で確認しています。 Visual Studio Code バージョン: 1.104.2 拡張機能:Jupyter バージョン 2025.8.0 Python 3.12.10 biosteam 2.52.13 graphviz-14.0.2 Chemical class Chemical ( ID, cache =None , search_ID =None , eos =None , phase_ref =None , CAS =None , default =False , phase =None , V =None , Cn =None , mu =None , Cp =None , rho =None , sigma =None , kappa =None , epsilon =None , Psat =None , Hvap =None , method =None , db ='default' , search_db =True , **data ) [source] Chemical オブジェクトを生成します。 Chemical オブジェクトは一定の物性値に加えて、温度および圧力の関数としての熱力学的性質および輸送物性を含みます。 Tb : プロパティ 標準状態(=101.325kPa)での沸点 [K]。 Tsat ( P, Tguess =None , Tmin =None , Tm...

Unit クラスの継承(2)

イメージ
バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト" BioSTEAM "で、プロセス・パラメータを動的に変更する方法について説明しています。 オリジナルのページは Inheriting from Unit です。 ソースコードは以下の実行環境で確認しています。 Visual Studio Code バージョン: 1.104.2 拡張機能:Jupyter バージョン 2025.8.0 Python 3.12.10 biosteam 2.52.13 graphviz-14.0.2 << 目次 >> Unit クラスの継承 共通の設定 サブクラスの例 シミュレーション テスト Graphvizで作図 装置のコスト計算 付随設備 参考文献 << 本文 >> Unit クラスの継承 装置のコスト計算 各機器の購入価格は、FOB(本船渡し価格)を、基準となるサイズからの指数関数的計算方法を デコレータ構文 [1] を使って計算します。各機器の基準となる代表寸法S(例えば物理的な大きさ、流量、消費電力など)の時のコストを基準に、推定したい装置のサイズをS new とすると、Sからの比率をn乗し、さらに化学工学プラント費用指数(Chemical Engineering Plant Cost Index、CEPCI)を使った年次のコスト上昇を加味して推定します。推定したい装置の購入コスト New cost は計算式で表すと以下のようになります。 \begin{align*} \textit{New cost} & = N \cdot \textit{cost} \left( \frac{CE_{new}}{CE} \right) \left( \frac{S_{new}}{N \cdot S} \right) ^n \\ \end{align*} ここで、 \( N \) : 装置の個数で、 \begin{align*} N & = ceil \left( \frac{S_{new}}{...

Unit クラスの継承(1)

イメージ
バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト" BioSTEAM "で、プロセス・パラメータを動的に変更する方法について説明しています。 オリジナルのページは Inheriting from Unit です。 ソースコードは以下の実行環境で確認しています。 Visual Studio Code バージョン: 1.104.2 拡張機能:Jupyter バージョン 2025.8.0 Python 3.12.10 biosteam 2.52.13 graphviz-14.0.2 << 目次 >> Unit クラスの継承 共通の設定 サブクラスの例 シミュレーション テスト Graphvizで作図 装置のコスト計算 付随設備 参考文献 << 本文 >> Unit クラスの継承 共通の設定 Unit クラスを継承する各機器のモデル(サブクラス)は、以下のクラス変数を持ち、特に指定のない時のデフォルトの値が決められています。 _F_BM_default : [str, float]の組み合わせの辞書型配列で、設置に関するコストを見積るための係数のデフォルト値。 _units :[str, float]の組み合わせの辞書型配列で、計算結果である辞書型配列 design_results の値の単位。 _N_ins =1:[int]流入ストリームの数。デフォルトは1。 _N_outs =1:[int]流出ストリームの数。デフォルトは1。 _ins_size_is_fixed =True:[bool]流入ストリームの数が固定値かどうか。デフォルトはTrue。 _out_size_is_fixed =True:[bool]流出ストリームの数が固定値かどうか。デフォルトはTrue。 auxiliary_unit_names =():tuple[str]補助装置の名前。 _graphics =():[biosteam Graphics]機器を表す図のグラフィック オブジェクト。デフォルトは四角。 _default...

プロセス・パラメータの動的変更

イメージ
バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト" BioSTEAM "で、プロセス・パラメータを動的に変更する方法について説明しています。 オリジナルのページは Process specifications です。 ソースコードは以下の実行環境で確認しています。 Visual Studio Code バージョン: 1.104.2 拡張機能:Jupyter バージョン 2025.8.0 Python 3.12.10 biosteam 2.52.13 graphviz-14.0.2 プロセス・パラメータの動的変更 仕様を満たすためにプロセスのパラメータを動的に調整することは、生産プロセスを設計する上で極めて重要であり、特に不確実な条件がある場合ではなおさら重要です。 BioSTEAM はプロセス仕様を、分析的仕様と数値解析的仕様の 2 つのカテゴリーに分類しています。 分析的仕様とはシステムの単一ループ内で解くことが出来るもの、 一方、数値解析的仕様は、機器ユニットを繰り返し実行したり、リサイクル系を収束させて解く必要があるものとしています。 以下の実例によって、この点が詳しく説明されます。 分析的に求める仕様 バイオ・エタノール製造プラントでの変性剤投入工程 バイオエタノールの流量に応じて添加する変性剤の量を、出来上がり時に変性剤の比率が質量比で2%になるように調整します。 仕様を満たすための関数( specification function ) from biosteam import settings, Chemical, Stream, units, main_flowsheet import biosteam as bst; bst.nbtutorial() # フローシートに名前を付けます main_flowsheet.set_flowsheet('mix_ethanol_with_denaturant') # 使用する成分の熱力学特性を設定します # 実際のプロセスではもっと多くの物質を扱うと思いますが、 # ここでは例として少ない種類で試行します。 set...

モレキュラーシーブ(分子ふるい)

バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト" BioSTEAM "のモレキュラーシーブ(分子ふるい)モデルの使い方について説明しています。 オリジナルのページは MolecularSieve です。 ソースコードは以下の実行環境で確認しています。 Visual Studio Code バージョン: 1.104.2 拡張機能:Jupyter バージョン 2025.8.0 Python 3.12.10 biosteam 2.52.13 graphviz-14.0.2 モレキュラーシーブ(分子ふるい) class MolecularSieve ( ID ='', ins =None, outs =(), split , order =None, P =None, approx_duty =True ) [source] バイオエタノール製造工程におけるエタノールと水分を分離するモレキュラーシーブ(分子ふるい)のモデルです。 モレキュラーシーブ(分子ふるい)は Splitter クラスを継承していて、各成分を個別に分離するモデルです。 コストは、Humbirdら [1] のNREL TEAレポートに基づき、0.6 乗則を適用して算出されます。 パラメータ ID ( str 、省略可) - 一意の識別子(ID)。 ins ( Sequence(順序付きコレクション) [ Stream | str ]、省略可) [0] 供給ストリーム(気体) outs ( Sequence(順序付きコレクション) [ Stream | str ]、省略可) - 流出ストリーム [0] 分離されたストリーム(気体) [1] 残りのストリーム(気...

ベントスクラバー(ベントガス洗浄装置)

イメージ
バイオ・リファイナリー(再生可能資源であるバイオマスを原料にバイオ燃料や樹脂などを製造するプラントや技術)のシミュレーションソフト" BioSTEAM "の沈降槽モデルの使い方について説明しています。 ソースコードは以下の実行環境で確認しています。 Visual Studio Code バージョン: 1.104.2 拡張機能:Jupyter バージョン 2025.8.0 Python 3.12.10 biosteam 2.52.13 graphviz-14.0.2 ベントスクラバー(ベントガス洗浄装置) class VentScrubber ( ID ='', ins =None, outs =(), gas , thermo =None, **kwargs ) [source] ベントスクラバーとは、反応器やタンクなどのベント(排気口)から放出されるガスや蒸気を洗浄・処理するための装置だそうです。 パラメータ ID ( str 、省略可) - 識別子(ID)。 ins ( Sequence(順序付きコレクション) [ Stream | str ]、省略可) - 流入ストリーム [0] 洗浄水 [1] 洗浄したいストリーム outs ( Sequence(順序付きコレクション) [ Stream | str ]、省略可) - 流出ストリーム [0] 排出ガス(Vent) [1] 排出物(effluent) gas ( str ) - 排出したい気体成分 例 サトウキビ由来のバイオ・エタノール製造設備 での使用例を示します。 発酵後のCO 2 を分離しています。 D301...

NRELバイオ反応器

イメージ
” BioSTEAM ”の固体分離モデルの使い方について説明しています。 オリジナルのページは nrel_bioreactor です。 ソースコードは以下の実行環境で確認しています。 Visual Studio Code バージョン: 1.104.2 拡張機能:Jupyter バージョン 2025.8.0 Python 3.12.10 biosteam 2.52.13 graphviz-14.0.2 NRELバイオ反応器 class NRELBatchBioreactor ( ID ='', ins =None, outs =(), tau =None, N =None, V =None, T =305.15, P =101325, Nmin =2, Nmax =36, thermo =None, **kwargs ) [source] Bioreactor クラスという抽象クラスです。反応は反応時間 tau に依存します。 洗浄・排出時間 tau_0 、作業容積比 V_wf 、および反応器数 N_reactors は調整可能なパラメータです。反応器のコストは、Humbirdら [1] NREL のバッチ発酵槽コストに基づき、容積スケーリングを 0.6 乗則を適用して算出されます。 パラメータ ID ( str 、省略可) - 識別子(ID)。 ins ( Sequence(順序付きコレクション) [ Stream | str ]、省略可) - 反応器内で混合される流入ストリーム outs ( Sequence(順序付きコレクション) [ Stream | str ]、省略可) - 流出ストリーム [0] 排出ガス(Vent) [1] 排出物(effluent) tau float 、省略可) ...