8

再びアイデアが尽きたので、私はあなたに目を向けます。

これは以前に答えられたはずですが、私の人生では明確な説明を見つけることができません。

シナリオ:

最初の推測などですべて設定されたモデルを取得するために懸命に作業し、モデル内のすべてのパラメーターの「実際の」定常状態 (SS) 条件を解きます。このソリューションから、システムに対するイベントの影響を調査したいと思います。

SS 分析からのこの逸脱を実行するには、 Dymolaによって既に生成されているすべてのモデル パラメーターを含む SS ソリューション .mat ファイルを簡単にロードできると便利です。このソリューションをロードすると、SS 調査からの逸脱を実行する前に、最初にモデルをシミュレートして SS ソリューションを達成する必要がなくなります。これが行われる可能性のあるステップは、シミュレーションの「初期化」段階であると考えられます。

これが重要な概念に見えることを考えると、このアイデアは Modelica/Dymola 開発の非常に初期の段階から検討されていたのではないかと思います。これらのモデルのサイズがすぐに非常に大きくなることを考えると、個々のパラメータを手動で抽出することは適切ではないようです。

質問:

  1. モデル (.mat ファイル) の状態を解決し、そのシミュレーションをすべての変数の「初期」値としてロードすることは可能ですか? (これにより、システム内の以前の初期推測が上書き/置き換えられます)
  2. 可能であれば、これはどのように達成されますか? (いくつかのスクリプトを実行し、いくつかの非表示のメニュー オプションを実行し、モデル/シミュレーションに何らかのインポート コマンドを追加しますか?)

大変お世話になりました。Dymola 2016を使用しています。

4

1 に答える 1

5

上記に投稿された私自身の質問に対する次の回答を見つけました。

編集: matth は、こ​​の件に関する次の参考文献も指摘しました: http://claytex.com/blog/how-to-restart-a-simulation

これらはDymolaの手順です。他の Modelica ベースのプログラムに適用できるかどうかは確認できません。Dymola User Manual Volume 1 Section 5.3.3 Simulation > Continue > Import Initial/Continue にもいくつかのドキュメントがありました。

1) はい、生成された .mat ファイルからモデルを開始できます。dsfinal.txt ファイルから続行することもできます。

2) GUI を使用した手順は次のとおりです。

  • 「YOUR_MODEL.mat」ファイル (例: YOUR_MODEL_orig.txt) をバックアップします。シミュレーションを実行すると、新しい .mat ファイルが作成されます。おそらく誤って上書きしたくないでしょう。
  • モデルを翻訳します。
  • リボンで、[シミュレーション] > [続行] > [初期値のインポート] に移動します。シミュレーションを続行する .mat ファイルを選択します。
  • 指定された範囲で時間入力を求めるプロンプトが生成されます。これにより、.mat シミュレーション結果内の任意の時点でシミュレーションを続行できます。
  • Simulation Setup に移動し、新しいシミュレーション パラメータを選択します。初期 SS シミュレーションに関連付けられた大きな数値ではなく 0 の開始時間をソリューションで登録する場合は、'開始時間' を 0 に更新します。これは、Model_Sim.mat ファイルのパラメーター データに使用される初期時間には影響しません。 .
  • 次に、モデルをシミュレートします。指定したポイントから始まる新しい .mat ファイルが生成されます。

代替方法: (奇妙なことに、この方法では .mat ファイルが生成または更新されないようです。)

  • 「dsfinal.txt」ファイルをバックアップします (例: dsfinal_orig.txt)。シミュレーションを実行すると、新しい dsfinal.txt ファイルが作成されます。おそらく誤って上書きしたくないでしょう。
  • モデルを翻訳します。
  • リボンで、[シミュレーション] > [続行] > [続行] に移動します。このオプションを押すと、パス上にある dsfinal.txt ファイルを使用してシミュレーションが開始されます。
  • シミュレーションは、dsfinal.txt ファイルを生成したシミュレーションの最終条件から続行されます。
  • 時間 0 で開始する必要がある場合は、シミュレーションの開始 (9)、停止 (10)、およびタイムステップ数 (12) に対応する dsfinal.txt ファイルを変更できます (私の場合は 9、10、および 12 行目)。 . これはトリックを行うようです。
于 2016-01-07T21:54:45.113 に答える