物理モデリングのシミ​ュレーション時に最小​ステップサイズに関す​るエラーや警告が出力​されますがなぜですか​?

19 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
編集済み: MathWorks Support Team 2020 年 1 月 21 日
Simulink、Simscapeを使用していて、シミュレーション実行時にエラーが発生します。
モデル 'ModelName' の時間 2.164672544080609e-007 において、最小ステップサイズ 7.690461757479045e-022 の制限のためステップサイズを小さくできません。
または ERROR: 警告: 時間 2.0675935862977988E-007 で 4524 回連続で 7.3455680162403475E-022 の最小ステッv サイズに違反しないようステップサイズを減らすことはできません。これは通常、微分-代数系において代数制約の違反によって、またはシステムの高い剛性 (スティフネス) によって発生することがあります。許容誤差、および/または制約条件の計算に対する許容誤差を厳しくしてみてください。問題が解決しない場合は、モデル 'ModelName' をチェックする、またはソルバーの設定パネルで最大の連続最小ステップ サイズ違反パラメーターを大きくしてください

採用された回答

MathWorks Support Team
MathWorks Support Team 2020 年 1 月 21 日
編集済み: MathWorks Support Team 2020 年 1 月 21 日
このエラーは、モデルが表現する微分代数方程式(DAE)を解くのが数値的に困難な場合に出力されます。
たとえば、
・従属なダイナミック状態量が存在する場合
・システムがスティッフ性が強い場合
・本来動かない方向を無理やり動かそうとするなど非現実的な挙動をシミュレーションしようとした場合
などに生じます。
ここで、従属なダイナミック状態量とは、たとえば、電気回路の場合、キャパシタに平行に結合した電圧源、あるいは、電流源に連続に接続したインダクタ、などを含んでいる場合です。
他のドメインの例としては、直接繋げた速度ソースと質量、力ソースとバネ、圧力ソースと油圧アキュムレータ、流量ソースとfluid inertiaなどがあります。
英語になってしまいますが、従属なダイナミック状態量の詳細は、ドキュメントをご参照ください。
このようなエラーや警告が発生した場合、上記ドキュメントの[Step-Size-Related Errors — Dependent States — High Stiffness]にも記載がありますが、次の対策があります。
・ソルバのトレランスを厳しくする
[コンフィグレーションパラメータ]ダイアログボックスの"相対許容誤差"を小さくします。
[コンフィグレーションパラメータ]ダイアログボックスの"絶対許容誤差のautoに小さな値を指定します。
・Residual Toleranceを厳しくする
SimscapeのSolver ConfigurationブロックのConstraint Residual Toleranceパラメータ値を小さくします。
・[コンフィグレーションパラメータ]ダイアログボックスの"連続的な最小ステップ数"の値を大きくする
・回路の単純化を行ってみる。また、従属なダイナミック状態量を避けるために、回路に小さなダミー項を追加する。
・Solver Configurationブロックのローカルソルバーを使用する。
ローカルソルバーを使用すると、"Use fixed-cost runtime consistency iterations"で繰り返し計算の際の最大繰り返し回数を設定できます。繰り返し計算がここで設定した値に達すると、収束していない場合でも次のステップに計算が進みます。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSimscape 入門 についてさらに検索

タグ

タグが未入力です。

製品


リリース

R2009a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!