ティモシェンコ梁要素(12×12)
せん断変形を考慮したティモシェンコ梁理論に基づき、フレーム要素の 12×12 剛性を算定します。 力学の閉形式であり、V&Vで片持ち先端たわみ \( \delta = 0.417292 \) mm 等により検証しています。
本節では、各剛性項の値だけでなく、要素剛性マトリックスが全体としてどう組み上がるか(可撓部の raw 剛性 → 端部条件の反映 → 剛域変換 → 全体座標変換)を、実装(sepika_element::frame::beam)に沿って示します。
記号・単位
| 記号 | 意味 | 単位 |
|---|---|---|
| \( \lambda \) | 剛域長 | mm |
| \( \lambda^{p} \) | 仕口パネル要素分のオフセット | mm |
| \( \lambda\' \) | 剛体アーム長(\( \max(\lambda,\lambda^{p}) \)) | mm |
| \( E \) | ヤング係数 | N/mm² |
| \( G \) | せん断弾性係数 | N/mm² |
| \( A \) | 断面積 | mm² |
| \( A_{s,y},\ A_{s,z} \) | 要素ローカル y 方向・z 方向のせん断有効断面積(y 方向は弱軸曲げ、z 方向は強軸曲げに対応) | mm² |
| \( I_y,\ I_z \) | 要素ローカル y 軸(強軸)・z 軸(弱軸)まわりの断面二次モーメント | mm⁴ |
| \( J \) | ねじり定数 | mm⁴ |
| \( L \) | 節点間長(raw 剛性は可撓長 \( L' \) で組む) | mm |
| \( \varphi_z,\ \varphi_y \) | 強軸・弱軸まわりのせん断変形パラメータ | - |
局所自由度と組み立ての全体像
要素は 2 節点・各節点 6 自由度の計 12 自由度をもちます。局所自由度の並びは次のとおりです(i 端・j 端の順、各端 [ux, uy, uz, rx, ry, rz])。
\[ \boldsymbol{u} = [\,u_{x,i},\,u_{y,i},\,u_{z,i},\,r_{x,i},\,r_{y,i},\,r_{z,i},; u_{x,j},\,u_{y,j},\,u_{z,j},\,r_{x,j},\,r_{y,j},\,r_{z,j}\,]^{T} \]
局所座標は \( e_x \)(i→j 材軸)・\( e_y \)(強軸)・\( e_z \) の右手系で、断面主軸まわりの曲げ(\( I_y,\,I_z \))が非連成となるため、raw 剛性は次の 4 つの独立ブロックに分解できます(それ以外の成分は 0)。
| ブロック | 関与自由度(index) | 剛性 |
|---|---|---|
| 軸(伸縮) | \( u_{x,i},\,u_{x,j} \)(0, 6) | \( EA/L \) |
| ねじり | \( r_{x,i},\,r_{x,j} \)(3, 9) | \( GJ/L \) |
| 強軸まわり曲げ(xy 面) | \( u_{y,i},\,r_{z,i},\,u_{y,j},\,r_{z,j} \)(1, 5, 7, 11) | 4×4 |
| 弱軸まわり曲げ(xz 面) | \( u_{z,i},\,r_{y,i},\,u_{z,j},\,r_{y,j} \)(2, 4, 8, 10) | 4×4 |
節点自由度の局所剛性 \( K_{\text{local}} \) は、次の 4 段で組み立てます(実装 sepika_element::frame::beam::BeamElement::local_stiffness)。
- 可撓長の raw 剛性:節点間長 \( L \) から両端の剛体アーム長を除いた可撓長 \( L' = L - \lambda'_i - \lambda'_j \) を用い、両端固定(fixed–fixed)の 12×12 raw 剛性を組みます(可撓部の raw 剛性(両端固定・12×12))。
- 端部条件の反映:剛接は厳密に扱い(近似ばねを用いない)、ピン・半剛の端のみ要素端回転を内部自由度へ分離して静縮約し 12×12 に戻します(端部条件(剛接・ピン・半剛)の反映)。線材(梁・柱)は既定で i 端のねじれも解放します(部材のねじり剛性の既定モデル化(i 端ねじれ解放))。
- 剛域変換:可撓端の自由度を剛体アームで節点自由度へ写します(剛域)。
- 全体座標変換:\( K_{\text{global}} = R^{T} K_{\text{local}} R \)(全体座標系への変換)。
仕口パネル要素を設けた接合部では、仕口パネル要素分のオフセットが剛体アーム長に反映されるため、1.〜3. の各段階に反映されます(仕口パネル要素の剛域長への反映)。
可撓部の raw 剛性(両端固定・12×12)
以下の \( L \) は raw 剛性を組む長さを表し、剛域または仕口パネル要素分のオフセットがあれば可撓長 \( L' = L - \lambda'_i - \lambda'_j \)、なければ節点間長そのものです(軸剛性のみ 剛域の補正で \( EA/L \)(節点間長基準)へ戻します)。
算定式
せん断パラメータ:
\[ \varphi_z = \frac{12 \cdot E \cdot I_z}{G \cdot A_{s,y} \cdot L^2} \]
\[ \varphi_y = \frac{12 \cdot E \cdot I_y}{G \cdot A_{s,z} \cdot L^2} \]
曲げ係数:
\[ a_z = \frac{E \cdot I_z}{(1+\varphi_z) \cdot L^3} \]
\[ a_y = \frac{E \cdot I_y}{(1+\varphi_y) \cdot L^3} \]
軸・ねじりの 2×2 ブロック(自由度 \( [\,\cdot_i,\,\cdot_j\,] \)):
\[ K_{\text{axial}} = \frac{EA}{L}\begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix}, \qquad K_{\text{tors}} = \frac{GJ}{L}\begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix} \]
強軸まわり曲げ(xy 面)の 4×4 ブロック(自由度 \( [\,u_{y,i},\,r_{z,i},\,u_{y,j},\,r_{z,j}\,] \)):
\[ K_{xy} = \begin{bmatrix} 12 a_z & 6 a_z L & -12 a_z & 6 a_z L \\ 6 a_z L & (4+\varphi_z) a_z L^2 & -6 a_z L & (2-\varphi_z) a_z L^2 \\ -12 a_z & -6 a_z L & 12 a_z & -6 a_z L \\ 6 a_z L & (2-\varphi_z) a_z L^2 & -6 a_z L & (4+\varphi_z) a_z L^2 \end{bmatrix} \]
弱軸まわり曲げ(xz 面)の 4×4 ブロック(自由度 \( [\,u_{z,i},\,r_{y,i},\,u_{z,j},\,r_{y,j}\,] \))です。並進-回転結合項の符号が xy 面と逆になります(回転 \( r_y \) の向きによる規約):
\[ K_{xz} = \begin{bmatrix} 12 a_y & -6 a_y L & -12 a_y & -6 a_y L \\ -6 a_y L & (4+\varphi_y) a_y L^2 & 6 a_y L & (2-\varphi_y) a_y L^2 \\ -12 a_y & 6 a_y L & 12 a_y & 6 a_y L \\ -6 a_y L & (2-\varphi_y) a_y L^2 & 6 a_y L & (4+\varphi_y) a_y L^2 \end{bmatrix} \]
実装参照:sepika_element::frame::beam::BeamElement::local_stiffness_raw(crates/sepika-element/src/frame/beam/stiffness.rs)が算定します。
せん断有効断面積 \( A_{s,y},\,A_{s,z} \) が 0 のときは、要素構築時(beam/construct.rs)に \( \text{rect_shear_area}(A) = 5A/6 \)(sepika_core::model::rect_shear_area)へフォールバックした値が用いられます。
この raw 剛性は常に両端固定で組み、端条件(ピン・半剛)は 端部条件(剛接・ピン・半剛)の反映の回転ばねで与えます。
端部条件(剛接・ピン・半剛)の反映
部材端の剛接・ピン・半剛接を要素剛性へ反映します。剛接は厳密に扱い(近似ばねを用いない)、ピン・半剛の端だけ要素端回転を内部自由度へ分離して静縮約します。
算定式
- 剛接(Fixed):「節点回転 = 要素端回転」を厳密に満たすため、要素端回転をそのまま節点回転自由度に残します(内部自由度・ばね不要)。raw 剛性は回転が節点自由度に乗っているので、両端剛接ならその raw 剛性そのものが要素剛性となります。
- ピン・半剛:その端の要素端回転 \( r^{e} \) を内部自由度へ分離し、節点回転 \( r \) との間に回転ばね \( k_s \) を挟みます。
\[ \begin{bmatrix} k_s & -k_s \\ -k_s & k_s \end{bmatrix} \quad(\text{自由度 } [\,r,\ r^{e}\,]),\qquad k_s = \begin{cases} 0 & (\text{Pinned:ピン}) \\ k_\theta & (\text{SemiRigid:半剛、} k_\theta\ \text{[N·mm/rad]}) \end{cases} \]
分離した内部回転自由度(本数 = 非剛接の回転自由度数、0〜6)を静縮約して 12×12(節点自由度のみ)へ戻します。
\[ K^{*} = K_{aa} - K_{ab} \cdot K_{bb}^{-1} \cdot K_{ba} \]
ここで \( a \) は残す 12 節点自由度、\( b \) は消去する内部回転自由度です。剛接端は \( b \) に含めない(=内部自由度を作らない)ため、解放する自由度が 1 つもない場合に限り \( b \) が空となり raw 剛性がそのまま返ります。
- ピン(\( k_s = 0 \)):節点回転と要素端回転が完全に切れ、その端は曲げモーメントを節点へ伝えません。内部回転を消去した厳密なモーメント解放となり、当該節点回転への当要素の剛性寄与は厳密に 0 になります。
- 剛接:内部自由度を作らないため、raw の回転剛性がそのまま節点回転へ伝わります(厳密。ペナルティ近似・チューニング係数を用いません)。
- 半剛(\( k_s = k_\theta \)):接合部の回転剛性 \( k_\theta \) に応じて部分的にモーメントを伝えます(有限ばねは近似ではなくモデルそのものです)。
実装参照:sepika_element::frame::beam::BeamElement::condense_end_springs(crates/sepika-element/src/frame/beam/stiffness.rs)が算定します。剛接は厳密です(解放する回転自由度が 1 つもない場合に限り、静縮約を行わず raw を返します)。
ねじり剛性を持たない部材(\( J \le 0 \) または \( G \le 0 \))の \( r_x \) は、端条件がピン・半剛でも解放しません。解放しても縮約行列 \( K_{bb} \) の対角がゼロになって特異化するだけで、モーメント解放としての意味を持たないためです(非線形梁要素 非線形梁要素の材端条件(ピン・半剛) と同じ規則)。
部材のねじり剛性の既定モデル化(i 端ねじれ解放)
床と一体になる大梁のねじり剛性は設計上期待しないため、**線材(梁要素。柱を含む)の i 端のねじれ(材軸まわり回転 \( r_x \))を既定でピン(解放)**として要素剛性を組みます。解放は 端部条件(剛接・ピン・半剛)の反映 と同じ回転ばね \( k_s = 0 \) の静縮約で厳密に行い、結果として
- 解放端のねじりモーメントは \( M_x = 0 \)
- ねじりモーメントは分布ねじりがない部材では材長方向に一定
であるため、部材全長で \( M_x = 0 \)(=ねじりを負担しない)となります。
対象:2 節点の線材(梁・ファイバー梁・MS 梁・ブレース)で、梁・柱の区別はしません。壁・シェル・仕口パネル要素・ばね類はねじり自由度の概念を持たないため対象外です。
設定:準備計算パネルの「部材のモデル化」にあるチェックボックス「部材 i 端のねじりをピン(梁・柱)」で建物一律に切り替えます(既定は ON)。OFF にすると全部材でねじり剛性 \( GJ/L \) を保持します。剛性が変わる設定のため、切り替えると解析結果は再計算が必要になります。
解放しない部材(特異化の回避)
ねじりを解放した部材は材軸まわり回転に剛性を持たなくなるため、その回転を他に拘束するものがない節点では全体剛性行列が特異になります。そこで、部材の両端節点それぞれについて材軸 \( e_x \) まわりの回転が次のいずれかで拘束されることを確かめ、確かめられない部材は解放しません(ねじり剛性を保持します。安全側のフォールバック)。
| 拘束の経路 | 判定 |
|---|---|
| 非平行な線材の曲げ | その節点に、材軸と平行でない線材が 1 本以上接続している。線材は材軸に直交する 2 方向まわりの曲げ剛性を持つため、非平行な線材が 2 方向以上集まる節点はすべての回転軸が曲げで拘束される |
| 線材以外の要素 | その節点に壁・シェル・ばね・免震・ダンパーのいずれかが接続している(回転剛性を与え得るため拘束ありとみなす)。仕口パネル要素はこの拘束経路に数えない |
| 支点拘束 | 材軸方向の成分を持つ回転自由度(例: 材軸が X なら \( R_x \))がすべて固定されている |
| 支点ばね | 上記と同じ回転成分のばね定数がすべて正である |
平行な線材(一直線に続く同方向の部材)は、材軸まわりをねじりでしか拘束できず、そのねじりも同じ既定で解放され得るため、拘束の経路には数えません。
剛床(Constraint::RigidDiaphragm)も判定に含めません。剛床が拘束するのは面内 3 成分(\( U_x, U_y, R_z \))で、スレーブ節点の \( R_z \) が独立自由度でなくなる一方、その拘束はマスター節点の \( R_z \) へ集約されるだけです。「柱 1 本だけが載る剛床」ではマスターの \( R_z \) を止めるのがその柱のねじりだけになるため、剛床を「拘束あり」とみなすと特異化を見逃します。
この規則により、解放されない典型例は次のとおりです。
- 大梁・柱を中間節点で分割し、その節点に直交部材が取り付かない場合:分割された 2 本は一直線(平行)で、他に拘束がないため両方とも解放されません。
- 片持ち梁(跳ね出し)の先端節点を持つ部材:先端には他の部材も支点もないため解放されません。
- 柱脚をピン支点(並進のみ拘束)とし、基礎梁が取り付かない柱:柱脚で材軸(鉛直)まわりの回転が拘束されないため解放されません。
確認方法:解放されなかった部材は、準備計算タブの「ねじり解放」に部材 ID・種別・原因となった節点の一覧として表示されます。個別の部材については、結果表示のモデル化ビューで部材にポインタを重ねると、解放されている場合に「ねじれ: i 端ピン(部材全長で Mx=0)」が表示されます。なお、ねじり剛性をもともと持たない部材(断面の \( J \le 0 \)、材料の \( G \le 0 \)、トラス扱いのブレース)は解放してもしなくても剛性が 0 のため、一覧には含めません。
実装参照:sepika_element::frame::beam::{i_end_torsion_release, i_end_torsion_release_skip}(適用判定と理由)と sepika_element::frame::beam::BeamElement::condense_end_springs(弾性梁の静縮約)・sepika_element::frame::fiber::resolve_end_releases(非線形梁)です。
剛域
部材端の剛域を扱うため、可撓長 \( L' = L - \lambda'_i - \lambda'_j \) で 可撓部の raw 剛性(両端固定・12×12)〜端部条件(剛接・ピン・半剛)の反映の剛性を求めたうえで、可撓端の自由度を剛体アームで節点自由度へ写します。 剛域長は RC規準の剛域規定(部材フェイスから部材せいの 1/4 内側までを剛域とする取り方)に基づきます。
剛域を設ける条件
剛域を設けるのは、その節点に集まる柱・大梁がすべて RC/SRC 系のときだけです。1 本でも S・CFT 系の柱または大梁が集まる仕口では、その端の剛域長を 0 とします。S 造の仕口は剛域ではなく仕口パネル要素(仕口パネル要素の剛域長への反映)でモデル化するため、剛域も与えると接合部を二重に剛く評価することになります。
構造種別(S・CFT 系か RC・SRC 系か)は構造種別の判定によります。断面形状ではなく材料の区分で決まるため、H 形のコンクリート部材は RC として扱われます。判定の対象は柱・大梁(ElementKind::Beam)で、ブレース・壁・仕口パネル要素と、解析要素ではない二次部材(小梁・間柱)は対象外です。
算定式(剛域長 λ)
上の条件を満たす端について(負は 0):
\[ \lambda = L_f - D/4 \]
危険断面フェイス距離(剛域を設けない端でも常に算定):
\[ \text{face} = L_f \]
- \( L_f \) は節点から部材フェースまでの距離です。仕口部で直交する部材の最大せいの半分に、その部材に取り付く壁の張り出しを加えた値になります(下記「壁の考慮」)。壁がなければ \( L_f = D_{\text{直交}}/2 \) です。直交判定は軸内積 < 0.707(概ね 45°以上)とします。
- \( D \) は当該部材のせいです(直交部材のせいではありません)。壁を考慮する場合は取り付く壁を含めた値になります。
- \( L_f \) は剛域長と危険断面フェイス距離で共有します。ですが、壁を含めるのは剛域長のほうだけです(下記「壁の考慮」)。
壁の考慮
既定では、剛域長を求める \( L_f \) と \( D \) に取り付く壁を含めた寸法を用います。柱には袖壁が材軸に直交する水平方向へ、梁には腰壁・垂壁が鉛直方向へ張り出します。その分だけフェースが外側へ移り、部材せいが増します。
壁の張り出しは「壁の長さ − 部材せい/2」です。壁の長さは、柱に対しては袖壁長さ、梁に対しては腰壁・垂壁の高さを指します。いずれも構造階高・軸間距離の 1/2 の位置における包絡開口までの距離として評価し、開口がその位置を跨がない場合は壁を両側の部材で折半します。
- 対象は現場打ちコンクリート壁で厚さ 100 mm 以上のものです。耐震壁として成立するか否かを問いません(耐震壁の板厚条件 120 mm とは別の閾値です)。
- **耐震スリットを入れた辺の部材には、壁を算入しません。**その部材とは縁が切れているためです。柱際が切れていればその柱へ袖壁として、梁際が切れていればその梁へ腰壁・垂壁として算入しません。辺ごとに独立に効くので、柱際だけを切った壁でも梁へは算入されます。
- **反対側の梁際が切れている壁は、上下で折半しません。**残った 1 本の梁が全高を負担します(三方スリットの壁を、その梁の垂れ壁・腰壁として扱う形です)。
- 部材せい \( D \) は向きを持たないため、両側に取り付く壁の長さが異なる場合は長い方を基準にします。
- 部材フェース \( L_f \) は向きを持ちます。柱の片側だけに袖壁がある場合、フェースが外側へ移るのは袖壁が張り出している側に取り付く梁だけです。反対側の梁のフェースは移りません。
- **危険断面フェイス距離には壁を含めません。**壁の考慮は剛域の規定であり、危険断面位置は柱フェースで決まる幾何量だからです。フェイス距離は RC/SRC 梁の自重の内法長(地震用重量・層データの生成)や数量積算にも用います。ここに壁を含めると、壁の張り出し分だけ梁の自重が過小になります。
設定:解析タブの「部材のモデル化」にあるチェックボックス「剛域の算定で壁を考慮する」で建物一律に切り替えます(既定は ON)。OFF にすると部材の原断面だけで算定します。剛性が変わる設定のため、切り替えると解析結果は再計算が必要になります。
両端の剛域が重なる場合
壁の張り出しが大きい場合や短スパンの部材では、両端の剛域長の合計が材長以上になることがあります。この場合は、材長の中点から部材せいの 1/4 の距離までを剛域とします。
\[ \lambda_i = \lambda_j = \max(0,\ L/2 - D/4) \]
算定式(剛域変換)
可撓端変位 \( \boldsymbol{u}_{\text{flex}} \) と節点変位 \( \boldsymbol{u}_{\text{node}} \) を、材軸方向オフセット \( \lambda'_i,\,\lambda'_j \) の剛体アームで関係づけます。
\[ \boldsymbol{u}_{\text{flex}} = T_r\, \boldsymbol{u}_{\text{node}}, \qquad K_{\text{node}} = T_r^{T}\, K_{\text{flex}}\, T_r \]
\( T_r \) は単位行列に、剛体アームによる並進-回転結合の非零成分を加えたものです(それ以外は恒等)。
剛体アームの運動学 \( \boldsymbol{u}_{\text{flex}} = \boldsymbol{u}_{\text{node}} + \boldsymbol{\theta}_{\text{node}} \times \boldsymbol{r} \)(可撓端は i 端で節点から材軸内側へ \( \boldsymbol{r}_i = (+\lambda'_i, 0, 0) \)、j 端で \( \boldsymbol{r}_j = (-\lambda'_j, 0, 0) \))を成分展開すると、非零成分は次になります。
\[ (T_r)_{u_{y,i},\,r_{z,i}} = +\lambda'_i,\quad (T_r)_{u_{z,i},\,r_{y,i}} = -\lambda'_i,\quad (T_r)_{u_{y,j},\,r_{z,j}} = -\lambda'_j,\quad (T_r)_{u_{z,j},\,r_{y,j}} = +\lambda'_j \]
すなわち、可撓端の並進は「節点並進 ± アーム長 × 節点回転」で表され(例:\( u_{y,i}^{\text{flex}} = u_{y,i} + \lambda'_i\, r_{z,i} \))、節点回転による付加変位が剛域を通じて伝わります。剛体回転(節点回転=弦回転)では可撓端に相対たわみが生じず、内力はゼロになります。
軸・ねじりの扱い(剛域は曲げのみを剛とする):
- 剛域は曲げ(せん断を含む)のみを剛とする方針とし、軸・ねじりは剛域で増大させません。可撓長 \( L' \) で組むと \( EA/L',\ GJ/L' \) となるため、軸断面積・ねじり定数を \( A \cdot (L'/L),\ J \cdot (L'/L) \) に補正して \( EA/L,\ GJ/L \)(いずれも節点間長基準)へ揃えます。剛域なしでは補正 1 です。
- 剛域変換 \( T_r \) は回転・軸方向自由度に作用しないため、補正後の軸・ねじり剛性がそのまま残り、曲げ(xy・xz 面)のみが剛体アームで剛域化されます。
剛域長・剛体アーム長の解決:
- 剛域長は負値を 0 に丸めます。自動算定では剛域長の両端合計が節点間長以上になる場合に「材長の中点から部材せいの 1/4」へ丸めます。解析では剛域長と仕口パネル要素分のオフセットの大きい方を剛体アーム長とし、その両端合計が節点間長以上になる場合は、可撓長を正に保つため剛体アームを両端とも 0 とし、剛域なしとして扱います。
実装参照:危険断面フェイス距離は sepika_core::face_distance が求めます。接合関係と断面せいだけで決まる幾何量のため、剛域長とは独立に算定でき、自重・数量積算のように剛域と無関係な用途からも直接求められます。剛域長は sepika_element::frame::beam::auto_rigid_zones が求め、剛体アームの変換 \( T_r \) と剛体アーム長の解決を sepika_element::frame::rigid_arm(弾性梁とファイバー梁で共有)が行います。
直交判定は \( \text{軸内積} < 0.707 \)(概ね 45°以上)とします。組立順は「可撓長で raw 剛性 → 端部ばね静縮約 → 剛域変換」とします。
非線形梁要素(ファイバー・MS)の剛域は 非線形梁要素の剛域 を参照してください。
仕口パネル要素の剛域長への反映
仕口パネル要素を設けた接合部では、部材は節点そのものではなく、仕口パネル要素の面で接合します。節点から接合面までの距離は剛体アームそのものなので、剛体アーム長へ算入します。
剛体アーム長は、剛域長と仕口パネル要素分のオフセットの大きい方とします。
\[ \lambda'_k = \max(\lambda_k,\ \lambda^{p}_k)\quad (k=i,j) \]
ここで \( \lambda^{p}_k \) が仕口パネル要素分のオフセットで、接合部の物理的な半寸法です(\( k=i,j \))。
| 部材 | 接合する面 | オフセット |
|---|---|---|
| はり(水平材) | 柱フェース | 柱せいの最大値 / 2 |
| 柱(鉛直材) | 梁フェース | 梁せいの最大値 / 2 |
剛域長 \( \lambda_k \) と仕口パネル要素分のオフセット \( \lambda^{p}_k \) は入力・表示上は区別しますが、両方を加算したり別々に控除したりはしません。剛体アーム長・可撓長・剛域変換には、常に \( \lambda'_k = \max(\lambda_k,\lambda^{p}_k) \) を用います。剛域長の手動指定がオフセットより大きければその値が、オフセットの方が大きければその値が剛体アーム長になります。
準備計算の「剛域」表には、剛域長 \( \lambda_i \)・仕口パネル要素分のオフセット \( \lambda^{p}_i \)・危険断面フェイス距離を別々の列で表示します。
このオフセットは、断面算定の危険断面位置(剛域のフェイス距離)とは独立な量として扱います。危険断面位置は設計上の評価位置であって、部材が実際にどこで接合するかとは別に定まるためです。
可撓長は \( L' = L - \lambda'_i - \lambda'_j \) となり、剛性の組み立てだけでなく、幾何剛性(幾何剛性・整合質量)・せん断降伏の内法高さ・座屈長さ係数 \( K \) の剛度比 \( G \)(柱の座屈長さ係数 K)も同じ可撓長を用います。剛域のとおり軸・ねじり剛性は節点間長基準のままなので、仕口パネル要素を設けても軸剛性・ねじり剛性は変わりません。
仕口パネル要素の剛性そのもの(せん断変形角 \( \gamma_X,\,\gamma_Y \) の 2 自由度と \( K_{xp} = K_{yp} = G \cdot V_e \))と、対象とする接合部の判定は 仕口パネル要素 を参照してください。
実装参照:オフセットの算定を sepika_core::panel_zone::panel_half_extent、モデルへの書き込みを sepika_element::springs::panel_gen::apply_auto_panel_zones が行い、剛体アーム長を RigidZone::rigid_length_i/rigid_length_j が返します。
準備計算で表示する剛域比は、剛体アーム長の合計を節点間長で除した値です。
\[ \text{剛域比} = \frac{\lambda'_i + \lambda'_j}{L} \]
全体座標系への変換
局所 12×12 剛性を全体座標へ回します。フレーム要素は \( e_x = (p_j - p_i)/L \) とし、参照ベクトルを直交化して \( e_y,\,e_z \) を構成します(詳細は 座標変換)。
\[ K_{\text{global}} = R^{T} \cdot K_{\text{local}} \cdot R \]
\( R \) は 3×3 方向余弦を 4 ブロック並べた 12×12 のブロック対角行列です。
実装参照:sepika_element::frame::beam::BeamElement::tangent_stiffness(crates/sepika-element/src/frame/beam/behavior.rs)は全体系の 12×12 を返す契約です(シェルと同じ)。これを欠くと、局所系と全体系が一致しない部材(鉛直柱・任意方向材・非対称断面 \( I_y \ne I_z \))で組立 K が誤ります。座標変換自体は sepika_element::transform(crates/sepika-element/src/transform.rs)です。
幾何剛性・整合質量
P-Δ 効果の線形化幾何剛性と、軸・曲げ・ねじりを含む整合質量を算定します。 根拠は運動エネルギーの積分であり、V&Vで理論値と行列の性質を検証しています。
算定式
幾何剛性 Kg(標準ビーム幾何剛性、係数 \( 6/5 \)、\( L'/10 \)、\( 2L'^2/15 \)、\( -L'^2/30 \)):
\[ c = N/L' \]
- 幾何剛性は可撓長 \( L' \) で組み、弾性剛性と同じ剛域変換 \( T_r \)(剛域)を施して節点自由度へ写します。P-δ は可撓部でのみ生じ、剛域は剛体アームとして働きます。剛域なし(\( L'=L,\ T_r=I \))では全長 \( L \) の幾何剛性に一致します。軸力 \( N \) は引張正で、最後に全体座標へ回します。
- 端部条件(ピン・半剛)は幾何剛性には反映しません(線形化 P-Δ の実務的簡略化)。
質量特性
\[ \mu = \int_A \rho\,dA, \qquad \mu I_y = \int_A \rho z^2\,dA, \qquad \mu I_z = \int_A \rho y^2\,dA \]
- 質量は節点間の全長 \( L \) で組みます。剛域を含む部材は、可撓部の質量を剛体アームで変換し、剛域の分布質量を加えることで全長の質量を保存します。
- 単位長さ当たり質量 \( \mu \) は [t/mm]、質量二次モーメント \( \mu I_y,\mu I_z \) は [t·mm] とします。
- 各材料領域の密度 \( \rho \) は断面種別ごとに次の優先順位で決めます。RC は総断面へ γRC、SRC は総断面へ γSRC、CFT は鋼管領域へ
steel_materialのMaterial.density、充填コンクリートのコア領域へ γC を適用します。それ以外の形状付き断面は主材料のMaterial.densityを用います。形状付き RC/SRC/CFT はMaterial.fcが未設定または不正ならMaterial.densityへフォールバックせず入力エラーとします。 - RC は梁・矩形柱・円形柱(
RcBeamRect・RcColumnRect・RcColumnCircle)とも総断面の幾何特性へ γRC を一様に適用します。配筋の配置・収まりは質量入口では検証せず、断面・耐力・入力検証の経路で扱います。SRC(SrcBeamRect・SrcColumnRect)も同様に総断面へ γSRC を適用します。 - RC/SRC の主筋・せん断補強筋・内蔵鉄骨の材料は質量計算では参照しません。これらの未設定や区分不正は、耐力・剛性側の材料検証で扱います。
- 材軸まわりの回転慣性は \( \mu I_p = \mu I_y + \mu I_z \) とします。ねじり剛性 \( GJ/L \) のねじり定数
Jは質量用の回転慣性へ流用しません。 - 軸方向と材軸まわり回転は線形形状関数、各曲げ面はせん断変形係数を含む Timoshenko 形状関数から質量行列を積分します。
MassOption::Lumpedは既存契約どおり、Beam ではdensity × a_mass × Lを、Fiber ではdensity × Σfiber.area × Lを並進自由度へ配分します。SectionMassPropertiesはMassOption::Consistentのみで使い、単位長さ質量と材料領域別の回転慣性を質量行列へ積分します。両者の入力契約は分離しています。
静的解析や Lumped 質量を使う経路では、整合質量の断面特性が不足していても要素生成を停止しません。質量特性の解決結果またはエラーを要素生成時に保持し、Consistent 質量の要求時だけエラーを明示します。自重の主材料密度による算定は整合質量の解決とは別経路です。
- 形状付き RC/SRC/CFT では
Fcを必須とします。未設定または不正な場合は質量を算定せず入力エラーとし、主材料のMaterial.densityは代替値にしません。 - 形状のない断面だけは断面諸元と主材料の
Material.densityへフォールバックします。断面諸元が正なのに主材料が未設定の場合は質量を 0 と解釈せず、入力エラーとします。Section::zeroのように断面諸元がすべて 0 の断面だけは意図的な無質量として許可します。 - 端部解放を含む質量は、剛性と同じ拡大自由度(節点自由度と解放端回転)で組みます。初期弾性剛性から ( S=-K_{bb}^{-1}K_{ba} )、( R=[I;S] ) を求め、拡大質量 ( \bar{M} ) を ( M=R^T\bar{M}R ) として 12×12 へ縮約します。回転ばねは無質量です。
実装参照:sepika_element::frame::beam::BeamElement::mass_matrix(crates/sepika-element/src/frame/beam/behavior.rs)が初期弾性剛性による端部解放の質量縮約を行います。縮約と Timoshenko 質量の共通実装は sepika_element::frame::prismatic::{condense_end_releases_with_mass, consistent_mass_timoshenko}、剛域の質量変換・追加は sepika_element::frame::rigid_arm::{transform_mass, rigid_zone_mass} です。K_{bb} が特異な場合は解放条件を満たす質量を構成できないため、明示的に失敗します。材料領域からの質量特性は sepika_core::model::{Model::element_mass_properties, SectionMassProperties::from_section} が入口です。
剛性計算上の付加(協力幅・壁エレメント上下梁・雑壁)
次の剛性補正を実装しています(可撓部 raw 剛性の断面性能側に反映します)。
-
スラブ協力幅による強軸曲げ剛性増大(RC 大梁): 対象は両端節点を境界に持つ床領域の 外周(大梁の区画。小梁による細分によらず常に床領域全体を表す)、またはどの床領域にも属さない 床板で版がある場合に限ります(版 = 断面が割り当たり板厚が正。取り付く床板は境界を持たない ため対象外で倍率 1.0、版なしは増大しません)。判定を床領域の外周で行うのは、床領域が小梁で 複数の床板へ細分されていても、床領域の外周を走る大梁の協力幅が細分によって消えないようにする ためです。隣接する平行梁との内法距離 a(軸間距離から自梁・相手梁の幅の半分ずつを控除)から片側協力幅
baを \( a < L/2 \) で \( b_a = (0.5 - 0.6a/L) \cdot a \)、\( a \ge L/2 \) で \( b_a = 0.1L \) として求め、 T 形断面の Ie による \( (I_e/I_0) \) 倍とします。根拠は RC規準 8 条です。 厚さ \( t \) は該当する床領域内の床板の板厚(複数なら最大)、または帰属なし床板自身の板厚 です。取れないときは建物一律の剛性計算用スラブ厚(既定 0 mm)を控えにします。 \( t \le 0 \) なら増大しません。SRC 梁は対象外で倍率は 1.0 とします。 実装はsepika_element::frame::beam::stiffness_factors::slab_stiffness_factorです。 -
S 造合成梁の剛性(H 形鋼大梁): スラブが取り付く水平な H 形鋼梁は、 スラブを考慮した換算断面剛性 I(スラブ上端からの図心 \( g = \frac{{}_c E \cdot B \cdot t \cdot (t/2) + {}_s E \cdot {}_s A \cdot (t + {}_s H/2)}{{}_c E \cdot B \cdot t + {}_s E \cdot {}_s A} \) による)と鉄骨単独 剛性 sI の平均 \( (I + {}_s I)/2 \) を強軸剛性に採用します(各種合成構造設計指針の 完全合成梁剛性を安全側に丸めた平均法)。協力幅 B は RC 梁と共通の RC規準 8 条です。デッキ高さは 0、スラブコンクリートは Fc21 の標準仮定とします。 実装は
sepika_element::frame::beam::stiffness_factors::composite_beam_stiffness_factorです。 -
壁エレメントモデル上下大梁の剛性倍率: 既定 100 倍(
WALL_GIRDER_STIFF_FACTOR。 壁の剛性を四隅節点へ伝えるための実務的モデル化)。 -
フレーム内雑壁(袖壁・腰壁・垂壁): 平行軸の定理で周辺部材の断面性能に合成します (
compose)。せん断は \( A_s \mathrel{+=} \sum a_w/1.2 \)。「腰壁・垂壁のヤング係数は母材と同じ」 の仮定によるため、対象はコンクリート系(RC/SRC)部材のみとします(S 造部材への 無換算合成はしません)。実装はsepika_element::frame::beam::BeamElement::new(crates/sepika-element/src/frame/beam/construct.rsのローカル処理compose)です。算入する壁の範囲は、耐震壁として成立しない壁版です(壁エレメント モデル)。柱・梁に囲まれた壁版か、取り付く壁版 (パラペット・腰壁・垂れ壁)かは問いません。同じ腰壁が入力の形によって剛性に 効いたり効かなかったりしないためです。耐震スリットのある壁も算入対象です。 切れているのは指定した辺だけなので、その辺の部材への算入だけを落とします。
ただし、壁の取り付く長さを求めるには下辺 2 点・上辺 2 点の壁ローカル座標が要るため、 囲まれた壁版は境界がちょうど 4 節点のものだけを算入します。境界が 5 節点以上の 壁版(T 字取り付きなど)は、自重は配りますが剛性には算入しません。取り付く壁版は、 取付き線がその梁の全長を覆う場合だけ算入します(梁の一部にだけ載る壁を梁全長の 断面性能へ合成する根拠がないためです)。
壁の取り付く長さは、袖壁なら構造階高の 1/2 の位置における包絡開口までの距離、 腰壁・垂壁なら軸間距離の 1/2 の位置における包絡開口までの距離です。位置付きの 開口がない場合の既定は、袖壁は壁長さを両側の柱で折半(\( l_w/2 \))、腰壁・垂壁は 壁高さを上下の梁で折半(\( h/2 \))です。ただし反対側の辺に主架構がない壁 (梁に載る腰壁・梁から垂れる垂壁)は折半せず、その 1 本の梁が全高を負担します。