2016-05-20 12 views
5

「物理システムのモデリング」という本題には初めてです。私はいくつかの基本的な文献を読んで、ModelicaとSimulink/Simscapeでいくつかのチュートリアルをしました。微分方程式(ODE)のシステムに:一貫した用語:Modeling、DAE、ODE

  • 記号操作は、方程式の微分代数システム(DAE物理モデル)を変換するプロセスである:私は私が正しく、次の内容を理解していれば、お聞きしたかったです
  • DAEを直接解決できるソルバーもあります。しかし、Modelica(openModelica、Dymola)とSimscapeはシステムをODEに変換します(この方法は直接DAEソルバーに比べて優れています)。
  • 変換の結果(= ODE)は "Flat Modelica code"です。

ありがとうございました。 Modelicaため

答えて

7

記号処理を含む:

  • 削除オブジェクト指向構造およびハイブリッドDAE(フラットModelica)
  • を得るODE
  • を取得するマッチング、インデックス減少、臨時を行うには、引き裂き(最適化を行います、共通部分式消去など)
  • 特定のソルバーのコードを生成

OpenModelicaは、ODEに変換せずにDAEモードでシステムを解決することもできます。他のModelicaツールも同様にそれを行うことができます。

"Flat Modelica code"は、オブジェクトの向きが取り除かれたModelicaコードであり、接続方程式は正規方程式に展開されます。結果はハイブリッドDAEです。

参照Modelica仕様3.3このすべて(例えば、付録C)についての詳細は: https://modelica.org/documents/ModelicaSpec33Revision1.pdf

1

だから私は専門用語の理解があまりにも非常に良いと思います。 modelicaでのプログラミングの宣言的な方法(必然的ではない)のために、非常に多くの代数方程式がすぐに得られます。これらの(部分的に)象徴的な解決は、とりわけ、以下の本質的な利点を有する。

  • スピード。代数ループを排除することなく、modelicaは実世界の問題に実際には使用できず、単純な場合でも代数方程式は残っていません。それは遅すぎるかもしれませんし、あなた自身も(例えばC/C++やSimulinkのような命令型言語のように)あなた自身も手動でモデル化する必要があります。今日のmodelicaでも、手動で変換され、最適化されたソリューションよりも遅くなる可能性があります。 さらに、モデルのアプリケーションでは、しばしばリアルタイムでシミュレーションが必要です。

  • 正解。シンボリック変換は、証明に基づいており、モデルやアプリケーションは、安全性が重要なシステムやサイバー物理システムの領域にあることがよくあります。

関連する問題