物理モデル用のソルバーの設定
Simulink ソルバーと Simscape ソルバーについて
この節では、物理シミュレーションに用いるソルバーの選択方法について説明します。Simscape™ モデルのシミュレーションを適切に行うには、Simulink® の既定値を変更したり、物理的なシミュレーションのトレードオフを考慮する必要があります。推奨される選択内容は、物理シミュレーションに使用するソルバーの最適な選択を参照してください。
Simulink ソルバーと Simscape ソルバーの選択
Simulink と Simscape のソルバー テクノロジーにより、ローカル ソルバーのパワフルな Simscape 手法など、物理システムのシミュレーションを実行するための広範なツールが提供されます。Simulink ではグローバルなソルバーやモデル単位のソルバーを選択できます。この選択を行った後、選択内容に矛盾がないか確認します。Simulink および Simscape ソルバーの連携を参照してください。
グローバル Simulink ソルバーの取り扱い
モデルの [コンフィギュレーション パラメーター] ダイアログ ボックスにある [ソルバー] ペインで選択するソルバーや関連設定は、グローバルな選択となります。詳細については、ソルバーの選択基準を参照してください。
最初にモデルを作成する時点では、既定の Simulink ソルバーは VariableStepAuto
です。詳細については、ソルバーの選択を参照してください。別のソルバーを選択するには、初期設定の変更の手順と同様の手順に従います。
一式の可変ステップ ソルバーと固定ステップ ソルバーから 1 つを選択できます。
また、陽的ソルバーと陰的ソルバーから選択することもできます。物理モデルの場合は、daessc、ode23t、ode15s などの陰的ソルバーを使用することを推奨します。陰的ソルバーは ode45、ode113、ode1 などの陽的ソルバーに比べて必要なタイム ステップ数が少なくなっています。
既定の陽的ソルバーから他の Simulink ソルバーへの切り替えを参照してください。
モデル内のすべての Simulink と Simscape の状態が離散的な場合、Simulink は自動的に離散ソルバーに切り替え、警告を発します。それ以外の場合は、連続ソルバーが既定で選択されます。
既定では、Simulink 可変ステップ ソルバーはゼロクロッシング検出により、時間経過に伴うイベントの検索を試みます。Simscape モデルでのゼロクロッシングの管理を参照してください。
ローカル Simscape ソルバーの取り扱い
1 つ以上の物理ネットワークを、ローカルの陰的な固定ステップ Simscape ソルバーに切り替えることができます。この操作を行うには、ネットワークの Solver Configuration ブロックで [ローカル ソルバーを使用] を選択します。各 Solver Configuration ブロックで指定するソルバーとその関連設定は、接続されている物理ネットワークに特定的なもので、ネットワークごとに変えることが可能です。
グローバル Simulink ソルバーは、ローカル ソルバーを使用する物理ネットワークが離散状態をもつものとして認識します。連続グローバル ソルバーは引き続き使用できます。
ローカル ソルバーとサンプル時間の選択. ローカル ソルバーを使用するには、ソルバーのタイプ (後退オイラー、台形則、または分割) とサンプル時間を選択します。既定では後退オイラーが選択されます。
固定コスト シミュレーションの選択. 1 つ以上の物理ネットワークで固定コスト シミュレーションを選択するには、[固定コストでの実行時整合性の反復を使用] と [ローカル ソルバーを使用] を選択し、非線形反復とモード反復の数を固定します。詳細については、固定コスト シミュレーションを参照してください。
マルチレート シミュレーションの選択. ローカル ソルバー オプションでは、次を用いてマルチレート シミュレーションを実行できます。
それぞれの Solver Configuration ブロックを介した、物理ネットワークごとに異なるサンプル時間
1 つまたは複数の Solver Configuration ブロックとは異なるサンプル時間をもつ、モデルにおけるサンプル ベースの Simulink ブロック
Simulink および Simscape ソルバーの連携
選択した Simulink ソルバーと Simscape ソルバーは矛盾なく連携しなければなりません。特定モデルに対して選択した Simulink ソルバーと Simscape ソルバーの一貫した動作を確保するには、モデルの [コンフィギュレーション パラメーター] ダイアログ ボックスを開きます。モデル ウィンドウで [モデル化] タブを開き [モデル設定] をクリックします。次の設定を確認し、調整します。
[コンフィギュレーション パラメーター] ダイアログ ボックスの [Simscape] ペイン
既定の陽的ソルバーから他の Simulink ソルバーへの切り替え
最初にモデルを作成する時点では、既定の Simulink ソルバーは VariableStepAuto
です。ソルバーの選択で説明されているように、自動ソルバーでは適切なソルバーが選択され、一部のタイプのモデルでは陽的ソルバー ode45
が選択されることがあります。既定の (陽的) ソルバーを変更しない場合、パフォーマンスが最適にならない可能性があります。多くの物理シミュレーションでは陰的ソルバーの方が適しています。陰的ソルバーと物理システムの詳細は、物理シミュレーションでの重要な概念と選択肢を参照してください。
陽的ソルバーに関する診断メッセージ. Simscape ブロックを含むモデルで陽的ソルバーを使用すると、潜在的問題に注意を促す警告が表示されます。
この既定の警告をオフにするか、エラー メッセージに変更するには、[コンフィギュレーション パラメーター] ダイアログ ボックスの [Simscape] ペインに移動します。
[陽的ソルバーが物理ネットワーク ブロックを含むモデルで使用されている] ドロップダウン リストで、望ましいオプションを選択します。
警告
— モデルで陽的ソルバーが使用されている場合、シミュレーションに際して警告が表示されます。これは既定のオプションで、既定のソルバーを使用すると潜在的問題に対し注意が喚起されます。エラー
— モデルで陽的ソルバーが使用されている場合、シミュレーションに際してエラー メッセージが表示されます。モデルがスティッフで陽的ソルバーの使用が望ましくない場合、このオプションを選択して今後のエラーを回避します。なし
— モデルで陽的ソルバーが使用されていても、シミュレーションに際して警告やエラー メッセージは表示されません。陽的ソルバーを扱う場合、特にスティッフでないモデルに対してはこのオプションを選択します。
[OK] をクリックします。
Simulink ゼロクロッシング検出の有効化と無効化
既定では、Simulink はゼロクロッシングの検出により、重要なクラスのシミュレーション イベントを追跡します。グローバルな可変ステップ ソルバーを使用し、ローカル ソルバーは使用しない場合、Simulink はシミュレーションにおけるゼロクロッシングの回数 (存在する場合) を特定します。Simscape モデルでのゼロクロッシングの管理を参照してください。
ゼロクロッシング検出のグローバルな無効化に関連した診断メッセージ. [コンフィギュレーション パラメーター] ダイアログ ボックスの [ソルバー] ペインにある [ゼロクロッシング オプション] で、ゼロクロッシング検出をグローバルに無効にすることができます。無効化を実行し、ローカル ソルバーなしでグローバル可変ステップ ソルバーを使用する場合、Simscape ブロックでシミュレーションを行うと警告またはエラーが発生します。
警告とエラー メッセージのどちらを使用するかは、[コンフィギュレーション パラメーター] ダイアログ ボックスの [Simscape] ペインで選択できます。
ゼロクロッシング検出をグローバルに無効にする場合、[Zero-crossing control is globally disabled in Simulink] ドロップダウン リストで望ましいオプションを選択します。
警告
— シミュレーションに際して警告メッセージが表示されます。このオプションは既定の設定です。エラー
— シミュレーションに際してエラー メッセージが表示され、シミュレーションは停止します。
[OK] をクリックします。
マルチレート シミュレーションの一貫性の確保
グローバル Simulink ソルバーのサンプル時間またはステップ サイズは、マルチレート Simscape シミュレーションのすべてのソルバーのタイム ステップの中で最も小さくなければなりません。
サンプル時間の伝播時にシミュレーション エラーが発生しないようにするには、[コンフィギュレーション パラメーター] ダイアログ ボックスの [ソルバー] ペインで、[データ転送に対するレート変換を自動的に取り扱う] チェック ボックスをオンにします。