バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回はmodelDescription.xmlのvariabilityについて確認した。
constant(定数)、fixed(固定値)、tunable(調整可能値)、discrete(離散)、continuous(連続)。
などの種類が存在する。
tunable(調整可能値)など比較的特殊な種別はあまり利用されているところが見られないものもある。
今回は続きとして、causalityについて。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
modelDescription.xmlのcausality

今回はmodelDescription.xmlのcausalityだね。
直訳すると、「因果関係」って意味になるけど。

まぁその名の通りだな。

いや、「因果関係」で終わらされちゃうと、
これ一体なんなの?
ってなるんだけど・・・。

これも種別があるんで列挙しよう。
causalityの種別
- parameter(独立したパラメータ:シミュレーション中変更不可)
- calculatedParameter(内部定数、外部指定固定値含めて確定)
- input(入力)
- output(出力)
- local(ローカル変数)
- independent(独立変数:FMU毎に一つだけ定義。大体が時刻)

まぁinput(入力)、output(出力)はそのままだからわかるとして、
他のはちょっと説明してもらわないとわからないなぁ。

一個ずつ説明しよう。
parameter(独立したパラメータ:シミュレーション中変更不可)

これは、Modelicaでいうところのparameterで定義した変数だね。
variabilityとしてはfixedかtunableじゃないといけない。

ほう。
あのModelicaコードに直接書いたヤツか。
ここでやったね。
calculatedParameter(内部定数、外部指定固定値含めて確定)

これはvariabilityのconstant(定数)、fixed(固定値)でシミュレーション開始時に決まる値が入ることが多いな。

うーん、なかなか分かりにくいのが多いなー。

まぁこれも外部から弄れる種別ではないっことを覚えておけば良いと思うよ。
local(ローカル変数)

これはそのままな気がするが、
具体的にどういうシグナルがlocalになるのかがイメージ湧かないな。

内部で演算した過程の変数だね。
Modelicaのconnectキーワードでモデル間接続したところがこの種別になるね。

あー。
なるほど。
普通にモデル間を線で結ぶとこの種別になるのね。
independent(独立変数:FMU毎に一つだけ定義。大体が時刻)

最後がindependent(独立変数:FMU毎に一つだけ定義。大体が時刻)か。

「大体が時刻」ってあるけど、
結局これは何者なんだ?

モデルの演算とは無関係に変化するシグナルってことだねー。
そういうのって大体時刻なんだけどね。

確かにどう演算しても時刻に影響を与えるってものもないよねー。

まぁそもそも時刻すら定義されていないものも多いから
実はこれもあんまり見かけない種別ではあるね。
まとめ

まとめだよ。
- modelDescription.xmlのcausalityの内容を確認。
- parameter、calculatedParameter、input、output、local、independentの6種が存在。
- parameterはModelicaのparameter相当。
- calculatedParameterは初期値関連。
バックナンバーはこちら。
コメント