truss-lab — トラスを解く

2次元トラスを直接剛性法で解く。各部材は 引張=青圧縮=赤、線の太さは力の大きさ。節点をドラッグすると、形が変わるたびに解き直す。これは確定値の解析だ ── あとで寸法や荷重の"ばらつき"を与える層を重ねる。

節点をドラッグ ▸ 形を変える
引張 (+) 圧縮 (−) ほぼ無力 破線=変形後(誇張)

部材の力

部材長さ [m]軸力 N [kN]状態応力 σ [MPa]

節点の変位と反力

節点変位 dx [mm]変位 dy [mm]反力 Rx [kN]反力 Ry [kN]
この計算は何をしているか(採用モデルと適用範囲)

トラス全体を、各部材の「ばね」を足し合わせた1本の連立一次方程式 K u = F に落として解いている(直接剛性法)。

  1. 部材ごとに軸剛性 k = EA/L を作り、方向余弦 (c,s) で全体座標へ回す。
  2. 同じ節点を共有する部材の剛性を、全体行列 K の同じ場所に足し込む(=全体の硬さ=部材の硬さの足し算)。
  3. 支点で固定した自由度を外し、自由な自由度だけの K_ff u_f = F_f を解く。
  4. 変位から各部材の伸び → 軸力 N = (EA/L)·伸び(+引張/−圧縮)と応力 σ=N/A を逆算する。

仮定(これが崩れると上の式も崩れる)

・ピン接合トラス … 部材は軸力だけを受け持つ(曲げない)
・線形弾性 … σ = E·ε(フックの法則)
・微小変形 … 剛性行列は変形前の形で一度だけ組む
・荷重は節点にのみ加える

このツールが扱わないもの(別物として正直に言う)

・座屈 … 細長い圧縮材が横に逃げる現象。微小変形の線形解では捉えられない
・曲げ・剛接合フレーム … 角度が保たれる骨組み。トラスではない
・降伏・塑性・破断 … σが降伏点を超えたら線形弾性の前提が崩れる
・大変形/3D/温度応力/動解析・振動

つまり「最初の見通しを掴む」ための、軽くて透明な計算だ。実物の設計では、圧縮材の座屈・安全率・施工誤差を別途確認すること。── 表示の変形は実際の何百倍に誇張してある(微小変形だから、本当はごくわずかしか動かない)。

計算の核は solver.js。手計算で閉じた答えの出る単純トラス3例と小数まで一致することを test_solver.js で確認してある(11/11 PASS。詳細は REFERENCE_VALUES.md)。