(57)【特許請求の範囲】
【請求項１】
複数のプロセッサがシミュレーション演算を並列して行うことにより、発電プラントの挙動を模擬するプラントシミュレータであって、
プラントの挙動を演算するための複数の数理モデルがデータ種別と関連付けられて格納されている数理モデル格納手段と、
前記データ種別毎に前記数理モデルを前記プロセッサに割り当てる演算割り当て手段と
を備え、
前記データ種別の一つは、非線形モデルであり、
前記演算割り当て手段は、予め設定されている演算負荷以上の前記数理モデルを抽出し、抽出した前記数理モデルのうち、演算負荷の大きい順に前記数理モデルを優先的に割り当てるとともに、各前記プロセッサの演算負荷が略均等となるように、前記数理モデルの割り当てを行い、
前記演算割り当て手段は、非線形モデルの前記数理モデルを前記プロセッサに割り当てる非線形演算割り当て手段を有し、
前記非線形演算割り当て手段は、
非線形モデルの前記数理モデルの中から、予め設定されている演算負荷以上の前記数理モデルを抽出し、抽出した前記数理モデルのうち、演算負荷の大きい順に所定数の前記数理モデルを抽出し、抽出した各前記数理モデルを個別の前記プロセッサにそれぞれ割り当てるステップと、
非線形モデルの前記数理モデルが割り当てられた前記プロセッサを含む、シミュレーション演算を実行する各前記プロセッサの演算負荷が略均等となるように、他の非線形モデルの数理モデルを割り当てるステップと
を実行するプラントシミュレータ。
【請求項２】
前記演算割り当て手段は、１つの前記プロセッサに対して、同一または類似のデータ種別の数理モデルが割り当てられるように、前記数理モデルの割り当てを行う請求項１に記載のプラントシミュレータ。
【請求項３】
前記演算割り当て手段は、演算行列の大きさに基づいて演算負荷を判断する請求項１または２に記載のプラントシミュレータ。
【請求項４】
前記演算割り当て手段は、線形モデルのうち、蒸気系統の圧力計算の数理モデルを前記非線形演算割り当て手段によって抽出された前記非線形モデルの数理モデルが割り当てられていない、いずれかの前記プロセッサに割り当てる圧力演算割り当て手段を備える請求項１から請求項３のいずれかに記載のプラントシミュレータ。
【請求項５】
前記演算割り当て手段は、線形モデルのうち、燃焼系統の体積計算の数理モデルを、前記非線形演算割り当て手段によって抽出された前記非線形モデルの数理モデルも前記蒸気系統の圧力計算の数理モデルも割り当てられていない、いずれかの前記プロセッサに割り当てる体積演算割り当て手段を備える請求項４に記載のプラントシミュレータ。
【請求項６】
前記演算割り当て手段は、線形モデルのうち、配管に関する伝熱計算の数理モデル、弁に関する伝熱計算の数理モデル、及びポンプファンに関する伝熱計算の数理モデルをそれぞれ異なる前記プロセッサに分散させて割り当てる伝熱計算割り当て手段を備える請求項１から請求項５のいずれかに記載のプラントシミュレータ。
【請求項７】
複数のプロセッサがシミュレーション演算を並列して行うことにより、発電プラントの挙動を模擬するプラントシミュレータに適用される演算割り当て方法であって、
前記プラントシミュレータは、前記発電プラントの挙動を演算するための複数の数理モデルがデータ種別と関連付けられて格納されている数理モデル格納手段を有し、
コンピュータが、前記データ種別毎に前記数理モデルを前記プロセッサに割り当てる演算割り当てステップを実行し、
前記データ種別の一つは、非線形モデルであり、
前記演算割り当てステップでは、予め設定されている演算負荷以上の前記数理モデルを抽出し、抽出した前記数理モデルのうち、演算負荷の大きい順に前記数理モデルを優先的に割り当てるとともに、各前記プロセッサの演算負荷が略均等となるように、前記数理モデルの割り当てを行い、
前記演算割り当てステップは、非線形モデルの前記数理モデルを前記プロセッサに割り当てる非線形演算割り当てステップを有し、
前記非線形演算割り当てステップは、
非線形モデルの前記数理モデルの中から、予め設定されている演算負荷以上の前記数理モデルを抽出し、抽出した前記数理モデルのうち、演算負荷の大きい順に所定数の前記数理モデルを抽出し、抽出した各前記数理モデルを個別の前記プロセッサにそれぞれ割り当てるステップと、
非線形モデルの前記数理モデルが割り当てられた前記プロセッサを含む、シミュレーション演算を実行する各前記プロセッサの演算負荷が略均等となるように、他の非線形モデルの数理モデルを割り当てるステップと
を有するプラントシミュレータの演算割り当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントシミュレータ及びプラントシミュレータの演算割り当て方法に関するものである。
【背景技術】
【０００２】
従来、火力発電プラント、原子力発電プラント等の発電プラントにおいて、運転員の教育及び訓練に利用される運転訓練用シミュレータが開発されている（例えば、特許文献１、２参照）。このような運転訓練用シミュレータを複数のプロセッサによる並列処理により実施する場合、発電プラントの構成要素が連結されたプラントモデルを作成し、各プロセッサに対して機器単位の数理モデルを割り当てることにより、演算を実行させていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−６１７８号公報
【特許文献２】特開２０１１−７５６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、シミュレーション速度についての更なる高速化の要請（例えば、現実の挙動に対して１０倍速）があり、この要請を満足するようなシミュレータの開発が必要とされている。しかしながら、機器単位で数理モデルを各プロセッサに割り当てる従来の方法では、各プロセッサに割り当てられる演算負荷にばらつきが生じてしまうことから、並列処理を効率的に進行させることができず、時間的なロスの発生により、上記の要請を満足するような高速化が望めないという問題があった。例えば、各プロセッサの演算負荷にばらつきが生じてしまうと、処理を終える時間がプロセッサ間でばらつくため、早く処理を終了したプロセッサは、他のプロセッサの処理が終了するまで待たなければならず、無駄な待ち時間が生じていた。
また、シミュレーション速度は、各プロセッサに対して機器単位の数理モデルを割り当てることで各プロセッサの処理を平準化するには限界があるため、他のプロセッサの処理の終了までの無駄な待ち時間を十分には解消できず、シミュレーション速度の高速化を実現するには、各プロセッサの数量を更に増加させて並列処理数を増加することで対処するなど、シミュレータのコスト増加の要因となっていた。
【０００５】
本発明は、このような事情に鑑みてなされたものであって、シミュレーション速度の更なる高速化を図ることの可能なプラント運転シミュレータ及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１態様は、複数のプロセッサがシミュレーション演算を並列して行うことにより、発電プラントの挙動を模擬するプラントシミュレータであって、プラントの挙動を演算するための複数の数理モデルがデータ種別と関連付けられて格納されている数理モデル格納手段と、前記データ種別毎に前記数理モデルを前記プロセッサに割り当てる演算割り当て手段とを備え、前記データ種別の一つは、非線形モデルであり、前記演算割り当て手段は、予め設定されている演算負荷以上の前記数理モデルを抽出し、抽出した前記数理モデルのうち、演算負荷の大きい順に前記数理モデルを優先的に割り当てるとともに、各前記プロセッサの演算負荷が略均等となるように、前記数理モデルの割り当てを行い、前記演算割り当て手段は、非線形モデルの前記数理モデルを前記プロセッサに割り当てる非線形演算割り当て手段を有し、前記非線形演算割り当て手段は、非線形モデルの前記数理モデルの中から、予め設定されている演算負荷以上の前記数理モデルを抽出し、抽出した前記数理モデルのうち、演算負荷の大きい順に所定数の前記数理モデルを抽出し、抽出した各前記数理モデルを個別の前記プロセッサにそれぞれ割り当てるステップと、非線形モデルの前記数理モデルが割り当てられた前記プロセッサを含む、シミュレーション演算を実行する各前記プロセッサの演算負荷が略均等となるように、他の非線形モデルの数理モデルを割り当てるステップとを実行するプラントシミュレータである。
【０００７】
本態様によれば、数理モデル格納手段には、プラントの挙動を表す複数の数理モデルがデータ種別と関連付けられて分類されて格納されており、各プロセッサの演算負荷が略均等となるように、演算割り当て手段によって、数理モデルがデータ種別毎に複数のプロセッサにそれぞれ割り当てられる。これにより、各プロセッサの使用率、換言すると、各プロセッサの演算時間を略均一にすることができ、シミュレータ速度を向上させることが可能となる。
更に、本態様によれば、従来に行われていた機器毎ではなく、データ種別毎に処理内容を分割した数理モデルの割り当てを行うので、演算の特殊性に応じた割り当てを行うことが可能となる。また、予め設定されている演算負荷以上の数理モデルを抽出し、抽出した数理モデルのうち、演算負荷の大きい順に数理モデルを優先的にプロセッサに割り当てるので、各プロセッサの演算負荷が略均等となるような数理モデルの割り当てを比較的容易に行うことが可能となり、必要以上にプロセッサの数量を増加する必要性を解消することが可能となる。
また、本態様によれば、非線形モデルの数理モデルは、線形モデルの数理モデルに比べて演算負荷が高く、処理時間も長くなるが、演算負荷の大きい数理モデルを優先的にプロセッサに割り当てるので、各プロセッサの演算負荷が略均等となるような数理モデルの割り当てを比較的容易に行うことが可能となる。
【０００８】
上記プラントシミュレータにおいて、前記演算割り当て手段は、１つの前記プロセッサに対して、同一または類似のデータ種別の数理モデルが割り当てられるように、前記数理モデルの割り当てを行うこととしてもよい。
【０００９】
上記構成によれば、同一または類似のデータ種別の数理モデルを一つのプロセッサに割り当てることにより、同じような処理を繰り返し行わせることが可能となる。これにより、演算速度の向上が期待できる。
【００１２】
上記プラントシミュレータにおいて、前記演算割り当て手段は、演算行列の大きさに基づいて演算負荷を判断することとしてもよい。
【００１３】
演算行列の大きさが同じであれば、演算時間もほぼ同じであるとみなすことができるため、演算行列の大きさを演算負荷の大きさの指標として利用することで、容易にかつ効率的に、数理モデルの割り当てを行うことが可能となる。
【００１４】
上記プラントシミュレータにおいて、前記演算割り当て手段は、線形モデルのうち、蒸気系統の圧力計算の数理モデルを前記非線形演算割り当て手段によって抽出された前記非線形モデルの数理モデルが割り当てられていない、いずれかの前記プロセッサに割り当てる圧力演算割り当て手段を備えていてもよい。
【００１５】
蒸気系統の圧力計算は、線形モデルの数理モデルの中で、重要な位置を占めており、また、演算負荷の比較的大きいことから、他の線形モデルに比べて演算時間も長くなる。したがって、このような蒸気系統の圧力計算の数理モデルについては、非線形演算割り当て手段によって抽出された非線形モデルの演算を行わない、いずれかのプロセッサに優先的に割り当てることにより、演算負担を分散させることが可能となる。
【００１６】
上記プラントシミュレータにおいて、前記演算割り当て手段は、線形モデルのうち、燃焼系統の体積計算の数理モデルを、前記非線形演算割り当て手段によって抽出された前記非線形モデルの数理モデルも前記蒸気系統の圧力計算の数理モデルも割り当てられていない、いずれかの前記プロセッサに割り当てる体積演算割り当て手段を備えていてもよい。
【００１７】
燃焼系統の体積計算（例えば、燃焼空気、排ガス、及び燃料ガス等の体積計算）は、線形モデルの数理モデルの中で、重要な位置を占めており、また、演算負荷も比較的大きいことから、他の線形モデルに比べて演算時間も長くなる。したがって、このような燃焼系統の体積計算の数理モデルについては、非線形演算割り当て手段によって抽出された非線形モデルの演算も、蒸気系統の圧力計算の演算も行わないプロセッサに優先的に割り当てることにより、演算負担を分散させることが可能となる。
【００１８】
上記プラントシミュレータにおいて、前記演算割り当て手段は、線形モデルのうち、配管に関する伝熱計算の数理モデル、弁に関する伝熱計算の数理モデル、及びポンプファンに関する伝熱計算の数理モデルをそれぞれ異なる前記プロセッサに分散させて割り当てる伝熱計算割り当て手段を備えていてもよい。
【００１９】
線形モデルの一つとして電熱計算がある。電熱計算は、機器毎に行うことが必要となるが、配管、弁、ポンプファンについては、特に数が多いことから、演算負荷が大きく、処理時間も比較的長くなる。したがって、配管に関する伝熱計算の数理モデル、弁に関する伝熱計算の数理モデル、及びポンプファンに関する伝熱計算の数理モデルについては、それぞれ異なるプロセッサに分散して優先的に割り当てることにより、プロセッサの演算負担を分散させることが可能となる。
【００２０】
本発明の第２態様は、複数のプロセッサがシミュレーション演算を並列して行うことにより、発電プラントの挙動を模擬するプラントシミュレータに適用される演算割り当て方法であって、前記プラントシミュレータは、前記発電プラントの挙動を演算するための複数の数理モデルがデータ種別と関連付けられて格納されている数理モデル格納手段を有し、コンピュータが、前記データ種別毎に前記数理モデルを前記プロセッサに割り当てる演算割り当てステップを実行し、前記データ種別の一つは、非線形モデルであり、前記演算割り当てステップでは、予め設定されている演算負荷以上の前記数理モデルを抽出し、抽出した前記数理モデルのうち、演算負荷の大きい順に前記数理モデルを優先的に割り当てるとともに、各前記プロセッサの演算負荷が略均等となるように、前記数理モデルの割り当てを行い、前記演算割り当てステップは、非線形モデルの前記数理モデルを前記プロセッサに割り当てる非線形演算割り当てステップを有し、前記非線形演算割り当てステップは、非線形モデルの前記数理モデルの中から、予め設定されている演算負荷以上の前記数理モデルを抽出し、抽出した前記数理モデルのうち、演算負荷の大きい順に所定数の前記数理モデルを抽出し、抽出した各前記数理モデルを個別の前記プロセッサにそれぞれ割り当てるステップと、非線形モデルの前記数理モデルが割り当てられた前記プロセッサを含む、シミュレーション演算を実行する各前記プロセッサの演算負荷が略均等となるように、他の非線形モデルの数理モデルを割り当てるステップとを有するプラントシミュレータの演算割り当て方法である。
【発明の効果】
【００２１】
本発明によれば、シミュレーション速度の更なる高速化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係るプラントシミュレータのシミュレーション対象とされる火力発電プラントの模擬系統図の一例を示した図である。
【図２】本発明の一実施形態に係るプラントシミュレータのハードウェア構成を示した図である。
【図３】本発明の一実施形態に係るプラントシミュレータの機能ブロック図である。
【図４】本発明の一実施形態に係るプラントシミュレータによって実行される処理の手順を示したフローチャートである。
【図５】本発明の一実施形態に係るプラントシミュレータが図４に示した処理を実行することにより、各ＣＰＵに割り当てられた数理モデルと各機器との関係の一例を模式的に示した図である。
【発明を実施するための形態】
【００２３】
以下に、本発明の一実施形態に係るプラントシミュレータ及びプラントシミュレータの演算割り当て方法について、図面を参照して説明する。本発明におけるプラントシミュレータは、例えば、火力発電プラント、原子力発電プラント等の発電プラントの挙動を模擬するものであり、例えば、運転訓練に用いられる運転訓練シミュレータである。本発明のプラントシミュレータ及びプラントシミュレータの演算割り当て方法は、発電プラントのシミュレーションに広く適用可能であるが、特に、主な構成としてボイラ、タービン、復水器を備え、流量、温度、圧力の状態量を要素とする発電プラントのシミュレーションに適用されて好適なものである。以下の実施形態においては、説明の便宜上、火力発電プラントのシミュレーションを行う場合を例示して説明するが、本発明のプラントシミュレータにより挙動が模擬される対象は、火力発電プラントに限定されない。
【００２４】
図１は、火力発電プラントの模擬系統図の一例を示した図である。図１に示すように、プラントモデル模擬系統図には、プラントの挙動を模擬するのに必要とされる各種構成が、実際の火力発電プラントにおける関係に基づいてブロック線図で結ばれ、蒸気系統、冷却水系統、燃料系統などが形成されている。
図１において、ボイラ５１で発生した蒸気は、高圧タービン５２に供給される。高圧タービン５２で仕事をした蒸気は、再熱器５３に送られて加熱された後、中圧タービン５４及び低圧タービン５５に供給されて仕事を行う。低圧タービン５５で仕事をした蒸気は復水器５６において冷却されて復水６１とされる。この復水６１は、脱気器５７に送られ不純物が除去された後、給水６２としてボイラ５１に再び戻される。
【００２５】
また、再熱器５３、高圧タービン５２の付近では高圧蒸気が一部取り出され、補助蒸気６６として利用される。また、高圧タービン５２、中圧タービン５４及び低圧タービン５５の回転動力が発電機５８に伝達されることにより、発電機５８が発電する。中圧タービン５４における蒸気の一部は、蒸気駆動の給水ポンプ５９に供給され、給水ポンプ５９の駆動に用いられる。
【００２６】
また、給水６２の一部及び復水６１の一部は、ヒータドレン６０を介して復水器５６から脱気器５７の間に、復水として再び戻される。更に、図１には、燃料系統の要素として、燃料空気６３、排ガス６４、燃料６５が、冷却水系統の要素として補給水６７、海水６８、バキューム６９、軸冷水７０、及び軸受油７１等が示されている。
【００２７】
図２は、本実施形態に係るプラントシミュレータのハードウェア構成を示した図である。図２に示すように、プラントシミュレータは、いわゆるコンピュータであり、ホストバス１８には、８個のＣＰＵ（プロセッサ）１１ａ〜１１ｈと、各プログラム実行時のワーク領域として機能するメインメモリ１２とが接続されている。一方、ホストバス１８にＩ／Ｏブリッジ１３を介して接続されるＩ／Ｏバス１９には、ＣＰＵ１１ａ〜１１ｈが実行する各種プログラム等が格納されたハードディスクドライブ（以下「ＨＤＤ」という。）１４、操作者（例えば、訓練生）によって操作されることにより入力指令が入力される入力部１５、及びシミュレーション結果等を表示する表示部１６が接続されている。
【００２８】
８個のＣＰＵ１１ａ〜１１ｈは、１つのプロセッサ・パッケージ内に複数のプロセッサコアが搭載されたマルチコア・シングルプロセッサとして実現されてもよく、また、１つのプロセッサ・パッケージ内に１つのプロセッサコアが搭載されたシングルコアを複数備えるシングルコア・マルチプロセッサにより実現されてもよい。また、マルチコアのプロセッサを複数有する、マルチコア・マルチプロセッサとして実現されてもよい。なお、図２では、８個のＣＰＵ１１ａ〜１１ｈを有している場合について例示しているが、ＣＰＵの個数については限定されない。また、ＣＰＵの個数については、必要以上に処理能力を向上させるために、必要な処理に対して個数の余裕を持ち過ぎずに、むしろ最少個数で構成されるほうがコスト低減に好ましい。
【００２９】
図３は、本実施形態に係るプラントシミュレータの機能ブロック図である。図３に示すように、プラントシミュレータは、シミュレーションに関する演算を実行する８個のシミュレーション実行部２１ａ〜２１ｈと、プラントの挙動を演算するための複数の数理モデルが格納されている数理モデル格納部２５と、各シミュレーション実行部２１ａ〜２１ｈに数理モデルを割り当てる演算割り当て部３０とを備えている。
【００３０】
シミュレーション実行部２１ａ〜２１ｈの各々は、ＣＰＵ１１ａ〜１１ｈの各々に１対１対応している。すなわち、本実施形態においては、８個のＣＰＵ１１ａ〜１１ｈがそれぞれシミュレーション実行部２１ａ〜２１ｈとして機能し、これらが並行処理を行うことによりシミュレーション演算が進行する。
【００３１】
数理モデル格納部２５には、プラントの挙動を演算するための複数の数理モデルがそのデータ種別に関連付けられて格納されている。データ種別には、例えば、非線形モデルか否か、演算される状態量の情報（圧力、体積、温度等）が含まれる。
【００３２】
演算割り当て部３０は、シミュレーション実行部２１ａ〜２１ｈのそれぞれの演算負荷が略均等となるように、数理モデルの割り当てを行う。ここで、「略均等」とは、各シミュレーション実行部２１ａ〜２１ｈに割り当てられた演算負荷の平均値からの差分が所定の許容範囲内とされることを意味する。演算割り当て部３０は、更に、シミュレーション実行部２１ａ〜２１ｈの各々に割り当てられる数理モデルのデータ種別が、なるべく同一または類似するように数理モデルの割り当てを行う。
【００３３】
演算割り当て部３０は、例えば、非線形モデルの数理モデルの割り当てを行う第１演算割り当て部３１（非線形演算割り当て手段）、線形モデルのうち、伝熱計算以外の数理モデル（例えば、圧力、体積等）の割り当てを行う第２演算割り当て部３２（圧力演算割り当て手段、体積演算割り当て手段）、及び線形モデルのうち、伝熱計算の数理モデルの割り当てを行う第３演算割り当て部３３（伝熱計算割り当て手段）を備えている。
【００３４】
第１演算割り当て部３１は、例えば、非線形モデルの数理モデルのうち、演算負荷が予め設定されている演算負荷閾値以上の数理モデルを抽出し、抽出した数理モデルの中から演算負荷の大きい順に所定数の数理モデルを抽出し、抽出した各数理モデルをそれぞれ異なるシミュレーション実行部２１ａ〜２１ｈに割り当てる。例えば、所定数が「４つ」に設定されていた場合、第１演算割り当て部３１は、演算負荷の大きい順に４つの数理モデルを抽出し、それぞれの数理モデルを４つのシミュレーション実行部、例えば、シミュレーション実行部２１ａ、２１ｂ、２１ｅ、２１ｆにそれぞれ割り当てる。なお、演算負荷が演算負荷閾値以上である数理モデルが「所定数」未満である場合、例えば、「所定数」が「４つ」で、演算負荷が演算負荷閾値以上である数理モデルが「２つ」であった場合には、これら２つの数理モデルを２つのシミュレーション実行部にそれぞれ割り当てる。
【００３５】
そして、非線形モデルにおける残りの数理モデルについては、既に非線形モデルの数理モデルが割り当てられているシミュレーション実行部２１ａ、２１ｂ、２１ｅ、２１ｆを含む、シミュレーション実行部２１ａ〜２１ｈに対して、それぞれの演算負荷が略均等になるように、割り当てを行う。ここで、それぞれの演算負荷が略均等になるということは、各シミュレーション実行部２１ａ〜２１ｈの各演算処理時間の上限と下限が、各演算処理時間から算出した平均演算処理時間に対して±１０％以内、更に好ましくは±５％以内にある状態を示している。
【００３６】
「演算負荷」は、演算行列の大きさに基づいて判断することが可能である。すなわち、数理モデルは、ヤコビアン行列等の行列によって表されるので、この行列の大きさ（列行の数）に応じて、上位から所定数（例えば、４つ）選択すればよい。行列のサイズが同じであれば、演算時間もほぼ同じであるとみなすことができるため、行列サイズに基づいて数理モデルを割り当てることにより、容易にかつ効率的に数理モデルの割り当てを行うことができる。また、この場合、演算負荷閾値も、行列のサイズを用いて設定されることとなる。また、「演算負荷閾値」及び「所定数」は、プログラム上で動的に設定できるように実装されていてもよいし、プラントの規模やシミュレーションに応じて予め設定されていてもよい。または、操作者が適宜入力できるような構成とされていてもよい。このように、「演算負荷閾値」、「所定数」の設定については方法を問わない。
【００３７】
第２演算割り当て部３２は、線形モデルであって、伝熱計算以外の数理モデルの中から、蒸気系統の圧力計算の数理モデルと、燃焼系統の体積計算の数理モデル（例えば、燃焼空気、排ガス、及び燃焼ガスの体積計算の数理モデル）とを抽出し、これらを第１演算割り当て部３１によって抽出された上記非線形モデルの数理モデルが割り当てられていないシミュレーション実行部、例えば、シミュレーション実行部２１ｇ、２１ｈにそれぞれ割り当てる。続いて、第２演算割り当て部３２は、残りの数理モデルを各シミュレーション実行部２１ａ〜２１ｈの演算負荷が略均等になるように割り当てる。
【００３８】
第２演算割り当て部３２が優先的に割り当てを行う蒸気系統の圧力計算及び燃焼系統の体積計算は、発電プラントの挙動を把握する上で重要な位置を占めており、また、演算負荷も比較的大きいことから、他の線形モデルの数理モデルに比べて演算時間も長くなる。したがって、蒸気系統の圧力計算及び燃焼系統の体積計算に関する数理モデルについては、第１演算割り当て部３１によって抽出された非線形モデルの演算を行わないいずれかのシミュレーション実行部に対してそれぞれ個別に割り当てることにより、演算負担を効率的に分散させることが可能となる。また、これらのシミュレーション実行部においては、同じような演算を繰り返し行うことになるため、演算処理速度の向上を期待することができる。
【００３９】
第３演算割り当て部３３は、線形モデルであって、電熱計算に関する数理モデルの中から、配管に関する伝熱計算、弁に関する伝熱計算、ポンプファンに関する伝熱計算を抽出し、これらをそれぞれ個別のシミュレーション実行部に優先的に割り当てる。このとき、各伝熱計算のボリュームによっては、第１演算割り当て部３１によって抽出された非線形モデルの数理モデルが割り当てられたシミュレーション実行部、すなわち、シミュレーション実行部２１ａ、２１ｂ、２１ｅ、２１ｆに割り当てることとしてもよい。続いて、残りの伝熱計算に関する数理モデルを、各シミュレーション実行部の演算負荷が略均等になるように割り当てる。
【００４０】
伝熱計算のうち、上記配管、弁、ポンプファンについては設置数が多く、演算が煩雑になる。このため、演算負荷が比較的大きくなり、演算時間も長くなる。したがって、配管、弁、ポンプファンの伝熱計算の数理モデルについては、優先的に割り当てを行うとともに、それぞれ異なるシミュレーション実行部に割り当てることにより、演算負担を効率的に分散させることが可能となる。
【００４１】
次に、本実施形態に係るプラントシミュレータにより実行される処理について図４を参照して説明する。
まず、シミュレーションの開始時において、所定のＣＰＵ（例えば、ＣＰＵ１１ａ）が、ＨＤＤ１４に格納されているメインプログラムをメインメモリ１２に読み出して実行することにより、ＣＰＵ１１ａ〜１１ｈが並列処理を正常に実行できるようにするための準備処理を行う。例えば、ＣＰＵ１１ａは、ＣＰＵ１１ａ〜１１ｈを、上述したシミュレーション実行部２１ａ〜２１ｈとして機能させるためのプログラムを各ＣＰＵ１１ａ〜１１ｈに割り付けるとともに、分割演算用のスレッドを各ＣＰＵ１１ａ〜１１ｈに割り付ける（ステップＳＡ１）。続いて、ＣＰＵ１１ａは、割り付けたスレッド及びプログラムに対して計算開始イベントを発行する（ステップＳＡ２）。これにより、各ＣＰＵ１１ａ〜１１ｈがシミュレーション実行部２１ａ〜２１ｈとして機能するための準備が完了する。
【００４２】
次に、ＣＰＵ１１ａは、ＨＤＤ１４に格納されている各種プログラムを実行することにより、上記演算割り当て部３０の第１演算割り当て部３１、第２演算割り当て部３２、第３演算割り当て部３３として機能する。
具体的には、まず、数理モデル格納部２５に格納されている非線形モデルの数理モデルの中から演算負荷の大きい順、例えば、ヤコビアン行列のサイズが大きい順に、４つの数理モデルを抽出し、抽出した各数理モデルを個別のシミュレーション実行部にそれぞれ割り当てる（第１演算割り当て部：ステップＳＡ３）。これにより、例えば、最も演算量の大きい数理モデルがシミュレーション実行部２１ａに、２番目に演算量の大きい数理モデルがシミュレーション実行部２１ｂに、３番目に演算量の大きい数理モデルがシミュレーション実行部２１ｅに、４番目に演算量の大きい数理モデルがシミュレーション実行部２１ｆにそれぞれ割り当てられる。
【００４３】
次に、ＣＰＵ１１ａは、数理モデル格納部２５に格納されている残りの非線形モデルの数理モデルを、シミュレーション実行部２１ａ〜２１ｈの演算負荷が略均等となるようにそれぞれ割り当てる（第１演算割り当て部：ステップＳＡ４）。
【００４４】
次に、ＣＰＵ１１ａは、数理モデル格納部２５に格納されている線形モデルのうち、蒸気系統の圧力計算に関する数理モデル及び燃焼系統の体積計算に関する数理モデルを抽出し、抽出した数理モデルを個別のシミュレーション実行部にそれぞれ割り当てる。このとき、ステップＳＡ３にて、比較的大きな演算負荷の非線形モデルの数理モデルが割り当てられたシミュレーション実行部２１ａ、２１ｂ、２１ｅ、２１ｆとは別のシミュレーション実行部２１ｃ、２１ｄ、２１ｇ、２１ｈへ割り当てるようにする（第２演算割り当て部：ステップＳＡ５）。これにより、例えば、蒸気系統の圧力計算の数理モデルがシミュレーション実行部２１ｇに、燃焼系統の体積計算の数理モデルがシミュレーション実行部２１ｈに割り当てられる。続いて、ＣＰＵ１１ａは、シミュレーション実行部２１ａ〜２１ｈの演算負担が略均等となるように、残りの数理モデルの割り当てを行う（第２演算割り当て部：ステップＳＡ６）。
【００４５】
次に、ＣＰＵ１１ａは、数理モデル格納部２１に格納されている線形モデルのうち、配管に関する伝熱計算、弁に関する伝熱計算、ポンプファンに関する伝熱計算をそれぞれ個別のシミュレーション実行部に割り当てる（第３演算割り当て部：ステップＳＡ７）。これにより、例えば、配管に関する伝熱計算の数理モデルがシミュレーション実行部２１ｇに、弁に関する伝熱計算の数理モデルがシミュレーション実行部２１ａに、ポンプファンに関する伝熱計算の数理モデルがシミュレーション実行部２１ｂにそれぞれ割り当てる。続いて、ＣＰＵ１１ａは、残りの伝熱計算の数理モデル（例えば、ドラム、脱気器における伝熱計算等）を各シミュレーション実行部２１ａ〜２１ｈの演算負荷が略均等となるように割り当てる（第３演算割り当て部：ステップＳＡ８）。
【００４６】
このようにして、数理モデル格納部２５に格納されている全ての数理モデルについて割り当てが完了すると、各シミュレーション実行部２１ａ〜２１ｈによる数理モデルの演算が並列的に行われる（ステップＳＡ９）。そして、各シミュレーション実行部２１ａ〜２１ｈは、自身に割り当てられた全ての数理モデルの演算が終了すると、その旨をＣＰＵ１１ａに通知する。
ＣＰＵ１１ａは、全てのＣＰＵ１１ａ〜１１ｈから演算完了の通知を受信すると（ステップＳＡ１０）、ステップＳＡ２に戻り、各ＣＰＵ１１ａ〜１１ｈ（シミュレーション実行部２１ａ〜２１ｈ）に対して計算開始イベントを発行し、次の演算周期（スレッド）による処理を開始させる。
【００４７】
図５は、上記処理を実行することにより各ＣＰＵ１１ａ〜１１ｈに割り当てられた数理モデルと各機器との関係の一例を模式的に示した図である。図５のボイラ５１、再熱器５３等からわかるように、１つの機器であっても演算種別に応じて複数のＣＰＵに演算が割り当てられていることがわかる。また、例えば、再熱器５３、中圧タービン５４、低圧タービン５５についての蒸気系統の圧力計算は、ＣＰＵ１１ｇに割り当てられている。このように、蒸気の一連の流れに関する演算を１つのＣＰＵ１１ｇに担当させることにより、演算処理の効率化を図ることが可能となる。また特に、中圧タービン５４に関しては、蒸気の供給元が１つであるのに対し、供給先が低圧タービン５５と給水ポンプ５９とに分かれており、演算が複雑化する。したがって、煩雑な演算については、１つのＣＰＵに集中して実行させることにより、演算の更なる高速化を図ることが期待できる。
【００４８】
以上説明してきたように、本実施形態に係るプラントシミュレータ及びプラントシミュレータの演算割り当て方法によれば、以下の効果を奏する。
数理モデル格納部２５に格納されている各種数理モデルが、データ種別単位で各ＣＰＵ１１ａ〜１１ｈ（シミュレーション実行部２１ａ〜２１ｈ）に割り当てられるので、例えば、発電プラントを構成する複数の機器間で同じデータ種別に属する演算内容同士を併合して１つのプロセッサに割り当てることが可能となる。
【００４９】
数理モデルの割り当ては、各ＣＰＵ１１ａ〜１１ｈの演算負荷が略均等となるように行われるので、各ＣＰＵ１１ａ〜１１ｈの演算時間を略均等にすることができ、シミュレータ速度を向上させることが可能となる。ここでいう演算負荷が略均等になるということは、各シミュレーション実行部の各演算処理時間の上限と下限が、各演算処理時間から算出した平均演算処理時間に対して±１０％以内、更に好ましくは±５％以内にある状態を示している。また、演算負荷の大きい数理モデルを優先的にプロセッサに割り当てるので、各プロセッサの演算負荷が略均等となるような数理モデルの割り当てを比較的容易に行うことが可能となる。
【００５０】
演算割り当て部３０による数理モデルの割り当ては、プラントモデルの演算開始時、すなわち、シミュレーション開始時に行われるため、その時々の発電プラントの運転状態に応じて割り当てをダイナミックに変化させることが可能となる。このように、発電プラントの運転状態が変化した場合であっても、この変化に追従してＣＰＵ１１ａ〜１１ｈの演算負荷が均等となるように数理モデルを割り当てることにより、発電プラントの運転状態に依存してシミュレーション速度が著しく低下する等の現象を回避することが可能となり、安定したシミュレーション速度を保つことが可能となる。
【００５１】
なお、本実施形態においては、演算割り当て部３０として機能するＣＰＵ１１ａについても、他のＣＰＵ１１ｂ〜１１ｈと同様に、数理モデルを割り当て、シミュレーション実行部２１ａとして機能させていたが、ＣＰＵ１１ａはＯＳから使用されることも多く、他のＣＰＵ１１ｂ〜１１ｈと比べてシミュレーションの演算以外の処理を実行するのに利用されることが多い。このことから、例えば、メインプログラムを実行したり、数理モデルの割り当てを行ったりするＣＰＵ（上記の例ではＣＰＵ１１ａ）については、ＯＳ等の動きなどを阻害しないように、シミュレーション実行部として機能することを排除するフラグを設けることとしてもよい。これにより、フラグが立っている場合には、シミュレーション実行部として機能することを禁止することができるため、ＯＳの動きが阻害されるなどの不都合を回避することが可能となる。
【００５２】
また、上述した実施形態では、図４を用いて説明したように、第１演算割り当て部３１〜第３演算割り当て部３３が順番に処理を行う場合について説明したが、第１演算割り当て部３１〜第３演算割り当て部３３のそれぞれが並列に処理を実行することとしてもよい。このように、並列処理を行うことで、割り当て時間を短縮することが可能となる。
【００５３】
本発明は、上述の実施形態のみに限定されるものではなく、発明の要旨を逸脱しない範囲において、例えば、上述した各実施形態を部分的または全体的に組み合わせる等して、種々変形実施が可能である。
【符号の説明】
【００５４】
１１ａ〜１１ｈ  ＣＰＵ
１２  メインメモリ
１３  Ｉ／Ｏブリッジ
１４  ＨＤＤ
１５  入力部
１６  表示部
２１ａ〜２１ｈ  シミュレーション実行部
２５  数理モデル格納部
３０  演算割り当て部
３１  第１演算割り当て部
３２  第２演算割り当て部
３３  第３演算割り当て部
５１  ボイラ
５２  高圧タービン
５３  再熱器
５４  中圧タービン
５５  低圧タービン
５６  復水器
５８  発電機
【図１】
0006509537.tif 000002
【図２】
0006509537.tif 000003
【図３】
0006509537.tif 000004
【図４】
0006509537.tif 000005
【図５】
0006509537.tif 000006