Activate で Modelica を使ってみる(その4)- 結果ビューア

Minoru Yubuchi_21921
Minoru Yubuchi_21921 Altair Community Member
edited December 2021 in Altair HyperWorks - 日本語

Activate で Modelica を使ってみる(その4)

結果の XY プロット出力 - 結果ファイルビューア

“その1” の回のモデルでは結果の XY プロットを出力するために センサーとScope ブロックをペアで設置していました。ただ、出力された XY プロットは Activate を終了すると消えてしまい、結果を残すためには csv ファイル等に保存しておく必要がありました。今回はセンサーや出力用ブロック(Scope、ToCSV 等)を設置しなくても結果を残し、かつ、XY プロットが作成できる方法を紹介します。

結果ファイルの保存

実行結果ファイル(mtsf 形式ファイル)は、以下のようにリボンの “シミュレート” アイコンの “シミュレーションパラメータの定義” アイコンをクリックして表示されるダイアログで “結果” タブを選択します。次に、”結果ファイルの作成” をオンにして、”モデルファイルと同じディレクトリ” を選択します。

 

image

 

これで、モデルファイルが属するディレクトリに、”モデルファイル名.mtsf” および “FMU_sup_1.mtsf” という2つの結果ファイルが生成されます。

結果ファイルからの XY プロットの作成

結果ファイルからの XY プロットの作成は結果ビューアというツールを用いて行います。結果ファイルビューアは、以下のようにメニューの “ツール” から “結果ビューア” を選択することにより起動することができます。


image


表示された結果ビューアで以下のように結果ファイルを選択し、項目を選ぶことにより結果の XY プロットが作成されます。

 

image

 

上の例では、”その1” の回で作成したバネマスモデルからセンサーと Scope を削除した下図のモデル(添付:SpringMass_Horizntal_MBK_NoSensors.scm)から出力された結果ファイルを読み込んでいます。

 

image

 

”モデルファイル名.mtsf” という結果ファイルにはシグナルベースブロック毎の全ての入出力ポートの値が保存されます。Modelica 部分については、1つにまとめられて FMU として1つのシグナルベースブロック(FMU_sup_1)として処理されます。この中の x[1] と x[2] という項目は Modelica モデル全体としての状態変数です。このモデルは1自由度系であるため、質量の変位と速度が状態変数です。これは出力としても out(1) としてリストされています。

Modelica のコンポーネント毎の結果を見る場合は “FMU_sup_1.mtsf” ファイルを読み込みます。上記のモデルであれば以下のような項目リストになります。

 

image

 

“その2” の回で紹介したように、Modelica の各コンポーネントにはスルー変数とアクロス変数が定義されており、それらが先ずは出力されています。このモデルで使用されているMechanics-Translational ライブラリではスルー変数が力(f)でアクロス変数が変位(s)です。基本的にはそれらがコンポーネントの両端(Mechanics ライブラリでは flange_a および flange_b と表記)でそれぞれ出力されます。つまり、”Spring.flange_a.f” というのは “Spring(という名前の)コンポーネントの a 端での力の結果” ということになります。

このスルー変数とアクロス変数に加えて、Modelica コード内で定義されている全ての変数も出力されています。例えば、”Mass.s.der” は Mass コンポーネントの速度(変位の1階微分)であり、”Mass.s.nder_2” は Mass コンポーネントの加速度(変位の2階微分)です。また、Mass コンポーネントの方程式定義では(後日、詳しく紹介します)

    a = der(v);
    v = der(s);

という方程式が定義されており、この a と v も Mass.a および Mass.c としてリストされています。

これ以外にも、Modelica で定義されている定数(例えば、Spring.c、Damper.d、MassL、Mass.m、. . .)についても出力されていますが、これらはあまり意味を持たないと思います。

複数の結果ファイルの読み込み

結果ビューアは複数のファイルを読み込むことができるため、例えば、モデルを変更したときの結果の比較を行うことが可能です。これは以下の手順で実行します。

“シミュレーションパラメータ” ダイアログの “結果” タグの設定で “ファイル名とディレクトリを入力”を選択し、ファイル名を指定します。

 

image

 

“シミュレーションパラメータ” ダイアログを閉じてシミュレーションを実行します。次に、モデルを変更し(例えば、バネマスモデルのバネ定数を3.0から5.0に変更)、”シミュレーションパラメータ” ダイアログのファイル名を変更します。

 

image

 

“シミュレーションパラメータ” ダイアログを閉じてシミュレーションを実行します。2つの結果ファイルが指定したディレクトリに作成されているので、結果ビューアでそれぞれのファイルを読み込みます。

 

image

 

二つのファイルで同じ出力項目を選択すれば結果の比較が可能となります。ちなみに、FMU_sup_1.mtsf ファイルの方はファイル名を変更できないため、保存するディレクトリを変更する必要があります。

なお、“シミュレーションパラメータ” ダイアログの “結果” タブで “結果ファイルの表示” をオンにしてシミュレーションを実行すれば、シミュレーション終了後に自動的に結果ファイルを読み込んだ結果ビューアが起動します。

 

image

 

次回からはこのバネマスモデルを題材にして、バネマスモデルを理解するのに必要となる Modelica 言語の初歩的な知識を紹介していきます。