1

Modelica Spec の Part 8.3.7 では、関数について説明し、assert2 つの例を示していますが、次のコマンドのいずれかを使用しようとすると、期待どおりに動作しません。

assert(T > 250 and T < 400, 
    "Medium model outside full accuracy range", 
    AssertionLevel.warning);

また

assert(T > 250 and T < 400, 
    "Medium model outside full accuracy range", 
    level=AssertionLevel.warning);

ここで何が問題なのですか?明らかな何かを見逃しましたか?

4

2 に答える 2

3

そこで、Dymola (2012FD01) に確認したところ、Dymola はlevel引数を実装していないようです。

> document("assert")
function assert "assert that a condition is true"
input Boolean _condition;
input String _error;

The given condition should be true.
If it is false an error message will be given
end assert;

または、単に文書化されていないだけかもしれません。それについては、おそらく DS サポートに問い合わせる必要があります。OpenModelica では、仕様に記載されているように実装されているようです ( http://build.openmodelica.org/Documentation/assert.htmlも参照)。

于 2012-02-29T07:06:06.873 に答える
1

使用しているツールについては言及していませんが、これは assert の比較的新しい構文であることを指摘しておきます。「レベル」インジケータなしで試すことができます (つまり、ブール値と文字列の 2 つの引数のみ)。

于 2012-02-28T16:58:12.123 に答える