6章 再び要素モデルの作成
6.2 色々な要素モデル
〜 水理以外の要素モデル作成とCommonMP適応モデル作成例 〜
(CommonMPを用いた
「ダム操作員の操作とダム下流の人の反応シミュレーション」 )
実用的な「ダム要素モデル」は、京都大学 大学院 工学研究科
水文・水資源研究室殿にて、既に公開されています。
ここでは、敢えて、ダム本体モデルと、ダムのゲート操作を行う操作員を別の要素モデルとしてみました。
それぞれのダムでは、放流開始前にサイレンや広報車による放流事前通知を行う事や、下流の水位を急激に上昇させないようにするために放流量の増加量を徐々に上昇させる等、放流操作を行う場合の手順や規則が決められています。 ダムの操作員要素モデルには、その手順や規則の動作を組み込み、ダム本体には水理学的なモデルを組み込むことで、各ダムに定められた規則が変更となった場合でも、水理学に精通していない人間が新しい規則でダムを操作する場合の要素モデルの製作や、シミュレーションの実行を行えるようにします。
さらに、此処では、ダム下流流域にいる人間の行動を模擬する要素モデルを作成し、ダムのゲート操作による人間の行動への影響を調べられるようにしました。
但し、本シミュレーションモデルは CommonMPの応用例を示す目的で制作したので、要素モデル本体は正確なモデルでは有りません。
此処で使用する要素モデルは
「ダム操作員」
「河流流域人間行動」
「ダム」
「テスト用雨量等、発生」
「河道」 <−−(CommonMPのサンプルで提供されている『McSampleKinematicWave』を使用)
です。 下図の通りに接続します。
此処での目玉は 「ダム操作員」、「河川流域の人間行動」等の 「自然現象」や「物理現象」ではない項目も 要素モデルとすることです。
namespace xx.yy.zz.HYMCO.OptionImpl.MyDamOperationLIB if
(csModelKind.Equals(MyDamOperationDefine.MY_DAM_OPERATOR_MODEL_KIND) ==
true) |
下図に 実際に実装したシミュレションモデルを示します。
プロジェクトの演算制御は、ループが存在するモデルなので、同期型に設定します。
河流域の人間の行動は、別な章で作成した バイナリーファイル出力要素と、出力したバイナリーファイルの表示ツールを用いて、視覚化しています。
下図は、放流前で、雨も降っていない時の状況です。
下図は、放流が開始されて、水位が上昇しはじめた状況を示しています。 放流の警報は放流開始の30分前に行われ、その時点で 低い位置にいた人たちは(全員では無い)、岸辺の高い位置に移動を開始しています。 また、水位が上昇し始めると、下にとどまっていた人々も高い位置に移動しています。
此処で示した、要素モデルは応用の可能性の一部を示したものであり、処理内容を十分に検討したもでのはありません。
この例を参考に、色々な応用分野の要素モデルを作成を試みて下さい。
ここで作成した要素モデル開発プロジェクト(Ex23_CommonMP.lzh)
ダウンロードしたら解凍して生成されたフォルダー「MyDamOp」を \CommonMP\Source\HYMCO\OptionImpl\ 下に置きます。
解凍して生成されたプロジェクト:MyDamOperation.csproj を ディバッグ用ソリューションに追加し、スタートアッププロジェクト(TestModelDeveloperMainExp)の依存関係に追加します。
また、 解凍して生成された、「MyExerciseStep2」フォルダーを \CommonMP\CommonMPData\ 下に置きます。
初版:2013/10/16 |