ティモシェンコ梁要素(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 方向のせん断有効断面積(それぞれ z 軸・y 軸まわりの曲げに対応) | mm² |
| \( I_y,\ I_z \) | 要素局所 y 軸・z 軸まわりの断面二次モーメント(それぞれ弱軸側・強軸側) | mm⁴ |
| \( J \) | ねじり定数 | mm⁴ |
| \( L \) | 節点間長(raw 剛性は可撓長 \( L' \) で組む) | mm |
| \( \varphi_z,\ \varphi_y \) | 要素局所 z 軸(強軸側)・y 軸(弱軸側)まわりのせん断変形パラメータ | - |
せん断弾性係数の入力条件
弾性梁に採用するせん断弾性係数 \( G \) [N/mm²] は、正の有限値を必要とします。材料に直接入力した G を優先し、未入力の場合はヤング係数 \( E \) [N/mm²] とポアソン比 \( \nu \) から \( G=E/{2(1+\nu)} \) で算定します。通常の鋼材・RC は割り当てた主材料、SRC は主材料のコンクリート、CFT は鋼管材料の G を採用します。SRC・CFT には等価断面性能の材料条件も適用します。
線形解析で弾性梁として扱うファイバー梁・MultiSpring、および弾性梁として扱う壁上下梁にも同じ条件を適用します。
G=0、負値、NaN、正負の無限大は入力不備です。導出した G にも同じ条件を適用します。対象部材の ID と理由を示して解析前に停止し、剛性行列へ不正値を渡しません。G=0 をせん断剛性ゼロの部材指定として扱わず、微小値や既定値に補正して計算を継続しません。ねじり解放の指定によってこの条件は免除されません。
G が正の有限値でも、断面性能・材長と組み合わせた剛性算定の演算結果が有限値に収まらない場合は計算できません。例えば、ねじり剛性 GJ/L は、G と J がそれぞれ有限でも積が数値表現の上限を超える場合があります。可撓部剛性、端部解放の縮約、剛域変換を構成できない場合は、対象部材の ID・採用した弾性諸元・失敗した演算を示して解析を停止します。端部解放の条件により不安定となる架構も計算不能として扱い、剛性の上限値への置換や微小剛性の追加によって継続しません。
実装参照:sepika_element::frame::beam::BeamElement::try_new(crates/sepika-element/src/frame/beam/construct.rs)が採用材料と G を解決します。通常鋼材・RC の解析前診断は sepika_element::factory::input_check::elastic_stiffness_input_issue(crates/sepika-element/src/factory/input_check.rs)が扱います。
局所自由度と組み立ての全体像
要素は 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=e_x\times e_y \) の右手系です。断面参照方向の材軸直交成分が \( e_y \) を定めます(座標変換)。せい方向への変位・せん断は y 方向ですが、その曲げモーメントと断面回転は z 軸まわりです。幅方向への変位・せん断は z 方向で、曲げモーメントと断面回転は y 軸まわりです。
本頁の強軸側・弱軸側は、断面せいを用いる曲げ・断面幅を用いる曲げの基準呼称です。断面寸法を入れ替えた場合などに、断面二次モーメントの大小から局所軸を自動的に並べ替える意味ではありません。曲げの2面を非連成として扱うモデルであり、すべての断面形状でこれらの軸が主軸となることを意味しません。
保存断面性能と要素局所軸の対応
断面諸量とせん断有効断面積で示す保存断面性能の添字と、本頁の要素局所軸の添字は区別します。本頁の \( I_y,I_z \) は回転軸、\( A_{s,y},A_{s,z} \) はせん断力の方向を表します。
| 曲げの基準呼称 | 曲げ面 | 変位・せん断力の方向 | 回転・モーメントの軸 | 本頁の要素性能 | 保存断面性能 |
|---|---|---|---|---|---|
| 強軸まわり | xy | y(せい方向)、\( u_y,Q_y \) | z、\( r_z,M_z \) | \( I_z,A_{s,y} \) | Iy、as_z |
| 弱軸まわり | xz | z(幅方向)、\( u_z,Q_z \) | y、\( r_y,M_y \) | \( I_y,A_{s,z} \) | Iz、as_y |
例えば幅 b・せい d の矩形では、本頁の \( I_z=bd^3/12 \)、\( I_y=db^3/12 \) です。保存断面性能の Iy は前者であり、本頁の \( I_y \) へ同じ添字のまま代入しません。以下の剛性式では、剛性補正を反映した要素性能を用います。
実装参照:BeamElement::resolve_properties(crates/sepika-element/src/frame/beam/construct.rs)が保存断面性能の (iy,iz,as_y,as_z) を要素局所の (iz,iy,as_z,as_y) に対応させます。
raw 剛性は次の 4 つの独立ブロックに分解できます(それ以外の成分は 0)。
| ブロック | 関与自由度(index) | 剛性 |
|---|---|---|
| 軸(伸縮) | \( u_{x,i},\,u_{x,j} \)(0, 6) | \( EA/L \) |
| ねじり | \( r_{x,i},\,r_{x,j} \)(3, 9) | \( GJ/L \) |
| z 軸まわり曲げ(強軸側・xy 面) | \( u_{y,i},\,r_{z,i},\,u_{y,j},\,r_{z,j} \)(1, 5, 7, 11) | 4×4 |
| y 軸まわり曲げ(弱軸側・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} \]
z 軸まわり曲げ(強軸側・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} \]
y 軸まわり曲げ(弱軸側・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 \))の \( 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 本以上接続している。材軸に直交する曲げ剛性を持つ接続として数えるが、相手端の支持まで含めた架構全体の拘束は保証しない |
| 線材以外の要素 | その節点に壁・シェル・ばね・免震・ダンパーのいずれかが接続している(回転剛性を与え得るため拘束ありとみなす)。仕口パネル要素はこの拘束経路に数えない |
| 支点拘束 | 材軸方向の成分を持つ回転自由度(例: 材軸が X なら \( R_x \))がすべて固定されている |
| 支点ばね | 上記と同じ回転成分のばね定数がすべて正である |
平行な線材(一直線に続く同方向の部材)は、材軸まわりをねじりでしか拘束できず、そのねじりも同じ既定で解放され得るため、拘束の経路には数えません。
剛床(Constraint::RigidDiaphragm)も判定に含めません。剛床が拘束するのは面内 3 成分(\( U_x, U_y, R_z \))で、スレーブ節点の \( R_z \) が独立自由度でなくなる一方、その拘束はマスター節点の \( R_z \) へ集約されるだけです。「柱 1 本だけが載る剛床」ではマスターの \( R_z \) を止めるのがその柱のねじりだけになるため、剛床を「拘束あり」とみなすと特異化を見逃します。
この規則により、解放されない典型例は次のとおりです。
- 大梁・柱を中間節点で分割し、その節点に直交部材が取り付かない場合:分割された 2 本は一直線(平行)で、他に拘束がないため両方とも解放されません。
- 片持ち梁(跳ね出し)の先端節点を持つ部材:先端には他の部材も支点もないため解放されません。
- 柱脚をピン支点(並進のみ拘束)とし、基礎梁が取り付かない柱:柱脚で材軸(鉛直)まわりの回転が拘束されないため解放されません。
固定柱 1 本と片持ち梁 1 本だけの立体架構では、柱頭に直交梁が接続するため柱のねじりが解放され、梁を含む上部全体が柱軸まわりに剛体回転できる場合があります。剛床はこの全体回転を止めません。この場合、階・剛床の入力が揃っていても特異行列として解析を停止します。
ねじりで釣り合わせる構造計画を採用する場合は、ねじりを解放する設定を OFF とし、部材のねじり抵抗を含めて成立性を確認してください。応答・部材間の応力配分が変わるため、ねじり剛性の保持を一律に安全側とみなすことはできません。特異を避ける目的だけで実在しない支点や回転拘束を追加しないでください。
確認方法:解放されなかった部材は、準備計算タブの「ねじり解放」に部材 ID・種別・原因となった節点の一覧として表示されます。個別の部材については、結果表示のモデル化ビューで部材にポインタを重ねると、解放されている場合に「ねじれ: i 端ピン(部材全長で Mx=0)」が表示されます。なお、ねじり剛性をもともと持たない部材(断面の \( J \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 |
梁端の面の定義と適用範囲は部材端の接合面とオフセットを正とします。面が一意に決まらない対象は、距離を補完せず準備計算・解析を停止します。
剛域長 \( \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)も同じ可撓長を用います。剛域のとおり軸・ねじり剛性は節点間長基準のままなので、仕口パネル要素を設けても軸剛性・ねじり剛性は変わりません。
仕口パネル要素は、柱材軸の直交面へ投影した全体 X・Y 基底による2自由度を持ちます。柱の強軸・弱軸ごとのせん断剛性と、部材へ伝える3次元のせん断回転・内力の変換、対象接合部の判定は 仕口パネル要素 を参照してください。
実装参照:オフセットの算定を sepika_core::panel_zone::panel_connection_offset、モデルへの書き込みを 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 形状関数から質量行列を積分します。
- 弾性梁・ファイバー梁・MultiSpring の集中質量と整合質量は、同じ幾何形状と採用密度から単位長さ質量を求めます。ファイバーの面積総和・分割数・積分点・材料履歴・接線は質量源に用いません。集中質量は総質量 \( m=\mu L \) の半分を各端の各並進自由度へ配分し、回転自由度は0とします。整合質量は同じ単位長さ質量と断面回転慣性を積分します。行列成分や固有値の完全一致は要求しません。
質量を使わない静的計算は、質量だけの不備で停止しません。必要な幾何・剛性材料の不備は別途拒否します。要素質量を使う解析では、集中質量・整合質量の双方で、不正な寸法・密度・必要材料・未解決の角R等を対象要素IDと理由付きで拒否し、保存面積×登録密度・ファイバー面積・0質量に置き換えません。明示的な有限・非負入力として成立する0質量は許容します。節点質量だけを採用する質点のみ方式では要素質量の検査を要求しません。
自重と慣性質量の単位長さ物理質量は同じ幾何・密度を使用します。自重の支持先・階帯への分配、算定長、設計重量の採用条件はそれぞれの契約を維持します。
普通SRCの幅300×せい600×長さ3000 mm、包括単位重量25 kN/m³では、密度は \( 25/9.80665\times10^{-9} \) t/mm³、総質量は1.3766168875202032 t、集中質量の各端各並進は0.6883084437601016 tです。登録密度2.4×10⁻⁹ t/mm³による1.296 tとは同値ではありません。各方向の剛体並進に対する質量はそれぞれ総質量mであり、3方向合計3mを部材総質量と呼びません。
- 形状付き RC/SRC/CFT では
Fcを必須とします。未設定または不正な場合は質量を算定せず入力エラーとし、主材料のMaterial.densityは代替値にしません。 - 形状のない断面は、保存された断面諸元 A・Iy・Iz と主材料の
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です。 未設定・参照切れを版なしとして扱いません。左右の厚さ・幅・分割点はそれぞれ独立です。 各側の対向平行梁との内法距離 \(a\)(中心線間距離から自梁・対向梁の幅の半分ずつを控除)と、 剛域控除前の元構造スパン \(L\) から協力幅を求めます。同じ側の内法距離と協力幅は全区間で一定であることを必要とします。
\[ b_a=\begin{cases}(0.5-0.6a/L)a & a<L/2\\0.1L & a\ge L/2\end{cases} \]
厚さは各側で取付区間長による加重平均を使います。 支持区間の端位置を元スパン上の無次元位置 \(u_{0,sj},u_{1,sj}\)、実厚を \(t_{sj}\) とし、剛性算定用の床板平均厚を次式で定義します。
\[ l_{sj}=|u_{1,sj}-u_{0,sj}|L,\qquad \overline{t}_s=\frac{\sum_j l_{sj}t_{sj}}{L},\qquad \sum_j l_{sj}=L \]
同側の矩形床板区間が隙間・正長の重複なく全長を覆うことを確認し、端位置の共有は重複としません。 各実厚は個別に \(0<t_{sj}\le D\) と有限性を検査し、段差・不正値を平均で隠しません。 協力幅式のスパンは各床板の区間長に置き換えません。床板ありと版なしの材軸方向混在、全長欠落、 同側の幅変化、未設定・未解決・非有限幾何、取り付く床板、傾斜・上端高さが変わる梁は理由付きで診断します。
梁下端を高さ0として、梁矩形 \(b\times D\) と梁幅外側の左右フランジ矩形 \(b_{a,l}\times\overline{t}_l\)、\(b_{a,r}\times\overline{t}_r\) に重複なく分解します。 梁の図心は \(D/2\)、各フランジの図心は \(D-\overline{t}_s/2\) です。 平行軸の定理で図心回りの強軸断面二次モーメントと倍率を求めます。
\[ A=\sum_j A_j,\quad z_G=\frac{\sum_j A_jz_j}{A},\quad I=\sum_j\{I_j+A_j(z_j-z_G)^2\},\quad I_0=\frac{bD^3}{12},\quad\phi_2=I/I_0 \]
\(b,D\) は正の有限値、\(b_{a,s}\) は非負の有限値を必要とします。最大厚への集約、梁せいへの切詰め、 建物一律厚による補完を各床板の入力厚に行いません。 検証済みの床板厚から求めた平均厚だけは、丸め誤差で個別厚の最小値・最大値の範囲を外れないようにします。 これは不正な個別入力厚の補正ではありません。平均するのは厚さであり、I・倍率・柔性の平均ではありません。 倍率は供給された元強軸性能へ乗じます。EA・弱軸曲げ・せん断・ねじり、材軸・支持条件、質量・設計自重・数量を変更しません。 SRC梁・S合成梁の算定方式はこの厚さ平均の対象外です。
厚さの長さ平均は危険側になり得る近似です。 区間別変形を精算する方式ではなく、剛性を過大、変形を過小に評価し得ます。 b300/D600 mm・左右協力幅合計1200 mmで、前半の実厚50 mm、後半250 mmなら平均厚150 mmから I=10293750000 mm⁴となります。区間別Iは8815625000/10407812500 mm⁴で、一定M・一定Eに対して 回転を一致させる等価Iは9545782024.709421 mm⁴です。この例では剛性約7.84%過大、回転約7.27%過小となります。 これは一般の誤差上限ではありません。厚さが一定なら、区間の分割だけでは算定倍率は変わりません。
-
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 本の梁が全高を負担します。
実装参照:RC床板協力剛性は sepika_element::frame::beam::stiffness_factors::{rc_slab_sides,flanged_inertia}(crates/sepika-element/src/frame/beam/stiffness_factors.rs)、公開算定入口は sepika_element::frame::beam::stiffness_breakdown です。