次へ 上へ 前へ 目次へ
次へ:Modal dynamic calculations 上へ:Filling and solving the 前へ:Frequency calculations 目次へ

座屈計算

座屈荷重を計算するためにはルーチン arpackbu.c が呼び出されます。座屈計算では以下の手順が必要になります。

ARPACK(モード4、参照[41])での座屈モードは以下の形の系を解くのに使用されます。

$\displaystyle \begin{bmatrix}K \end{bmatrix} \begin{Bmatrix}U \end{Bmatrix} = \lambda \begin{bmatrix}KG \end{bmatrix} \begin{Bmatrix}U \end{Bmatrix}$ (393)

ここで [K] は対称な正定値、[KG] は対称な非正定値です。固有値を見つけるための反復処理では以下を解かなければなりません。

$\displaystyle \begin{bmatrix}K - \sigma KG \end{bmatrix} \begin{Bmatrix}U \end{Bmatrix} = \begin{Bmatrix}X_1 \end{Bmatrix}$ (394)

また以下も計算しなければなりません。

$\displaystyle \begin{Bmatrix}Y \end{Bmatrix} = \begin{bmatrix}K \end{bmatrix} \begin{Bmatrix}X_2 \end{Bmatrix}.$ (395)

周波数計算と同様、式(394)を解くための LU 分解(SPOOLES)は座屈係数を決定するループの前に行なわれます。式の左辺側は変化しないためです。式(395)での行列の乗算はルーチン op.f で扱われます。

周波数計算との大きな違いは座屈係数の値が正しいことを保証するために追加の反復ループが必要なことです。ここで σ の値は重要で、5σ < 座屈係数 < 50000σ が満たされていなければならないことが経験的に知られています。これが満たされていない場合には LU 分解から始まる処理全体が新しい値 σ = 座屈係数 / 500 で繰り返されます。必要な場合には最大で4回までこの反復が行なわれます。


次へ 上へ 前へ 目次へ
次へ:Modal dynamic calculations 上へ:Filling and solving the 前へ:Frequency calculations 目次へ
guido dhondt 2016-03-08