質点系解析
本節では、各階を質点に縮約したせん断型・曲げせん断型モデルの固有値と時刻歴を扱います。 立体 FEM の固有値・時刻歴とは独立した解析です。
立体のモードは部材の曲げや局部変形を含むため、質点系の次数と並べて読むことはできません。 周期だけを比較してください。 曲げせん断型は、柱軸伸縮による建物全体の弾性曲げをせん断変形から分離します。弾性曲げ要素と履歴せん断ばねの直列接続を用い、別方式の回転ばね型は提供しません。 曲げせん断型の入力不足、非有限な質量・剛性、時刻歴の未収束は理由付きの計算失敗として通知します。空の応答結果として扱いません。
実行は右バー「質点系」です。 表とグラフは結果タブ「質点系」、球とばねは 3D ビューアの「質点モード」「質点時刻歴」です。
前提
| 設定 | 必要な先行結果 |
|---|---|
| 2 次元・線形 | 加振方向の地震静的(EX または EY) |
| 3 次元・線形 | 地震静的 EX と EY の両方 |
| 2 次元・非線形 | 加振方向の増分解析 |
| 3 次元・非線形 | X・Y 両方の増分解析と、ねじり剛性のための EX・EY |
表の先行結果は、現在のモデル・その先行解析の計算条件と一致する生成入力を持つ必要があります。 結果の欠落、生成入力の記録欠落、入力の不一致は、対象の方向と再解析の案内を表示して質点系解析の開始を拒否します。 せん断型では、未使用方向の結果や、2 次元・非線形の地震静的結果は要求しません。 曲げせん断型は線形・非線形とも対象方向の EX/EY を必要とし、3 次元では両方向を必要とします。 非線形では、それらに加えて対象方向の増分解析も必要です。 表示の切替、質点系固有値のモード数や質点系時刻歴の時間刻みだけの変更では先行再解析は不要です。
3 次元のねじりばね(KR)は、線形・非線形のいずれでも線形ばねです。 非線形の並進だけが増分解析のトリリニアを使い、ねじりは偏心率精算の KR のままにするためです。
実装参照:GUI の先行成果の存在・生成入力一致の検査は App::require_lumped_prerequisites(crates/sepika-app/src/app/actions/lumped_mass.rs)、解析結果の組み立ては sepika_job::compute::compute_lumped_mass(crates/sepika-job/src/compute.rs)が担います。
既定値
| 項目 | 既定 | 範囲 |
|---|---|---|
| モデル | せん断型 | せん断型 / 曲げせん断型 |
| 次元 | 2 次元 | 2 次元 / 3 次元 |
| 非線形 | オフ(線形) | オン / オフ |
| 加振・解析方向 | X | X / Y |
| 層並進剛性の定義 | 層 Q/δ(EX/EY) | 層 Q/δ / 柱 ki。せん断型・線形のときだけ使います |
| 固有値のモード数 | 3(立体固有値のモード数とは独立) | 画面は 1〜30。せん断型は 2 次元で層数、3 次元で 3×層数、曲げせん断型はそれぞれ 2×層数、5×層数までです |
| 第 1 折点の割線剛性比 | 0.75(非線形時。増分解析の層 Q–δ をトリリニア縮約するとき) | 0.3〜0.95 |
| 時刻歴の減衰比 h | 0.02(初期剛性比例。立体時刻歴とは独立) | 0〜0.2 |
| サンプル波の dt | 0.01 s | 0.001〜0.1 s |
| サンプル波の継続時間 | 10 s | 0.1〜60 s |
| サンプル波の周期 | 0.5 s | 0.05〜5 s |
| サンプル波の振幅 | 1000 mm/s² | 1〜20000 mm/s² |
波形はサンプル波か波形ライブラリから選びます。
立体時刻歴にある「波形 CSV を開いて実行」は、質点系パネルにはありません。
プロジェクトファイル(.ovika)には設定・固有値・時刻歴結果を同梱し、波形の実体はライブラリ参照です。
サンプル波は立体時刻歴と同じ式です。
\[ \ddot{x}_g(t) = A \sin(\omega t)\, e^{-0.3 t},\quad \omega = 2\pi / T \]
\( A \) は振幅、\( T \) は周期、\( dt \) は刻みです。
入力 N 点は時刻 0 から (N−1)dt の瞬時値で、積分は N−1 区間です。 平面・空間とも、先頭は積分前の静止初期変位・速度に対応し、相対初期加速度は先頭地動の釣合いから求めます。 サンプル波の点数と丸上げ終時刻、外部入力の下限は 時刻歴の入力時刻と初期状態 と共通です。 初期釣合いと積分で扱う加速度は相対加速度で、並進の絶対加速度は同時刻の地動を加えた値です。
実装参照:既定値は sepika_job::AnalysisSettings(crates/sepika-job/src/settings.rs)が持ちます。
質量
各層の質量は上端階の物理質量相当重量 \( W_{\text{mass}} \) を重力加速度で割った値です(\( m = W_{\text{mass}}/g \))。
W_mass は準備計算の階生成が節点の物理質量相当重量から階ごとに集計した Story::dynamic_mass.mass_equiv_weight_n です。
質量方式(固有値解析の質量モデル)に依らず全量を用います(串団子は部材分布質量を持たないため)。
物理質量相当重量は物理質量(鋼材は物理質量密度 7.85 t/m³)に基づき、設計地震用重量 seismic_weight(鋼材は 78.5 kN/m³)とは一致しません(地震用重量・層データの生成の「動的解析用の質点質量の設定」)。
手入力の地震用重量(weight_override)は設計地震力のみを変え、質点系の質量は変えません。
未算定なら準備計算で階を生成する必要があり、質点系は明示エラーで止まります(設計重量での代用はしません)。
3 次元の回転慣性 \( J \) [t·mm²] は、同じ物理質量分布から質量重心まわりに直接算定した値(Story::dynamic_mass.inertia_t_mm2)です。
質点の平面位置はその質量重心 center_xy_mm です。
従来の剛床マスター RZ 質量の比例換算は使いません。
\[ J = \sum \frac{w_{\text{mass},i}}{g} , \lvert r_i - G \rvert^2 \]
\( r_i \) は節点 \( i \) の平面位置、\( G \) は質量重心です。 2 次元の 3D 表示では、剛床マスター(なければ原点)を代表点にします。
記号・単位
| 記号 | 意味 | 単位 |
|---|---|---|
| \( m \) | 層の質量 | t |
| \( W_{\text{mass}} \) | 上端階の物理質量相当重量 | N |
| \( w_{\text{mass},i} \) | 節点 \( i \) の物理質量相当重量 | N |
| \( g \) | 重力加速度 | mm/s² |
| \( J \) | 3 次元の質量重心まわりの回転慣性 | t·mm² |
| \( r_i \) | 節点 \( i \) の平面位置 | mm |
| \( G \) | 階の質量重心 | mm |
| \( Q \) | 地震静的解析の層せん断力 | N |
| \( \delta \) | 層間変位 | mm |
| \( K_x,\ K_y \) | 層の並進剛性(X・Y 方向) | N/mm |
| \( k_i \) | 柱の剛性(\( Q_i/\delta_i \)) | N/mm |
| \( K_R \) | 層のねじり剛性 | N·mm/rad |
| \( r_x,\ r_y \) | 剛心の重心に対する相対位置 | mm |
| \( \omega \) | 固有円振動数 | rad/s |
| \( T \) | 固有周期 | s |
| \( \mu_X,\ \mu_Y,\ \mu_{45} \) | X・Y・45° の層塑性率 | - |
| \( \delta_{1x},\ \delta_{1y} \) | 各方向骨格の第 1 折点変形 | mm |
実装参照:層の物理質量相当重量・質量重心・回転慣性は sepika_load::story_gen(crates/sepika-load/src/story_gen/generate.rs)が準備計算で sepika_core::model::Story::dynamic_mass に保存し、質点系の層質量への変換は sepika_job::lumped_mass::build_lumped_mass が担います。
層並進剛性
層 Q/δ(既定、線形時)
地震静的 EX の層せん断 \( Q \) と層間変位 \( \delta \) から \( K_x = |Q|/|\delta| \)、EY から同様に \( K_y \) を算定します。 層せん断は当該層の柱せん断の合計です。 柱せん断はすでに当該層より上の水平力を含むので、層間で足し直しません。
2 次元の層間変位は、階の代表節点(剛床マスター、なければ質量最大の節点)の水平変位差です。 3 次元の層間変位は、その層の剛心の平面位置における剛床変位の上下差です。 3×3 の並進ばねは剛心位置のばねなので、\( \delta \) も剛心で取ります。 上下とも同じ平面位置で取るため、セットバックでマスターがずれても層間になります。
剛心座標とねじり剛性 KR [N·mm/rad] は、偏心率の精算と同じ柱剛性 \( k_i = |Q_i|/|\delta_i| \)(雑壁の寄与を含む)から算定します。 柱の変位差が0の場合、又は剛性の商が非有限になる場合は算定できません。正の微小変位を剛性0へ置き換えません。 保存した静的応答から層せん断・柱剛性を求めるときは、使う柱の局所軸が解決できない場合に部材と理由を示して停止します。この集計に使わない梁の参照方向は要求しません。
柱 ki(線形時)
\( K_x \)・\( K_y \)・剛心・KR をすべて柱の \( k_i \) 合計(偏心率精算と同じ)から定めます。
非線形時の並進骨格は、該当方向の増分解析の層 Q–δ を等包絡面積則でトリリニア縮約したものです(第 1 折点の割線比は上表。長期載荷点を原点とする補正は 質点系(串団子)非線形時刻歴 と同じです)。 固有値と減衰に使う初期剛性も、この骨格の K1 です。 線形時の定義(層 Q/δ または柱 ki)は使いません。
実装参照:層剛性の組み立ては sepika_job::lumped_mass::build_lumped_mass が、柱 ki・剛心・ねじり剛性の算定は sepika_design_jp::secondary::{eccentricity_analysis, eccentricity}(crates/sepika-design-jp/src/secondary/)が担います。
2 次元(せん断串)
加振方向 1 本の質点列です。層間ばねはせん断型三重対角です。
算定式
固有値は
\[ K x = \omega^2 M x \]
(M は対角、K は三重対角)を標準固有値問題へ帰着して解きます。 モード形状は最上階を 1.0 に正規化します。 刺激係数と有効質量は算定しません。 立体固有値の参加係数は M 正規化に紐づく量で、質点系は縮約モデルの周期を見る解析だからです。
時刻歴は Newmark 平均加速度と Newton 反復、減衰は初期剛性比例 \( a_1 = 2h/\omega_1 \) です。 詳細は 質点系(串団子)非線形時刻歴 です。
実装参照:固有値は sepika_solver::dynamic::lumped_mass::lumped_mass_eigen が、時刻歴は sepika_solver::dynamic::lumped_mass::lumped_mass_time_history が求解します。
3 次元(Ux, Uy, θz)
各階の自由度は質量重心における並進 2 成分と鉛直軸まわり回転です。 剛心相対位置を \( r_x = X_s - X_g \)、\( r_y = Y_s - Y_g \) として、層の 3×3 剛性は次です。
算定式
\[ K = \begin{bmatrix} K_x & 0 & -K_x r_y \ 0 & K_y & K_y r_x \ -K_x r_y & K_y r_x & K_x r_y^2 + K_y r_x^2 + K_R \end{bmatrix} \]
\( K_x \)・\( K_y \) は線形なら静解析の層剛性、非線形なら増分骨格の初期剛性です。 階間は相対変位で直列につながります。 地動は加振方向(X または Y)の 1 方向です。
たとえば偏心のない 1 層では、並進の固有周期は \( T = 2\pi\sqrt{m/K} \)、ねじりの固有周期は \( T = 2\pi\sqrt{J/K_R} \) となり、上の 3×3 を対角化した結果と一致します。
非線形時、X・Y の並進ばねは各方向のトリリニア(最大点指向型)、ねじりは KR の線形ばねのままです。 3 次元のモード形状は各階 \( (U_x, U_y, \theta_z) \) で、頂部水平変位のノルムで正規化します。 刺激係数と有効質量は 2 次元と同じく算定しません。
実装参照:固有値・時刻歴の求解は 2 次元と同じ sepika_solver::dynamic::lumped_mass::{lumped_mass_eigen, lumped_mass_time_history}(crates/sepika-solver/src/dynamic/lumped_mass/)が担います。
時刻歴の方向別ピーク
時刻歴の層間・層せん断・塑性率は、X・Y・45°・最大の 4 欄で出します。 地動は X か Y の 1 方向でも、ねじりがあれば剛心位置の層間は平面内を動くためです。
層間は剛心位置の並進 \( (\delta_x,\ \delta_y) \) です。 層ばねの変形がここだからです。 層せん断は同じ位置のばね力 \( (Q_x,\ Q_y) \) です。 頂部変位のグラフは質量重心の加振方向成分です。 質点の自由度がそこだからです。
算定式
各時刻の値から、層ごとに時刻歴の最大絶対値を取ります。
| 欄 | 層間・層せん断 |
|---|---|
| X | \( |\delta_x| \)、\( |Q_x| \) |
| Y | \( |\delta_y| \)、\( |Q_y| \) |
| 45° | \( \max(|(\delta_x+\delta_y)/\sqrt{2}|,\ |(\delta_x-\delta_y)/\sqrt{2}|) \)(せん断も同じ) |
| 最大 | \( \sqrt{\delta_x^2+\delta_y^2} \)、\( \sqrt{Q_x^2+Q_y^2} \) |
45° は 45° と 135° の投影の大きい方です。 斜めの応答はどちらの対角にも出るためです。
塑性率は次です。 \( \delta_{1x} \)・\( \delta_{1y} \) は各方向骨格の第 1 折点変形です。
| 欄 | 塑性率 |
|---|---|
| X | \( \mu_X = \delta_X / \delta_{1x} \)(\( \delta_{1x} \le 0 \) は 0) |
| Y | \( \mu_Y = \delta_Y / \delta_{1y} \)(\( \delta_{1y} \le 0 \) は 0) |
| 45° | \( \mu_{45} = \delta_{45} / (\sqrt{2}\,\min(\delta_{1x},\delta_{1y})) \) |
| 最大 | \( \max(\mu_X,\ \mu_Y) \) |
45° の分母は、軸平行の降伏矩形 \( |\delta_x|=\delta_{1x} \)、\( |\delta_y|=\delta_{1y} \) に沿う斜め距離です。 最大の塑性率は並進ばねが経験した値の包絡です。 合成変位を \( \min(\delta_{1x},\delta_{1y}) \) で割ると、ばねが感じていない量になるため使いません。
2 次元では加振方向以外の並進は 0 です。 45° は加振方向成分の \( 1/\sqrt{2} \) になります。
実装参照:方向別ピークは sepika_solver::dynamic::lumped_mass::lumped_mass_time_history(StickDirPeaks)が算定します。
3D 表示
3D ビューアの「質点モード」「質点時刻歴」で、各階の質点を球、階間ばねを線で描きます。 球の半径は質量に応じます。 「骨組を重ねる」をオフにすると、質点の基準位置は鉛直 1 列です。 質点モードでは変形前の串を破線と高い透過で重ねます。 表示倍率は立体の変形図と同じく、ピーク並進がモデル対角長の 10% になる自動倍率に手動係数を掛けます。 詳細は 質点系の 3D 表示 です。
実装参照:モデル生成は sepika_job::lumped_mass、固有値・時刻歴は sepika_solver::dynamic::lumped_mass です。
Newton 反復は最大 30 回、相対許容誤差は \( 10^{-6} \) です。
曲げせん断型
適用範囲と自動算定
右バー「質点系」の「モデル」で「曲げせん断型」を選択します。 基部の並進・曲げ回転は固定とし、変形前形状の一次釣合いを用います。 曲げは層ごとに一定の弾性剛性とし、曲げ塑性・P–Δ効果・基礎のスウェイ/ロッキングは考慮しません。 柱軸伸縮で高さ方向の曲げを代表できる柱・梁・ブレースの骨組が対象です。壁・シェル・節点ばね・免震・制振部材等は、高さや層中央との交差にかかわらず対象外と診断します。 部材に接続する節点と、剛床・剛リンク・多点拘束に参加する節点(部材に直結しない代表節点も含む)の支持ばねのうち固定されていない自由度の非零成分も対象外です。ゼロ成分と固定自由度のばね成分は作用しないため、この制限に含めません。 基部より上の節点が解析対象の水平方向で地盤に固定される場合も対象外です。2 次元では対象方向、3 次元では X/Y 両方向を確認し、2 次元の面外拘束はこの制限に含めません。傾斜柱には鉛直変位差を軸伸縮として用いることができないため、適用外として解析を停止します。
EX・EY の水平力だけによる柱の軸力・鉛直軸変形・平面位置から算定します。 中間節点で分割された柱は上下階間の連なりを一度だけ数えます。 層を切断するすべての柱について上下階を結ぶ非分岐の連なりであることを確認し、途中階を飛ばす柱・下端階に達しない柱・中間分岐を持つ柱は、階と部材を特定して停止します。 仕口パネルの接続節点列は独立した層切断部材として重ねて数えず、その変形は骨組の全層間変位に含めます。 軸力は引張正、全体座標の上向きを正とし、X 方向加力は Y 軸回り、Y 方向加力は X 軸回りの曲げ剛性に対応します。 同一の平面基準点からの座標を使い、上下端で
\[ M_x=\sum_k N_k(y_k-y_0),\qquad M_y=-\sum_k N_k(x_k-x_0) \]
を求めます。上下端平均軸力を用いた軸仕事を \(W_a=\sum_k \bar N_k\Delta u_{z,k}\) とすると、
\[ \bar M_i=(M_{b,i}+M_{t,i})/2,\quad \Delta\theta_i=W_{a,i}/\bar M_i,\quad EI_i=h_i\bar M_i/\Delta\theta_i \]
です。\(h_i\) は上下階の構造基準レベル間の高さ [mm]、軸力は [N]、曲げモーメントは [N·mm]、曲げ剛性は [N·mm²] です。 軸仕事・有効曲げモーメントが不足する層、非有限値や正の曲げ剛性を得られない層は、階と原因を表示して停止します。 柱以外の変形を曲げ剛性に加算せず、算定不能な層を剛とみなしません。
全変位からせん断骨格を得る
層せん断力から頂部をゼロとして下層へ曲げモーメントを復元します。
\[ M_{t,i}=M_{b,i+1},\qquad M_{b,i}=M_{t,i}+Q_i h_i \]
各層のモーメントは線形分布とし、基部回転ゼロから積分します。
\[ \Delta\theta_i=\frac{h_i(M_{b,i}+M_{t,i})}{2EI_i},\qquad \delta_{b,i}=h_i\theta_{b,i}+\frac{h_i^2(2M_{b,i}+M_{t,i})}{6EI_i} \]
上端回転は \(\theta_{t,i}=\theta_{b,i}+\Delta\theta_i\) とし、次層の下端回転へ引き継ぎます。 線形では全層間変位から \(\delta_s=\delta-\delta_b\) を求め、\(K_s=Q/\delta_s\) とします。 非線形では、各確定ステップの層せん断力と全層間変位から水平力ゼロ時点の値を引き、各ステップの層せん断力で曲げ変位を再計算して差し引きます。 3 次元では各確定ステップと水平力ゼロの初期載荷点の水平変位・ねじれ回転を同じ剛心位置へ変換してから差を取り、剛床の代表節点位置に依存しないせん断骨格を求めます。 増分解析の荷重分布を EX/EY と同一とは仮定しません。 得られたせん断骨格を等包絡面積則でトリリニアへ縮約し、最大点指向型履歴を使います。 バイリニアなど同じ力・変位の折点へ縮退する場合も、同じ履歴則で扱います。同一変位の折点の力は相対64ε(εは倍精度の機械精度)以内の一致を要求し、異なる力を持つ同一変位や負勾配・非有限接線を拒否します。折点値の正値補正・移動は行いません。 正のせん断剛性・有効なせん断骨格が得られない場合は、絶対値化や微小正値による補正を行わず停止します。
要素と自由度
各層は Euler–Bernoulli 弾性曲げとせん断ばねの直列要素です。 局所自由度を \([u_b,\theta_b,u_t,\theta_t]\)、\(\phi=12EI/(K_s h^3)\) とすると、線形剛性は
\[ K_e=\frac{EI}{h^3(1+\phi)} \begin{bmatrix} 12&6h&-12&6h\ 6h&(4+\phi)h^2&-6h&(2-\phi)h^2\ -12&-6h&12&-6h\ 6h&(2-\phi)h^2&-6h&(4+\phi)h^2 \end{bmatrix} \]
です。基部固定 1 層に頂部水平力 \(Q\) を与えると、
\[ \delta=Q\left(\frac{1}{K_s}+\frac{h^3}{3EI}\right),\qquad \theta=\frac{Qh^2}{2EI} \]
となり、\(EI\to\infty\) でせん断型へ収束します。 非線形でも内部の直列接続点で同じせん断力を満たすよう釣合いを解き、同じせん断ばね変形に対して内力・接線・履歴を確定します。
2 次元の各階は水平変位と曲げ回転の 2 自由度、3 次元は水平 2 成分・Z 軸ねじれ・X/Y 軸曲げ回転の 5 自由度です。 X 方向の曲げ回転は \(\theta_y\)、Y 方向は \(-\theta_x\) として連続性を満たします。 3 次元の剛心とねじりばねの扱いはせん断型と同じです。
物理質量と結果の読み方
並進質量と同じ階の物理質量分布を用い、重心まわりの慣性を求めます。 壁版の物理質量は実領域を積分し、重心への移送も含めます。
\[ J_x=\sum m(y-y_G)^2,\quad J_y=\sum m(x-x_G)^2,\quad P_{xy}=\sum m(x-x_G)(y-y_G),\quad J_z=J_x+J_y \]
2 次元は \(\operatorname{diag}(m,J_y)\)(X 方向)、\(\operatorname{diag}(m,J_x)\)(Y 方向)です。 3 次元の回転慣性の X/Y 部分は \(\begin{bmatrix}J_x&-P_{xy}\-P_{xy}&J_y\end{bmatrix}\) とし、積慣性も考慮します。 必要な質量・慣性が正でない場合や質量行列が正定値でない場合は、該当階と値を提示して停止します。 固有値解析は追加回転と慣性を含む一般化固有値問題を解きます。 時刻歴は Newmark 平均加速度法と初期剛性比例減衰を用い、地動は並進自由度に作用します。
結果の層間変位は全層間変位、層せん断力はせん断ばね力、塑性率はせん断ばね変形に基づきます。 結果画面にモデル種別と層別曲げ剛性を表示し、算定モデル・曲げ回転・固有値・時刻歴を保存します。 時刻歴のケース識別にはモデル種別も含むため、せん断型と同じ波形を解析しても別の結果として所属します。
実装参照:自動算定は sepika_job::lumped_mass(crates/sepika-job/src/lumped_mass/bending.rs)、要素・固有値・時刻歴は sepika_solver::dynamic::lumped_mass(crates/sepika-solver/src/dynamic/lumped_mass/bending.rs)が実装します。