*執筆途中だが公開ポリシーに則り公開。
2023.05.20
OpenModelicaが昨今,Annotationによる結果表示周りの機能が向上しているようなので,活用していこうと思う.今回は色表示周りについて.
簡単な表示用コンポーネントを自作したが,コードの書き方等の解説は今回は見送り,それを使ってどの様な事が出来るかの一例を示す.
記事を通して言いたいこと(結論)
例によって、冒頭で述べておく。
- AnnotationのDynamicSelects記述により,計算結果の値に応じてiconの表示内容を変化させてアニメーション表示することができる.
- 上記機能で計算結果をiconにカラーグラデーション表示するコンポーネントを作成した.
- 本コンポーネントでシステム中の多数点の物理量(ex.温度)を.同時表示させることで,疑似的にシステムのdiagram上にカラー等高線を加えたような結果表示ができる.これにより複雑なシステムの挙動を把握し易くなる.
作成コンポーネントの解説
icon
ソースコード
within FluidSystemComponents.InteractiveSimulation.Output; model DispValAndColor01 extends FluidSystemComponents.InteractiveSimulation.Output.DispColorGrad00; //---------------------------------------- // parameter //---------------------------------------- parameter Integer sigDigits(min=1) = 6 ""; equation annotation( Icon(coordinateSystem(extent = {{-100, -80}, {100, 40}}), graphics = {Rectangle(origin = {0, -60}, fillColor = {255, 255, 255}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-100, 20}, {100, -20}}), Text(origin = {0, -61}, extent = {{-100, 15}, {100, -15}}, textString = DynamicSelect("0.0", String(u, sigDigits, 0, true)))}), defaultComponentName = "disp"); end DispValAndColor01;
コンポーネントソース情報
本コンポーネントは,ライブラリFluidSystemComponent下にInteractiveSimulationのためのツールとして作成した.
コンポーネントのパス: FluidSystemComponents/InteractiveSimulation/Output
/DispValAndColor01.mo
シミュレーションモデル:
動作確認用モデル:
Diagram
シミュレーション実行
モデルソース情報
本実行モデルは,ライブラリFluidSystemComponent下に収録している.
コンポーネントのパス: FluidSystemComponents/InteractiveSimulation/Examples
/DispValAndColor01_ex01.mo
チュートリアルモデルに適用:
あとがき(結論の繰り返し)
例によって、冒頭で述べた結論をもう一度。
- AnnotationのDynamicSelects記述により,計算結果の値に応じてiconの表示内容を変化させてアニメーション表示することができた.
- 上記機能で計算結果をiconにカラーグラデーション表示するコンポーネントを作成し,Githubに公開した.
- 本コンポーネントでシステム中の多数点の物理量(ex.温度)を.同時表示させることで,疑似的にシステムのdiagram上にカラー等高線を加えたような結果表示ができる.
エンジンラジエータのような熱収支流体回路のモデルに,作成したカラーグラデーション表示コンポーネントを適用してみたところ,結果を温度コンタ状に表示でき,時間スライダを用いたアニメーションを合わせると,システムの挙動把握が非常にし易くなった.
以上
コメント