5

大規模なModelicaモデルの出力ファイルのサイズに苦労しています。もちろん、結果ファイルから完全に削除するために、いくつかのオブジェクトを保護することができます。ただし、これにより2つの問題が発生します。

  1. 保護されたオブジェクトを再宣言することはできません
  2. モデルを詳細にテストしたい場合(たとえば、短期間)、変数を表示するために、これらのオブジェクトを再度公開する必要があります

Modelicaモデルの「冗長性」を設定するためのトリックがあるのだろうか。たぶん私が欲しいのは、例えばの隣の3番目のキーワードpublicですprotectedtransparent。次に、シミュレーションを設定するときに、次のような効果で詳細レベルを1または2に設定できるようにします。

1->すべてのtransparent要素を次のように見なしますprotected

2-->すべてのtransparent要素を次のように見なしますpublic

この効果は、すべてのモデルとサブモデルに伝播します。
これはもう存在しないと思います。しかし、簡単な回避策はありますか?

ありがとう、ロエル

4

5 に答える 5

6

Michael Tillerが上で書いたように、これはすべてのModelicaツールで同じように処理されるわけではなく、明確な答えはありません。OpenModelica固有の答えを与えるために、を使用してsimulate(ModelName,outputFilter="regex")、指定された正規表現に完全に一致する変数のみを格納することができます(デフォルトは.*、任意の変数に一致します)。

于 2011-10-03T09:33:21.420 に答える
3

ロエル、

私はこの問題に取り組んでいる何人かの人々を知っています。現時点では、これはすべて使用しているツールによって異なります。他のツールが結果のフィルタリングをどのように処理するかはわかりませんが、Dymolaでは、シグナルに特別な修飾子(保護など)を与えることで(指摘したように)それを制御します。

私が過去に行ったことの1つは、モデルから拡張して、関心のあるものの出力信号の束を追加することです。次に、Dymolaで[出力]を選択して、それらが結果ファイルに確実に含まれるようにします。これは完璧にはほど遠いです。なぜなら、a)必要なものすべてをリストするのは面倒であり、b)保護された変数を参照することは厳密には許可されていないからです(ただし、Dymolaはそれを回避できますが、警告を発行します)。

ダッソーでは、このアイデアについて積極的に議論しており、これらの方針に沿ってより優れた機能を提供したいと考えています。そのような機能が厳密にツール固有であるのか、それとも何らかの形で言語を含むのかは明らかではありません。ただし、言語に関連する場合は、(もちろん)設計グループと協力して、他のツールベンダーもサポートできる仕様を策定します。

于 2011-09-29T10:11:56.257 に答える
3

SystemModelerで、SimulationCenterのExperimentBrowswerの[設定]タブに移動します。下部にある[出力]をクリックして、保存する変数を選択します。

(オプションはstate variables、、、、です。-optionをマークすると、時間derivativesの経過に伴うイベントと関数の評価に関する興味深い統計が得られ、より多くの評価を作成するシミュレーションとモデルの一部を追跡する別の可能性が開かれます)algebraic variablesparametersprotected variablesStore simulation log

于 2014-01-07T16:45:49.247 に答える
2

これが役立つかどうかはわかりませんが、Dymolaで、[シミュレーション]->[セットアップ]->[出力]に移動し、[保護された変数を保存する]チェックボックスをオンにすることができます。そうすれば、ほとんどの変数を保護されていると宣言できます。通常のシミュレーションでは変数は保存されませんが、モデルをデバッグするときは、そのチェックボックスをオンにするだけで保存されます。もちろん、それはあなたが提案した透明なキーワードと同じではありませんが、多分それは少し役立つでしょう...

于 2011-09-30T09:03:58.020 に答える
1

少し遅れていますが、Dymola 2013 FD01以降では、アノテーションを使用して名前(およびモデル名)に基づいて保存する変数を選択でき__Dymola_selections、ユーザー定義のタグでフィルタリングすることもできます。そのため、で「透明」なタグ名を作成できます。モデル。マニュアルの「マッチングと変数の選択」を参照してください。

于 2016-12-08T10:12:29.033 に答える