Parameters: Simulation
Model ElementParam_Simulationは、複数の解析方法に関連付けられているシミュレーションの解析制御パラメータを定義します。例外についても記載します。
フォーマット
<Param_Simulation
[ constr_tol = "real" ]
[ implicit_diff_tol = "real" ]
[ nr_converge_ratio = "real" ]
[ linsolver = "HARWELL" ]
[ usrsub_param_string = "USER([par1,par2,…,parN])"
{ usrsub_dll_name = "string"
|
interpreter = "PYTHON | MATLAB"
script_name = "string"
}
usrsub_fnc_name = "string"
]
[ acusolve_cosim = "TRUE | FALSE" ]
/>
属性
- constr_tol
- システムのコンフィギュレーションとモーション拘束が各ステップで満たされる精度を定義します。これは、ODE定式化で運動学および過渡ソルバーによって使用されますが(ABAM、VSTIFF、またはMSTIFF)、これに対する独自のトレランス(Param_Transient::dae_constr_tol)を持つDAE形式では使用されません。これは、小さい正の数にする必要があります。
- implicit_diff_tol
- 陰的微分方程式(is_implicit = "TRUE"でのControl_Diff方程式など)が満たされる精度を定義します。デフォルト値はimplicit_diff_tol1.0E-5です。
- nr_converg_ratio
- ODEソルバー向けのニュートン-ラプソン法での収束速度の指標を定義します。拘束ベクトル内の最大エントリが、nr_converg_ratioに前回の反復計算の最大エントリを乗算した値より大きい場合は、ニュートン-ラプソン反復計算はゆっくりと収束しており、一般化座標は次の積分ステップで再領域分割されて新しい独立座標セットが選択されます。この属性は、ODE積分器(ABAM、VSTIFF、またはMSTIFF)が選択されている場合にのみ適用可能です。
- linsolver
- 使用される線形ソルバーのタイプ。現在はすべての解析に対し、HARWELLに設定されています。
- usrsub_param_string
- データファイルから、usrsub_fnc_nameで定義されるユーザー定義のサブルーチンに渡されるパラメータのリスト。この属性は、すべてのタイプのユーザーサブルーチンおよびスクリプトに共通です。
- usrsub_dll_name
- ユーザーサブルーチンを含む共有ライブラリのパスと名前を指定します。MotionSolveはこの情報を使用して、実行時にユーザーサブルーチンを読み込みます。
- usrsub_fnc_name
- ユーザーサブルーチンTUNSUBの代替名を指定します。TUNSUBの定義およびシンタックスの詳細については、TUNSUBのドキュメントをご参照ください。
- script_name
- usrsub_fnc_nameで指定されたルーチンを含むユーザー作成スクリプトのパスと名前を指定します。
- interpreter
- ユーザースクリプトが記述されたインタープリタ型言語を指定します。有効な選択肢は、MATLABまたはPYTHONです。
- acusolve_cosim
- シミュレーションがAcuSolveと連成されるかどうかを決定するブールフラグ。
例
次の例は、Param_Simulationモデリング要素のデフォルト設定を示しています。
<Param_Simulation
constr_tol = "1E-10"
implicit_diff_tol = "1E-5"
nr_converg_ratio = "0.09"
linsolver = "HARWELL"
/>
コメント
- 線形ソルバー:MotionSolveにおけるほとんどの解析の中核を成すのは、一連の線形方程式(A x = b)を解くことです。例えば、ニュートン-ラプソン法では、反復計算プロセスの過程で一連の線形方程式を解き、一連の非線形代数方程式の解を見つけます。以下で、線形ソルバーの動作を簡単に説明します。
Harwell線形ソルバーは、線形代数方程式を解くためのツールです。これは、固定された非ゼロエントリパターンを持つ、正則、非対称の疎係数マトリクスA によって表現される線形システムに特に適しています。固定された非ゼロエントリパターンを持つとは、マトリクスのエントリは経時変化が可能であるのに対して、非ゼロのパターンはこれが可能ではないことを意味します。マトリクスのエントリは実数である必要があります。
この方法は、少規模から中規模の方程式セット(10,000個未満の方程式)を解くのに適しているため、マルチボディシステムのシミュレーションに非常に適しています。Harwellソフトウェアは、次の3つの主なステップで方程式を解きます:- シンボリックLU分解。
- 数値的LU分解。
- 前進 / 後退代入。
- シンボリックLU分解
- A内の非ゼロエントリのパターンとそれらのエントリの代表値が与えられると、この関数は、Aのシンボリックな下三角および上三角(LU)の因子を計算します。部分ピボット選択方式が使用されます。この関数は、LU因子の疎性を維持しながらこれらの因子の安定性を最大化します。この操作は一般に、シミュレーション中に一回または数回だけ実行されます。
- 数値的LU分解
- A内の非ゼロエントリの現行値およびシンボリックLU因子が与えられると、このユーティリティは、Aの数値的LU因子を返します。したがって、シンボリックLU分解は、数値的LU分解より前に実行される必要があります。この操作は、新しいヤコビアンが必要になるたびに実行されます。
- 前進 / 後退代入
- 疎マトリクスAの数値的LU因子と適切にサイズ設定された右側ベクトルbが与えられると、このユーティリティは、線形問題の解xを返します。数値的LU分解は、前進 / 後退代入演算より前に実行される必要があります。この操作は、反復計算のたびに実行されます。