パラメータを使用してコンポーネントの単位属性を設定できますか?

これまでのところ、Wolfram System Modeler 4.3および5.1を使用すると、次の最小限の例がエラーなしでコンパイルされます。

model UnitErrorModel
    MyComponent c( hasUnit = "myUnit" );

    block MyComponent
        parameter String hasUnit = "1";
        output Real y( unit = hasUnit );
    equation
        y = 10;
    end MyComponent;

end UnitErrorModel;

しかし、WSM 12.0の新しいリリースでは(バージョンの急増は、Wolframの主力製品であるMathematicaの現在のリリースとの整合性によるものです)、エラーメッセージが表示されます。

内部エラー:Codegen.getValueString:非定数式:c.hasUnit

(注:エラーはWSMLink'WSMSimulate、System Modeler12.0を内部で実行しているMathematica12.0で発生します。ここ"InternalValues"では、現在WSM 12.0をインストールしていないため、上記のモデルのプロパティを要求します)。

上記のモデルをOpenModelica [OMEditv。1.13.2(64ビット)]でシミュレートしようとすると、次のことがわかります。

SimCodeUtil.mo:8492:9-8492:218]:内部エラー予期しない式(おそらくフロントエンドで以前に処理されているはずです。Unit/ displayUnit式は文字列リテラルではありません:c.hasUnit

では、単位属性を設定するために、パラメーターの変動性を持つ変数を使用できないようです。これはなぜですか?結局のところ、実行時にコンパイルするときにコンパイラーがユニットをハードワイヤードできるだけで十分ではありません(すべての指定されたモデルはWSM 4.3および5.1でエラーなしで実行されます)?

編集:私の古い質問へ回答から、少なくとも最終的なパラメータを使用して単位属性を設定できると信じていました。変更を最終的にする(たとえばc( final hasUnit = "myUnit" )、問題を解決しない)。

私は与えられたヴォルフラムコミュニティに関するフィードバックを、この問題に関してヴォルフラムカオティック・ハードコアから誰かによって:

仕様に違反していないという点で正しいですが、シミュレーションの構築後にユニットを変更できるかどうかを確認するすべての静的ユニットを無効にするため、定数にする方が理にかなっています。これに関する仕様に関する問題を提出しましたModelica仕様問題#2362)。

そのため、MatheCoreは、すでに実装されているModelica仕様の変更を提案する点で、ゲームよりも少し進んでいます。;-)

注:Wolfram System Modeler(12.0)では、アノテーションEvaluate = true使用しても問題は解決しません(@matthによる上記のコメントを参照)。

回避策として、unit属性の設定に使用される変数一定の 変動性を持つ必要がありますが、それでもユーザーダイアログに含めることで、を使用してインタラクティブに変更できますannotation(Dialog(group = "GroupName"))

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

カスタムJavafxコンポーネントのパラメーターとしてカスタムFXMLプロパティを設定します

分類Dev

そのコンポーネントの属性として角度コンポーネント セレクターを使用できますか?

分類Dev

React-Routerを使用して、すべてのルートでレンダリングする「外部」コンポーネントを設定できますか?

分類Dev

文字列をパラメータとして使用して角度コンポーネントのコンストラクタを作成できません

分類Dev

拡張コンポーネントのすべてのパラメーターを解決できません

分類Dev

Vue.jsのコンポーネントデータを使用してrouter-linkを属性に設定する

分類Dev

ReactJSコンポーネントPropTypes-設定された数のパラメーターで関数タイプを指定します

分類Dev

YAMLメタデータを使用してコマンドライン引数を設定できますか?

分類Dev

Angular:コンポーネントのすべてのパラメータを解決できません

分類Dev

AOT-ngcコンポーネントのすべてのパラメータを解決できません

分類Dev

BIND()を使用してカスタムコンポーネントメソッドをコンポーネントにバインドするときに、最初の引数をコンポーネント自体として渡すことはできますか?

分類Dev

属性を使用してAngular4コンポーネントのスタイルを設定する方法は?

分類Dev

どのReactコンポーネントをパラメーターで使用する必要がありますか?

分類Dev

小道具を使用して、TypeScriptプロジェクトでスタイル付きコンポーネントのCSSルールを設定します

分類Dev

ルートのパスパラメータに等しいコンポーネントキーを設定します

分類Dev

UIPickerViewのコンポーネントをセパレータとして設定します

分類Dev

extjsパラメータをコンポーネント設定に渡す方法

分類Dev

TypeScriptでテーマオブジェクトにインデックスを付けるために小道具を使用してスタイル付きコンポーネントに条件付きで属性を設定しますか?

分類Dev

コンポーネントをAngularJS1.6の属性として要素で使用できますか?

分類Dev

スタイル付きコンポーネントで子のCSSを設定できますか?

分類Dev

動的に追加された子コンポーネントの属性をプログラムで設定します

分類Dev

同じコンポーネント内のいくつかの異なるAPI呼び出しに基づいて複数のパラメーターをルーティングするAngular6、これは単に悪い設計ですか?

分類Dev

React:React Projectのドロップダウン要素にメディアクエリを設定する必要がありますが、スタイル付きコンポーネントを使用して設定する方法がわかりません

分類Dev

コンポーネントがJSTLforEachループ内にある場合、値式を使用して属性をプログラムで設定します

分類Dev

Plotlyグラフコンポーネントは、ビューポートの単位を受け入れてテキスト注釈のフォントサイズを設定できません

分類Dev

React:コンポーネントコンストラクターは複数のパラメーターを持つことができますか?

分類Dev

Angular 5:コンポーネントのすべてのパラメーターを解決できない

分類Dev

AngularInterface-コンポーネントのすべてのパラメーターを解決できない

分類Dev

Cのgetsのパラメーターとしてポインターを使用できますか?

Related 関連記事

  1. 1

    カスタムJavafxコンポーネントのパラメーターとしてカスタムFXMLプロパティを設定します

  2. 2

    そのコンポーネントの属性として角度コンポーネント セレクターを使用できますか?

  3. 3

    React-Routerを使用して、すべてのルートでレンダリングする「外部」コンポーネントを設定できますか?

  4. 4

    文字列をパラメータとして使用して角度コンポーネントのコンストラクタを作成できません

  5. 5

    拡張コンポーネントのすべてのパラメーターを解決できません

  6. 6

    Vue.jsのコンポーネントデータを使用してrouter-linkを属性に設定する

  7. 7

    ReactJSコンポーネントPropTypes-設定された数のパラメーターで関数タイプを指定します

  8. 8

    YAMLメタデータを使用してコマンドライン引数を設定できますか?

  9. 9

    Angular:コンポーネントのすべてのパラメータを解決できません

  10. 10

    AOT-ngcコンポーネントのすべてのパラメータを解決できません

  11. 11

    BIND()を使用してカスタムコンポーネントメソッドをコンポーネントにバインドするときに、最初の引数をコンポーネント自体として渡すことはできますか?

  12. 12

    属性を使用してAngular4コンポーネントのスタイルを設定する方法は?

  13. 13

    どのReactコンポーネントをパラメーターで使用する必要がありますか?

  14. 14

    小道具を使用して、TypeScriptプロジェクトでスタイル付きコンポーネントのCSSルールを設定します

  15. 15

    ルートのパスパラメータに等しいコンポーネントキーを設定します

  16. 16

    UIPickerViewのコンポーネントをセパレータとして設定します

  17. 17

    extjsパラメータをコンポーネント設定に渡す方法

  18. 18

    TypeScriptでテーマオブジェクトにインデックスを付けるために小道具を使用してスタイル付きコンポーネントに条件付きで属性を設定しますか?

  19. 19

    コンポーネントをAngularJS1.6の属性として要素で使用できますか?

  20. 20

    スタイル付きコンポーネントで子のCSSを設定できますか?

  21. 21

    動的に追加された子コンポーネントの属性をプログラムで設定します

  22. 22

    同じコンポーネント内のいくつかの異なるAPI呼び出しに基づいて複数のパラメーターをルーティングするAngular6、これは単に悪い設計ですか?

  23. 23

    React:React Projectのドロップダウン要素にメディアクエリを設定する必要がありますが、スタイル付きコンポーネントを使用して設定する方法がわかりません

  24. 24

    コンポーネントがJSTLforEachループ内にある場合、値式を使用して属性をプログラムで設定します

  25. 25

    Plotlyグラフコンポーネントは、ビューポートの単位を受け入れてテキスト注釈のフォントサイズを設定できません

  26. 26

    React:コンポーネントコンストラクターは複数のパラメーターを持つことができますか?

  27. 27

    Angular 5:コンポーネントのすべてのパラメーターを解決できない

  28. 28

    AngularInterface-コンポーネントのすべてのパラメーターを解決できない

  29. 29

    Cのgetsのパラメーターとしてポインターを使用できますか?

ホットタグ

アーカイブ