ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simscape でのシミュレーションの仕組み

Simscape でのシミュレーションのフェーズ

この概要は、モデルの作成やエラーの理解に役立ちます。詳細は、「Simscape モデルによる物理システムの表現」を参照してください。

Simscape™ ソフトウェアでは、複数の方法を用いて Simulink® 環境で物理システムのシミュレーションや解析を行うことができます。物理モデルのシミュレーションの実行方法は、任意の Simulink モデルのシミュレーションと同様です。すなわち、各種のシミュレーション オプションを設定し、シミュレーションを開始し、シミュレーションの結果を表示します。ここでは、Simscape モデルに特有のシミュレーションの諸特徴について説明します。個々の Simscape アドオン製品でのシミュレーションと解析の詳細は、各アドオン製品のドキュメンテーションを参照してください。

次のフロー チャートは、Simscape シミュレーションの順序を示しています。

このフロー チャートは以下の主要なフェーズで構成されています。

  1. モデルの検証

  2. ネットワークの構築

  3. 方程式の構築

  4. 初期条件の計算

  5. 一時的な初期化

  6. 一時的な解決

モデルの検証

Simscape ソルバーは最初にモデル コンフィギュレーションを検証し、ブロック ダイアログ ボックスで入力されたデータを確認します。

  • ブロック線図内のすべての Simscape ブロックは、接続して 1 つまたは複数の物理ネットワークを形成しなければなりません。保存端子を接続しないで残すことはできません。

  • ブロック線図内のトポロジー的に区別可能なそれぞれの物理ネットワークには、Solver Configuration ブロックが 1 つずつ必要です。

  • モデルに油圧要素がある場合、ブロック線図内のトポロジー的に区別可能な各油圧回路は Custom Hydraulic Fluid ブロック (または SimHydraulics® ブロック ライブラリで利用できる Hydraulic Fluid ブロック) に接続されていなければなりません。これらのブロックは、油圧回路に接続しているすべてのブロックに対しグローバル パラメーターとして機能する流体特性を定義します。作動油ブロックがループに付加されていない場合、このループの油圧ブロックは既定の流体を使用します。ただし、ループ内に複数の作動油ブロックがあるとエラーが発生します。

    同様に、モデルに空気圧要素がある場合、空気ネットワークの既定の気体特性は、乾燥した空気で、101325 Pa および摂氏 20℃の大気条件に対応したものとなります。Gas Properties ブロックを空気圧回路に付加すると、この回路に接続されているすべてのブロックの気体特性と大気条件を変更できるようになります。ただし、空気圧回路に複数の Gas Properties ブロックがあるとエラーが発生します。

  • Simulink-PS Converter ブロックで指定する信号単位は、接続されている Simscape ブロックで想定される入力タイプと一致していなければなりません。たとえば、Ideal Angular Velocity Source ブロックに入力信号を提供する場合は、角速度の単位 (rad/srpm など) を Simulink-PS Converter ブロックで指定するか、単位なしのままにします。同様に、PS-Simulink Converter ブロックで指定する単位は、Simscape ブロックの出力端子から送出される物理量信号のタイプと一致していなければなりません。

ネットワークの構築

モデルの検証後、Simscape ソルバーは次の原則に基づいて物理ネットワークを構築します。

  • 直接に接続される 2 つの保存端子は、すべてのアクロス変数 (電圧や角速度など) に対して同じ値をもちます。

  • 物理接続ライン経由で伝送される任意のスルー変数 (電流やトルクなど) は、分岐で接続されている複数のコンポーネント間で分割されます。各スルー変数について、分岐点に流入する値の合計は、分岐点から流出する値の合計と等しくなります。

方程式の構築

Simscape ソルバーは、ネットワーク コンフィギュレーション、ブロック ダイアログ ボックスのパラメーター値、流体特性により定義されたグローバル パラメーター (定義されている場合) に基づいて、モデルの連立方程式を構築します。

これらの方程式には、次のタイプのシステム変数が含まれます。

  • "動的" — これらの変数の時間微分は方程式で使用されます。動的変数は、シミュレーションの独立した状態を表します。

  • "代数" — これらの変数の時間微分は方程式で使用されません。代数変数の状態は、つねに動的変数、他の代数変数または入力に依存しています。

初期条件の計算

Simscape ソルバーは初期条件をシミュレーション開始時 (t=0) に 1 回だけ計算します。[Solver] ブロック ダイアログ ボックスの既定の設定では、[Start simulation from steady state] チェック ボックスはオフになっています。

ソルバーはすべての動的変数を 0 に設定し (ブロック ダイアログ ボックスに初期条件フィールドがあるブロックの動的変数は除きます)、すべてのシステム変数の値を求めて初期条件を計算します。初期条件があるブロックでは、ブロック ダイアログでユーザーが指定した値に従って動的変数が設定されます。初期条件は動的変数のみで設定できます。これは、動的変数がシミュレーションの独立した状態を表しているためです。たとえば、Translational Spring ブロックには [Initial deformation] パラメーターがあるため、これに対応するバネの位置の状態は、ブロック ダイアログ ボックスで指定された初期オフセットに設定されます。どのブロックにダイアログ ボックスで設定される初期条件があるかを見出すには、各ブロックのリファレンス ドキュメンテーションを参照してください。

動的な従属状態に対する初期条件は、矛盾しないように設定しなければなりません。たとえば、並列に接続されている 2 つの理想コンデンサの初期電圧は等しくなければなりません。ソルバーは動的な従属変数を検出すると確認を実行し、動的状態の初期条件が矛盾している場合はエラーを表示します。

初期定常状態の検出

[Start simulation from steady state] チェック ボックスがオンになっている場合、ソルバーは、前述の初期条件計算により得られた初期状態から開始して、システムへの入力が十分な時間にわたり一定に保たれている場合に生ずる定常状態の検出を試みます。定常状態の解決が成功した場合、検出される状態は何らかの (許容誤差範囲内の) 定常状態ですが、所定の初期条件で想定されている状態であるとは限りません。定常状態とは、時間が経過してもシステム変数が変動しない状態を指します。その後、シミュレーションはこの定常状態から開始されます。

    メモ:    [Start simulation from steady state] オプションを使用したときに、シミュレーションが開始時または開始直後に失敗した場合は、このチェック ボックスをオフにし、既定の初期条件計算のみを使用してシミュレーションを実行してください。

一時的な初期化

Simscape ソルバーは、初期条件の計算後、またはその後のイベント (たとえば、バルブ開放や急停止などによる不連続の発生など) の後に、一時的な初期化を実行します。一時的な初期化により、すべての動的変数が固定され、代数変数と動的変数の微分が解決されます。一時的な初期化の目的は、次のフェーズである一時的な解決のための一貫した初期条件を得ることです。

一時的な解決

最後に、Simscape ソルバーは連立方程式の一時的な解決を実行します。一時的な解決では、連続微分方程式は時間によって積分され、すべての変数が時間の関数として計算されます。

ソルバーは一時的な解決の結果に従いシミュレーションを継続します。この処理はソルバーがゼロクロッシングや不連続などのイベントを検出するまで継続されます。イベントは物理ネットワーク内で発生する場合もあれば、Simulink モデル内の別の場所で発生する場合もあります。ソルバーがイベントを検出すると、ソルバーは一時的な初期化のフェーズに戻り、一時的な解決を再度実行します。このサイクルは、シミュレーションの終わりまで続行されます。

この情報は役に立ちましたか?