1

Modelicaで新しいミディアムモデルを作成したいと思います。すべての中型モデルには、最小、最大、開始、および公称属性を持つタイプ温度があります。最低気温をに保存されている値fluidLimits.TMIN(FluidLimitsレコードのインスタンス)に設定したいのですが、min属性はリテラル値ではないため、無視されるという警告が常に表示されます。min=Modelica.Constants.small代わりに書くことはうまくいきます。以下の私のミディアムモデル定義の最初の行を参照してください。

partial package SomeMediumModel
  extends Modelica.Media.Interfaces.PartialTwoPhaseMedium(
    Temperature(min=fluidLimits.TMIN, max=600));

  constant FluidLimits fluidLimits;
  ...
end SomeMediumModel;

FluidLimitsレコードの使用方法の例はありますか?minがfluidLimits.TMINからの値を受け入れるようにするには、何を変更する必要がありますか?

4

1 に答える 1

1

なぜこれが機能しないのかよくわかりません。fluidLimitsは定数なので、動作するはずです。記録だと思いFluidLimitsますか?

潜在的なバグのようです。私はそれをあなたのツールベンダーに報告し、彼らが何を言っているかを見るでしょう。それまでの間、潜在的な回避策は次のようなパッケージを定義することです。

partial package SomeMediumModel
  extends Modelica.Media.Interfaces.PartialTwoPhaseMedium(
    Temperature(min=FluidLimitsPackage.TMIN, max=600));

  package FluidLimitsPackage
    constant Modelica.Constants.Temperature TMIN=275;
  end FluidLimitsPackage;
  ...
end SomeMediumModel;

あなたが抱えている問題は、これが本当に一定であることをツールが認識しないことだと思います。このアプローチ(テストされていませんが、ところで)はそれを回避する可能性があります。ただし、いずれの場合も、ツールベンダーに確実に報告して、ツールベンダーがそれを認識していることを確認する必要があります。

于 2011-08-03T14:37:55.023 に答える