シミュレーターは基本的に求められる入力を埋めていけば解を得ることができますが、シミュレーターを走らせる前に注意しておいた方が良いことがありますので、使用時の注意点をまとめていきます。
当たり前だと思われる方が殆どかとは思いますが、シミュレーションを行う時には、達成したい目的があります。
概念設計の段階なのか、詳細設計、あるいは既に運転されているのかによってもシミュレーションの目的は変わってきますが、たまにシミュレーションモデルの設定が殆どデフォルトのまま計算されていたり、スペックとなるべき変数が計算値になっているモデルを目にすることがあります。
なにが確定している情報で、なにを求めるために計算するのか、求めたい結果を得るためには(と言ってしまうと逆説的に聞こえてしまうかもしれませんが)どういった入力が重要となるのか、どの程度の粒度のモデリングが必要なのかを整理した上でモデリングを進めた方が、後戻りしたり、不必要な検討に時間を費やしてしまうことが避けられます。手を動かし始める前に、まずは以降に記載したような内容を頭の隅に置いていただくことをお勧めします。
シミュレーターもデフォルト値のままである場合は表示色を変えたり、ワーニングメッセージを出したりといった工夫はなされています。なかなかなにが問題なのかを把握するのは難しいので、理想を言えば、シミュレーターがもっと賢くなって、対話型式でアドバイスを与えながらモデル構築ができるようになればと思います。しかし、まだここ数年以内にそうした機能が実装されるとは思えませんので、残念ながら現状は使い手が意識的にシミュレーターを使いこなす必要があります。
シミュレーターで用いられる化学工学式、物性推算法には、それぞれ想定される適用範囲があります。あらゆる場面で、万能に使える式があるわけではないので、検討を始める際には各シミュレーターが標準で備えている式が、検討の条件範囲をカバーしているかを把握しておくことが重要です。
例えば温度依存物性については、シミュレーターによって、外挿範囲まで同じ式で表現するのか、あるいは上下限値における傾きで計算を行うか等の選択ができるケースがあります。
また化学工学式の中には、粘度等の諸物性や、Reynolds数等の無次元数の範囲によって推奨式が変わるケースもあります。
化学工学式の中には、真面目に解こうとすると、計算条件によっては解くのが難しくなるケースがあり、場合によっては特定の範囲で式を簡略化しているケースがあります。
一例として、簡単な圧力損失計算について以下に示します。
単相の亜音速域の圧力損失計算については、圧力損失と流量の関係を\(F=k \sqrt {\rho DP } \)の形で表現します。
上記の式は例えば以下のような2ケースで問題が起きます。
1.逆流が発生するケース:つまり、DPが負となるケースでは、平方根の中身が負となってしまいます。
このため、通常はシグナム関数を使って表現します。
2.圧力損失がゼロに近いケース:つまり流れが殆ど無いケースでは、傾きが無限となっていくため、真面目に計算しようとすると、ニュートン法ベースで解こうとする場合、発散してしまいます。
このため、ある圧力損失を下回った場合は圧力損失と流量の関係を線形化するといった対応が取られます。まとめると、以下のような式となります。
同様の考え方は、例えば強制対流伝熱から自然対流伝熱への切り替わり等でも重要になります。
シミュレーターは、汎用的な計算条件でまずは計算できるように、様々なデフォルト値を用意しています。
例えば配管の粗度はCrane410から0.0457mmとしていたり、材質については炭素鋼の密度や比熱を使っていたりといった形で、ユーザー入力が無くとも計算ができるようになっています。
しかしこうしたデフォルト値やデフォルトの式は、シミュレーションを行う前に、確認しておく必要があります。
例えばデフォルト値やデフォルトの式を用いた場合に起こる問題の例として、以前私が見たことのある事例を紹介します。
1.減圧蒸留塔における熱容量の影響減圧蒸留塔においては、カラム内のホールドアップ量が非常に小さいため、通常であれば影響の無い大気からの入熱量が大きく影響する場合があります。
カラムのデフォルトのマス重量を変更していなかったため、時間当たりの入熱量がカラムを変動させ、スタートアップ時の不安定性を引き起こしたケースがありました。
2.コンプレッサーの回転数変化速度制約の影響コンプレッサーのコースとダウン検討時、デフォルトで設定されているコンプレッサーの回転数変化速度制約にひっかかり、なかなか回転数が落ちていかないというケースがありました。
シミュレーションによっては、こうした上下限値の見直しも重要になります。
3.微小初期成分の影響こちらはDYNSIMでの例になりますが、DYNSIMの場合、MixerやSplitterといったユニットにおいて、0.1m3程度の微小体積のホールドアップが設定されており、登録成分の加算平均で初期組成が自動設定されます。大型のプラントであれば無視しうる値ですが、ppmオーダーの成分除去を行う必要がある場合や、パイロットスケールのような小型のプラント検討を行うば場合は、0.1m3のホールドアップに設定された初期成分は問題となります。
検討されたいプラントのスケールによっては、初期設定の見直しが重要になるケースもあります。
非定常計算を行う場合は、定常計算と比べると気を付けなくてはいけない点が各段に増えます。
例えばスタートアップやシャットダウンといった非定常操作をシミュレーションする場合、ドライスタートアップ時から定常状態までの間における昇温、昇圧操作によっては全ての運転条件をカバーする物性推算法を考える必要がありますし、定常モデルでの検討時はVLEで計算していたカラムが立ち上げ段階で2液相領域となる場合は、カラムの相指定を考える必要が出てくる場合もあります。
また、一時的に負圧となり逆流が発生する場合は、逆流条件の考慮が必要となるケースもありますので、境界条件の決め方には注意が必要です。
シミュレーションモデルを作成する際に、躓きやすい例として、プラントの細かい設定まで全て入れ込むことで正確なモデルを作ろうとし、いざモデルを計算させた際に発散してしまい挫折してしまうケースがあります。
シミュレーションモデルを作成する際には、どのような計算結果を、いつまでに、どの程度の精度で得たいのかによって、情報の取捨選択が重要です。
短い配管であれば、前後の配管に容量、抵抗を統合してしまったり、あるいはまとめてヘッダーに容積を寄せて配管自体はホールドアップ無で計算することもあります。
Pressure-Flowのネットワーク計算は、当然ながらネットワーク内の要素が増えるほど、収束が難しくなります。
正確なモデリングを行うために、全てを現実のプラント通りに入力しようとし勝ちですが、シミュレーション結果に大きく響かないような部分については積極的に情報をカットしていく方が、安定的なモデルを作ることができます。
個人的にはこうした匙加減と言いますか、バランス感覚がモデル作成の上では重要だと思います。
いきなり全体フローを作り始めるのではなく、まずは物性を確認した後、重要なポイントに注目して小さい、ラフなモデルから作成し、収束状態を維持しながら少しずつモデルを拡張、厳密にしていくことが重要です。
プロセスシミュレーターは大型のプラントモデルでもモデリングができますが、個々の単位操作においては、基本的にCFDソフトのように微視的な流動状態までは見ていません。
酸化反応器のように、流れ方向や径方向での酸素の泡形状が影響したり、タンク内での偏流によるタンク内での濃度分布を考慮したりといった検討はプロセスシミュレーターには不向きと言えます。
しばしばこうした検討に対しては、CFDとプロセスシミュレーターの連成が求められるケースがありますが、別のアプローチとしてブラックボックスモデルによる表現が用いられるケースもあります。
AVEVA Process Simulationでは、Pythonとの連携が容易であることから、こうしたグレーボックスモデリングの試みも始められています。
物性の詳細については、物性のページに一部まとめていますが、このページではシミュレーターでの物性の確認方法について少しまとめたいと思います。
プロセスシミュレーターで、フローシートを作成する際は、細かいことですが見やすいフローシートを作成することを強くお勧めします。
例えば、複雑なロジックを構築する場合等、頭を整理しながらモデルを組む必要がある際に、見た目を気にせず作ってしまうと、後で見返した際に自分でもどのようにロジックが動作するのかパッと見ても分からなくなってしまいます。このような作り方をしてしまうと、当然他の人が見た際には訳が分からなくなってしまいます。
見た目を整えながら、必要な場合にはテキストによる注釈の挿入や、色の変更等も使ってモデルを作っておくと、後々で自分が楽になります。一例として、簡単なロジックモデルのフロー図をご紹介します。
当サイトに不具合、ご意見等ございましたらCEsolutionにお知らせください。