Modelicaで新しいメディアモデルを作成したい。すべての媒体モデルは、min、max、start、およびnominal属性を持つタイプ温度を持ちます。最低温度をfluidLimits.TMIN
(FluidLimitsレコードのインスタンス)に格納されている値に設定したいと思いますが、リテラル以外の値があるため、min属性が無視されるという警告が常に表示されます。代わりにmin=Modelica.Constants.small
と書くことができます。Modelica - min属性を設定する
partial package SomeMediumModel
extends Modelica.Media.Interfaces.PartialTwoPhaseMedium(
Temperature(min=fluidLimits.TMIN, max=600));
constant FluidLimits fluidLimits;
...
end SomeMediumModel;
FluidLimitsレコードを使用する方法の例があります: 以下の私の中のモデルの定義の最初の行を参照してください? minがfluidLimits.TMINの値を受け入れるためには、何を変更する必要がありますか?
ありがとうございました。私はあなたの回避策を試しましたが、まだ満足のいく方法で動作するようにはなりませんでした。私のツールはDymolaです。次の日に[email protected]に連絡します。 FluidLimitsはレコードです。 FluidLimits内の各変数が定数か、またはfluidLimitsのみがFluidLimitsレコードの定数インスタンスであるかどうかは異なりますか? – matth
私は2つの問題があると思う:FluidLimitsレコードの変数TMINはTemperature型であり、この型の最小属性(Modelica.Mediaで定義されている)を設定するためにTMINを使用したいので、ある種のループがあります。これに対する解決策は、Modelica.Munitの定義の代わりにFluidLimitsレコードの定義にModelica.SIunits.Temperatureを使用することです。 2番目の問題は、min属性を設定する場所です:部分パッケージ(fluidLimits.TMINにはまだ価値がない)では機能しませんが、最終的なメディア定義では機能します。 – matth