Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

座標変換

局所座標系の剛性を、力学(局所-全体座標変換)に基づき全体座標系へ変換します。

算定式

フレーム要素は \( e_x = (p_j - p_i)/L \) とし、参照ベクトルを直交化して ey・ez を構成します。剛性は次式で変換します。

\[ K_{\text{global}} = R^T \cdot K_{\text{local}} \cdot R \]

実装参照:sepika_element::transform::LocalFrame(crates/sepika-element/src/transform.rs)が算定します。 ですが、シェルは規約が逆で \( K_{\text{global}} = R \cdot K_{\text{local}} \cdot R^T \) とします。

零長・範囲外の扱い

  • 2 節点が同一座標の零長要素では材軸方向が定まらないため、節点間距離が \( 10^{-12} \) mm 未満の場合は除数を 1.0 にして零除算だけを避けます。材軸方向は零ベクトルのまま退化し、局所 x 軸を特定の方向へ倒すフォールバックは行いません。
  • 節点ばねは、節点間距離が \( 10^{-9} \) mm 未満の場合は全体座標系=局所座標系(単位回転)とみなします。ばね定数の未指定は 0(ばねなし)とします。
  • 免震支承は、節点間距離が \( 10^{-9} \) mm 未満の場合は鉛直方向を部材軸として局所座標系を組みます(支承は鉛直材のため)。
  • 節点 ID が範囲外の場合は座標を原点へ落として要素の構築自体は通し、検出は解析前チェックに委ねます。

実装参照:零長要素の局所座標系と節点 ID 範囲外の座標フォールバックは sepika_element::transform(crates/sepika-element/src/transform.rs の LocalFrame::from_nodes・EndGeometry::of_element)、節点ばね・免震支承の零長時の扱いは sepika_element::springs::{spring, isolator}(crates/sepika-element/src/springs/)が担います。