静定ラーメン 反力・M図ソルバー

門型・3ヒンジ・L形片持ちの支点反力と部材端モーメントを解き、M図を引張側に描く

柱と梁がつながった静定ラーメン3形式の支点反力・部材端モーメント・最大曲げモーメントを、釣り合い式だけで解いてM図を引張側に描く。

建築士試験の典型寸法。ローラー側の柱に曲げが生じないことが一目で分かる

ラーメンの条件

いずれも釣り合い式だけで解ける静定形式。両端固定の門型は1次不静定なので対象外

門型は支点間距離、L形は片持ち梁の突出長さ

柱脚から梁心まで。3ヒンジでは小さいほどスラストが急増

梁の全長に作用する下向き荷重。0でもよい

左柱頭に作用する右向きの水平力。0でもよい

解析結果

Mmax80.00 kN·m80.00(下側引張)
梁内最大点
柱の最大圧縮軸力40.00 kN
右柱

支点反力(水平=右向き正・鉛直=上向き正・MA=反時計回り正)

左支点 水平反力 HA

-20.00 kN

左支点 鉛直反力 VA

20.00 kN

右支点 水平反力 HB

0.00 kN

右支点 鉛直反力 VB

40.00 kN

鉛直反力の合計 ΣV

60.00 kN

鉛直荷重の合計 w×L

60.00 kN

ΣVと一致=釣り合いOK

水平方向は HA + HB + P = 0 が常に成り立つ(水平力は必ず支点で受け止められる)。

部材端モーメント(内側引張を正)

正=内側引張(梁は下側引張)/負=外側引張(梁は上側引張)

左柱脚

0.00 kN·m

左隅角部(左柱頭)

60.00 kN·m

=梁左端

右柱脚

0.00 kN·m

右隅角部(右柱頭)

0.00 kN·m

=梁右端

梁中央

75.00 kN·m

梁内の最大曲げ

80.00 kN·m

左端から 2,000mm

断面力図

w = 10.0 kN/mP = 20.0 kN80.0 kN·mVA 20.0HA -20.0VB 40.0HB 0.0
引張側に描画正=内側引張(梁は下側)負=外側引張(梁は上側)

M図は引張側に描画。正=内側引張(梁は下側)/負=外側引張(梁は上側)

軸力(引張正・圧縮負)/せん断力

左柱 軸力 N

-20.00 kN

左柱 せん断力 Q

20.00 kN

右柱 軸力 N

-40.00 kN

右柱 せん断力 Q

0.00 kN

梁 軸力 N

0.00 kN

ローラーが水平力を負担しないため0

梁左端 せん断力 Q

20.00 kN

梁右端 せん断力 Q

-40.00 kN

スパン/柱高 比 L/H

2.00

標準的(一般的な門型ラーメンの範囲)

ローラー支点は水平反力を負担しないため、右柱には曲げもせん断も生じません。水平力はすべて左柱が負担し、左柱頭に P×H のモーメントが集中します。これは計算漏れではなく、この支持形式の性質です。

静定ラーメンの断面力を釣り合い式だけで求める学習・概算用の計算機です。部材は軸線でモデル化しており、断面寸法(フェイス位置)・剛域・パネルゾーンの変形は考慮していません。荷重は入力した等分布荷重と水平集中荷重のみで、自重・積雪・風・地震の各荷重ケースとその組合せ、二次応力(P-Δ効果)、たわみ・層間変形角は含まれません。両端固定の門型や多層多スパンのラーメンは不静定であり対象外です。部材断面の選定・許容応力度検定・座屈検討・接合部設計・基礎の設計も範囲外です。実務では構造計算ソフトと構造設計者の判断により確認してください。

PR

📘 ラーメン構造・構造力学の参考書

関連ツール

値は合っていたのに、M図の向きが逆で×になった

門型ラーメンの構造問題。反力は合っている。柱頭のモーメントも 60kN·m でぴったり合っている。それなのに解答例を見ると、M図の膨らみが自分の描いた側と逆を向いている。数値は全部正解なのに、図としては不正解。この理不尽さを味わったことがある人は、たぶん少なくない。

M図は引張側に描く。ルール自体は誰でも知っている。問題は「どちらが引張側か」が、骨組を眺めただけでは分からないことだ。柱の右面が伸びるのか左面が伸びるのか。梁の下端が伸びるのか上端か。それを決めているのは支点反力の向きであって、反力を最後まで追い切らないと図の向きは確定しない。単純梁なら「下に凸なら下側引張」で済むのに、柱が入った途端にその直感が効かなくなる。

このツールは、そこだけを潰すために作った。スパン・柱高・等分布荷重・水平荷重の4つを入れると、支点反力・部材端モーメント・最大曲げモーメントが閉形式で一発で出る。そして M図は建築士試験の作図ルールどおり引張側に描かれ、どの面が引張になるかがラベルで明示される。数値と図の向きが、常にセットで返ってくる。

なぜ作ったのか — 柱が1本入った瞬間に手が止まる

以前に梁のSFD/BMD全長プロッタを作ったとき、単純梁と片持ち梁の断面力はこれで完全に片付いた。ところが自分で使っていて、どうしても届かない領域が残った。柱と梁がつながった骨組だ。カーポートの門型フレーム、庇を跳ね出した柱、体育館の3ヒンジ。どれも「梁だけ」に切り出せず、単体の梁ツールでは1ミリも歯が立たない。

日本語のWebを探しても、この穴は埋まっていなかった。「ラーメン構造 反力 計算」で検索して出てくるのは、大学の講義PDF(手計算の解法が式で書いてある)と、建築士試験の対策記事(典型パターンの答えが載っている)ばかり。入力欄に数字を入れて解いてくれるものが、ひとつも見つからない。トラスは平面トラス 部材力ソルバーで解けるようにしたのに、ラーメンだけ空白のままだった。

もうひとつ、作りながら一番時間を使ったのが符号規約だ。静定ラーメンの手計算そのものは難しくない。釣り合い式を3本立てて解くだけだ。にもかかわらず毎回つまずくのは、求めた M をどちら側に描くかの部分だった。教科書によって時計回り正だったり、下側引張正だったり、部材の左右で定義が入れ替わったり。柱と梁で規約が食い違うと、隅角部で数値が符号ごとねじれて、どちらが正しいのか自分でも分からなくなる。

だから、このツールでは規約をひとつに固定した。ラーメン内側の繊維が引張になる向きを正、これだけ。左柱の内側(右面)・梁の下面・右柱の内側(左面)は、隅角部でつながった1本の連続した繊維になっている。この面を基準にすると決めた瞬間に、手計算で毎回あやふやだった部分がきれいに消えた。なぜこの規約でなければならなかったのか、そして何が副産物として手に入ったのかは §8 に書いた。

静定ラーメンとは何か

ラーメン構造 とは — 額縁のように角が固まった骨組

ラーメン(rigid frame)は、柱と梁が剛接合された骨組のことだ。剛接合とは、接合部が回転しないという意味。柱と梁のなす角が90度なら、変形したあともその角は90度のまま保たれる。ピン接合なら角がパタパタ動くところを、溶接や高力ボルトでがっちり固めて動かなくする。詳しい分類や歴史はラーメン構造(Wikipedia)にまとまっている。

イメージしやすいたとえがある。ストローを4本つないで長方形の枠を作り、角をテープで軽く留めただけの状態を思い浮かべてほしい。上辺を横に押すと、枠はぐにゃりと平行四辺形につぶれる。これがピン接合。一方、角を接着剤でがちがちに固めてから同じように押すと、枠は形を保ったまま踏ん張り、代わりに角の部分が「曲げられている」感触が返ってくる。これが剛接合であり、ラーメンが水平力に抵抗できる理由そのものだ。

ここが平面トラス 部材力ソルバーが扱うトラスとの決定的な違いになる。トラスは全節点がピンなので、部材には軸力(引張か圧縮)しか生じない。ラーメンは角が固まっているぶん、部材に曲げモーメントとせん断力が生じる。曲げが生じるということは、部材のふちに応力が集中し、断面をせいの大きい形にしないと持たないということだ。トラスが細い部材で大スパンを飛ばせるのに対し、ラーメンは太い柱と梁で空間を確保する。壁がなくても成立し、開口を自由に取れるのがラーメンの価値だ。

静定 と 不静定 の判別 — 未知数と式の数を数える

構造物が「解ける」かどうかは、未知の反力の数と、使える釣り合い式の数を比べれば分かる。平面の構造では釣り合い式は3本だ。

ΣH = 0   (水平方向の力の合計がゼロ)
ΣV = 0   (鉛直方向の力の合計がゼロ)
ΣM = 0   (任意の点まわりのモーメントの合計がゼロ)

未知数がちょうど3個なら、3元連立方程式として一意に解ける。これが静定だ。未知数が4個以上あると式が足りず、部材の変形(つまり断面性能と材料のヤング係数)まで持ち出さないと解けない。これが不静定である。分類の一般論は静定(Wikipedia)を参照してほしい。

静定であることの実務的な意味は大きい。断面が決まっていなくても反力と断面力が確定する、ということだからだ。「まだ部材を選んでいないけれど、柱脚にどれくらいモーメントが来るか知りたい」という設計の入口の局面で、静定形式なら即答できる。逆に不静定の骨組は、断面を仮定 → 解析 → 断面を見直し、というループが必要になる。

本ツールが扱う3形式は、なぜ静定なのか

門型(左ピン・右ローラー)  未知反力 HA, VA, VB      … 3個 = 式3本 → 静定
3ヒンジラーメン            未知反力 HA, VA, HB, VB  … 4個 = 式3本 + ヒンジ条件1本 → 静定
L形片持ち(柱脚固定)      未知反力 HA, VA, MA      … 3個 = 式3本 → 静定

門型は左をピン(水平・鉛直の2成分を受ける)、右をローラー(鉛直のみ)にすることで、未知数をちょうど3個に絞っている。ローラーが水平力を受けられないので、水平荷重はすべて左柱が負担することになる。この非対称さは実際の建物より人工的だが、教科書と試験問題で最も多く出る基本形だ。

L形片持ちは柱脚を固定(水平・鉛直・モーメントの3成分)にして、上端を自由にした形。庇やバルコニーの骨組そのもので、未知数3個でこれも静定になる。

面白いのが3ヒンジだ。両支点をピンにすると未知数が4個になり、そのままでは1個足りない。そこで梁の中央にヒンジを1個入れる。ヒンジは曲げモーメントを伝えないので、「その位置での曲げモーメントは必ずゼロ」という条件式が1本追加される。未知数4個に対して式が4本になり、めでたく静定に戻る。これは式を増やすために構造をわざと弱くしている、という少し倒錯した仕掛けで、初めて習うときに戸惑いやすいポイントだ。

ヒンジ条件の立て方は、中間ヒンジで骨組を左右に切り、片側だけの自由体を取り出して、その自由体に働く力のヒンジまわりのモーメントを合計してゼロと置く、というもの。切った先の材から伝わってくるのは軸力とせん断力だけで、モーメントは伝わらない。だからヒンジまわりで合計すれば、未知数のうち片側の反力だけを含む1本の式が得られる。

反力の式 — 3形式ぶんまとめて

上の考え方を3形式それぞれに当てはめると、反力はすべて手で書ける閉じた式になる。L と H は m 単位、w は kN/m、P は kN。P は左柱頭に作用する右向きの水平力とする。

■ 門型(左ピン・右ローラー)
  ΣH:   HA + P = 0            → HA = −P
  ΣM_A: L·VB − w·L²/2 − P·H = 0 → VB = wL/2 + PH/L
  ΣV:                          → VA = wL − VB = wL/2 − PH/L
  HB = 0(ローラー), MA = 0(ピン)

■ 3ヒンジラーメン
  VA, VB は門型と同じ(鉛直反力は水平力の分担の仕方に依存しない)
  ヒンジ条件(梁中央 E まわり・左側自由体): H·HA − (L/2)·VA + w·L²/8 = 0
  → HA = wL²/(8H) − P/2 ,  HB = −P − HA = −P/2 − wL²/(8H)

■ L形片持ち(柱脚固定)
  ΣH:   HA = −P
  ΣV:   VA = wL
  ΣM_A: MA = w·L²/2 + P·H (反時計回り正)

3ヒンジの HA が持つ意味は覚えておく価値がある。鉛直荷重だけ(P = 0)のとき HA = wL²/(8H) になり、これはアーチのスラストそのものだ。屋根に載った荷重が、支点を外向きに押し広げようとする水平力として現れる。柱高 H が分母にあるので、扁平にする(H を小さくする)ほどスラストは急激に増える。逆に水平荷重だけ(w = 0)のときは HA = HB = −P/2 となり、柱高が等しい3ヒンジでは水平力が左右の柱にきれいに半分ずつ分配される。門型ピン・ローラーで左柱が全部を背負い込むのとは、まったく違う挙動になる。

実務での重要性 — 柱脚モーメントがアンカーボルトの本数を決める

反力とモーメントの数値は、そのまま金物の仕様に直結する。抽象的な演習問題の答えではなく、発注する部材の寸法そのものだ。

一番わかりやすいのが柱脚だ。露出型柱脚では、柱脚に生じるモーメントをアンカーボルトの引張力とベースプレート下面の圧縮で釣り合わせる。ボルト群の重心間距離が仮に 0.3m とすると、柱脚モーメント 56kN·m はざっと 190kN 前後の引張力をアンカーボルト側に要求する。M20(4.6等級)1本の許容引張力は十数kN程度なので、これだけで本数もベースプレート厚も一段変わってくる。後述のケース6とケース9では、同じL形片持ちでも柱脚モーメントが 56kN·m と 240kN·m で4倍以上違う。この差が、そのままアンカーボルトの径・本数・ベースプレートの板厚・基礎の大きさの差になる。柱脚の設計は日本建築学会 鋼構造接合部設計指針などの規準に沿って行うが、その入口に必要なのは「柱脚に何kN·m来るのか」というこの1個の数字だ。

3ヒンジのスラストはもっと直接的に効く。後述のケース8(L = 12m、H = 1.5m、w = 6kN/m の扁平な3ヒンジ)では、水平反力 72kN に対して鉛直反力が 36kN しかない。基礎が下に押される力の2倍の力で、外側に押し広げられているという状態だ。基礎の摩擦や受働土圧だけでこれを止めるのは容易ではなく、実際の体育館や工場では左右の基礎をタイバー(引張材)でつないだり、床スラブに水平力を負担させたりする。設計の初期に L/H を眺めてスラストの桁を掴んでおかないと、上部構造がまとまったあとで基礎が納まらないという最悪の手戻りが起きる。ツールが L/H > 6 で警告を出すのは、この境目を体感してほしいからだ。

浮き上がりも見落としやすい。ケース7(L = 4m、H = 6m、w = 5kN/m、P = 40kN)では左支点の鉛直反力が −50kN、つまり支点が下向きに引っ張られる。柱の軸力も +50kN の引張に転じる。圧縮前提でベースプレートを設計していると、この状態は想定外だ。アンカーボルトの引抜き耐力、基礎の自重による押さえ、杭がある場合は引抜き抵抗まで確認しないといけない。「柱は圧縮材」という思い込みが最も危ないのは、こういう縦長で水平力が支配的な骨組だ。

そして冒頭に戻る。M図の向きを間違えると、RC造なら主筋を入れる位置を間違える。コンクリートは引張にほとんど抵抗できないので、鉄筋は引張側に配置する。梁端で上側引張なのに上端筋を減らしていたら、その断面はひび割れて曲げ耐力を失う。3ヒンジの隅角部は鉛直荷重下で外側引張(後述のケース4)、門型ピン・ローラーの左隅角部は水平荷重下で内側引張(ケース2)と、形式と荷重で引張面が入れ替わる。図の向きは作図の作法ではなく、鉄筋がどちらに入るかという実体の話だ。

活躍する場面

構造力学の演習の答え合わせ。反力を出したところで詰まったとき、答えだけ見ても納得できない。このツールは支点反力・部材端モーメント・軸力・せん断を全部並べて出すので、自分の計算とどの段階でズレたかを1画面で特定できる。鉛直反力の合計と鉛直荷重の合計が並んで表示されるので、釣り合いの検算もその場でできる。

二級・一級建築士の学科試験(構造)。門型ピン・ローラーと3ヒンジは頻出パターンで、寸法と荷重を変えた過去問を数値ごと突っ込めば、正解と自分の答えを即座に照合できる。M図の向きまで含めて確認できるのが、答え一覧を眺めるだけの対策との違いだ。

鉄骨の平屋・カーポート・車庫の概算。スパン6m前後、柱高3m前後の門型は、実務でも計画初期に何度も試算する。スパンを1m伸ばしたら柱脚モーメントがどれだけ増えるか、屋根荷重を積雪込みに上げたらどうなるか。断面を決める前の当たり付けに、閉形式の即答は効く。

庇・バルコニー・跳ね出しの片持ち検討。L形片持ちは、跳ね出し長さを 1.5m にするか 2m にするかで柱脚モーメントが2乗で効いてくる。「あと50cm伸ばしたい」と言われたときの、伸ばした場合のコストを数字で示すのに使える。

基本の使い方(3ステップ)

1. 形式プリセットを選ぶ。 門型(ピン・ローラー)、3ヒンジ、L形片持ち、水平荷重のみの3ヒンジの4件が用意されている。選ぶだけでラーメン形式・スパン・柱高・等分布荷重・水平荷重の5項目が代表値で一括入力される。まずは何も考えずに切り替えて、骨組の形とM図が同時に変わるのを眺めるのがいい。

2. スパン・柱高・荷重を調整する。 スパン L と柱高 H は mm 単位、等分布荷重 w は kN/m、水平集中荷重 P は kN で入れる。w と P はどちらも 0 でよく、鉛直だけ・水平だけに分けて挙動を切り分けられるのがこのツールの使いどころだ。値を手で書き換えるとプリセット表示は自動で「カスタム」に切り替わる。

3. M図の向きと Mmax の発生位置を読む。 最大曲げモーメントは、値だけでなく発生位置(左柱脚/左隅角部/右柱脚/右隅角部/梁中央/梁内最大点)と引張側(内側/外側、梁では下側/上側)がセットで表示される。断面力図のセグメントで M図・Q図・N図を切り替えられ、M図は常に引張側に描かれる。部材端モーメント一覧では、左柱頭と梁左端の値が一致していることも確認できる。

具体的な使用例・検証データ(9ケース)

実装の検証には14ケースの数値を使い、全体の釣り合い(ΣFx・ΣFy・任意点まわりのΣM)の再計算、逆側の自由体からの独立検算、せん断力とモーメントの微分関係の突合、教科書公表値との照合をすべて通している。ここではそのうち9ケースを、読み取り方が分かる順に並べる。長さは mm、荷重は kN/m と kN、モーメントは kN·m、反力は kN。

ケース1: 門型・鉛直荷重のみ — 梁は単純梁とまったく同じになる

入力: 門型(左ピン・右ローラー)/L = 6000、H = 3000、w = 10、P = 0 結果: HA = 0、VA = 30、HB = 0、VB = 30。部材端モーメントは柱脚・隅角部がすべて 0、梁中央のみ 45。Mmax = 45 @梁中央(下側引張)。軸力は左柱 −30・右柱 −30(圧縮)、梁 0。せん断は柱 0、梁左端 30・梁右端 −30。 解釈: 水平荷重を落とすと、柱の断面力がきれいに全部ゼロになる。梁中央の 45kN·m は wL²/8 = 10×36/8 で、これは単純梁の値そのもの。ローラー側が水平力を受けないので、柱はただ鉛直荷重を下ろすだけの棒になる。ラーメンなのに柱が曲がらない、という一見不思議な状態が、この支持形式では正常だ。

ケース2: 門型・水平荷重のみ — 左柱だけが P·H を全部背負う

入力: 門型/L = 6000、H = 3000、w = 0、P = 20 結果: HA = −20、VA = −10、HB = 0、VB = 10。左隅角部 60、右隅角部 0、梁中央 30。Mmax = 60 @左隅角部(内側引張)。軸力は左柱 +10(引張)・右柱 −10。浮き上がりあり。 解釈: 左柱頭のモーメント 60kN·m は P×H = 20×3 そのもの。ローラーは水平反力を負担しないので、水平力はすべて左柱を通って地面に流れる。右柱には曲げもせん断も生じない。これは計算漏れではなくこの形式の性質で、ツールも情報メッセージでそう明示する。VA が −10 になっているのは、水平力が骨組を右へ倒そうとして左脚を持ち上げているため。

ケース3: 門型・鉛直+水平 — 重ね合わせは効くが、Mmax の位置は動く

入力: 門型/L = 6000、H = 3000、w = 10、P = 20(デフォルト初期値) 結果: HA = −20、VA = 20、HB = 0、VB = 40。左隅角部 60、梁中央 75、梁内最大点 80 @左端から 2000mm。Mmax = 80 @梁内最大点(下側引張)。柱の最大圧縮は右柱の 40。 解釈: 反力も部材端モーメントも、ケース1とケース2をそのまま足した値になっている(VA: 30 + (−10) = 20、VB: 30 + 10 = 40、左隅角部: 0 + 60 = 60、梁中央: 45 + 30 = 75)。静定なので重ね合わせが厳密に成り立つ。ただし Mmax は足し算にならない。最大点が梁中央からスパン左寄りの x = 2000mm へ移動し、そこでの値は 80kN·m。梁の曲げが最大になる位置は x* = VA/w = 20/10 = 2.0m で決まり、荷重の組み合わせが変わるたびに動く。ここが手計算で最も落としやすい。

ケース4: 3ヒンジ・鉛直荷重のみ — スラストが出て、4隅すべてが外側引張

入力: 3ヒンジ/L = 8000、H = 4000、w = 12、P = 0 結果: HA = 24、VA = 48、HB = −24、VB = 48。左隅角部 −96、右隅角部 −96、梁中央 0。Mmax = 96 @左隅角部(外側引張)。軸力は柱 −48・梁 −24(圧縮)、せん断は左柱 −24、梁左端 48・梁右端 −48。 解釈: 支点が骨組を内向きに押し返す HA = wL²/(8H) = 12×64/32 = 24kN のスラストが発生する。4隅すべてが wL²/8 = 96kN·m で同値になり、符号が負なので外側引張。門型ピン・ローラー(ケース1)では柱の曲げがゼロだったのに、支点をピン2つにしただけで隅角部に 96kN·m が生じる。梁中央が 0 なのは中間ヒンジの位置だから。梁の軸力 −24kN は、スラストを梁が圧縮材として突っ張っていることを示す。4隅が同値なので、Mmax の表示位置は走査順のタイブレークで「左隅角部」になる。

ケース5: 3ヒンジ・水平荷重のみ — 左右にきれいに半分ずつ

入力: 3ヒンジ/L = 6000、H = 3000、w = 0、P = 30 結果: HA = −15、VA = −15、HB = −15、VB = 15。左隅角部 +45、右隅角部 −45、梁中央 0。Mmax = 45 @左隅角部(内側引張)。軸力は左柱 +15(引張)・右柱 −15、梁 −15。浮き上がりあり。 解釈: 水平力 30kN が左右の柱に 15kN ずつ等分配され、4隅のモーメントは P·H/2 = 45kN·m になる。ケース2(門型で左柱が P·H を丸ごと負担)との対比がはっきりしていて、支持形式が水平力の流れ方を決めることが数字で見える。左隅は内側引張、右隅は外側引張という反対称形になるのも3ヒンジの特徴で、M図は左右で膨らむ側が入れ替わる。

ケース6: L形片持ち — 水平荷重は梁に一切効かない

入力: L形片持ち/L = 3000、H = 4000、w = 8、P = 5 結果: HA = −5、VA = 24、MA = 56(反時計回り正)。左柱脚 −56、左柱頭(=梁左端) −36、梁中央 −9、梁右端 0。Mmax = 56 @左柱脚(外側引張)。軸力は左柱 −24。 対比(P = 0 にすると): MA が 56 → 36 に減る。差の 20kN·m がちょうど P·H = 5×4 の寄与。一方で梁の断面力はまったく変わらない(左端 −36、中央 −9、右端 0 のまま)。 解釈: 柱脚固定モーメント MA = wL²/2 + P·H = 36 + 20 = 56kN·m。水平荷重は柱頭に作用するので、梁より下の柱にしか効かない。梁の固定端 −36kN·m が柱頭の値と一致しているのは、隅角部の連続性が成立している証拠だ。なお MA の 56 は反力側の規約(反時計回り正)、柱脚の部材端モーメント −56 は内側引張正の規約で、同じ現象を2つの規約で表示している点に注意。M図の向きは後者の符号と対応する。

ケース7: 門型・浮き上がりが発生 — 柱が引張材に変わる

入力: 門型/L = 4000、H = 6000、w = 5、P = 40 結果: HA = −40、VA = −50、HB = 0、VB = 70。左隅角部 240、梁中央 130。Mmax = 240 @左隅角部(内側引張)。軸力は左柱 +50(引張)・右柱 −70。浮き上がりあり。 解釈: VA = wL/2 − PH/L = 10 − 60 = −50kN。縦長(L/H = 0.67)で水平力が支配的だと、左支点は押されるどころか 50kN で引き抜かれる。柱の軸力も引張に転じるので、柱の最大圧縮は反対側の右柱 70kN になる。梁の放物線の頂点は x* = VA/w = −50/5 = −10m とスパンの外にあり、最大は梁左端(=左隅角部)に来る。頂点が区間内にあるとは限らない、という点を押さえておかないと手計算で取りこぼす。

ケース8: 扁平な3ヒンジ — スラストが鉛直反力の2倍

入力: 3ヒンジ/L = 12000、H = 1500、w = 6、P = 0 結果: HA = 72、VA = 36、HB = −72、VB = 36。隅角部は左右とも −108、梁中央 0。Mmax = 108 @左隅角部(外側引張)。梁の軸力 −72。 解釈: L/H = 8 の平べったい3ヒンジ。スラスト HA = wL²/(8H) = 6×144/12 = 72kN が、鉛直反力 36kN のちょうど2倍になっている。スラスト比は HA/VA = L/(4H) で、形状だけで決まるのがポイントだ。柱高を倍の3000mm にすればスラストは半分の 36kN になる。梁の圧縮軸力も 72kN と大きく、扁平にするほど梁がアーチのタイのように働くことが読み取れる。ツールは L/H > 6 で基礎の水平抵抗を確認するよう警告を出す。

ケース9: 同じ骨組・同じ荷重で形式だけを変える

L = 6000、H = 3000、w = 10、P = 20 で固定し、ラーメン形式だけを切り替えた3本。

形式Mmax発生位置引張側特徴的な反力
門型(ピン・ローラー)80梁内最大点(x = 2000mm)下側引張HA = −20、VA = 20、VB = 40
3ヒンジ75右隅角部外側引張HA = +5、HB = −25、VB = 40
L形片持ち240左柱脚外側引張HA = −20、VA = 60、MA = 240

解釈: 寸法も荷重も1ミリも変えていないのに、最大モーメントの値・発生位置・引張側がすべて入れ替わる。3ヒンジでは HA = wL²/(8H) − P/2 = 15 − 10 = +5kN と符号まで反転し(門型は −20kN)、Mmax は右隅角部の 75kN·m に移る。左隅角部は −15kN·m しかなく、水平荷重が左右の柱に及ぼす効果の非対称さがそのまま出ている。L形片持ちに至っては柱脚に wL²/2 + PH = 180 + 60 = 240kN·m が集中し、門型の3倍だ。支持条件を1つ変えるだけで部材にかかる負担が桁ごと変わるという、静定構造の一番大事な教訓がこの3行に詰まっている。

仕組み・アルゴリズム

候補手法の比較 — 剛性法か、閉形式か

骨組を解く方法として、最初に検討したのは**マトリクス変位法(剛性法)**だった。各部材の剛性マトリクスを作り、全体剛性マトリクスに重ね合わせ、境界条件を入れて連立方程式を解く。汎用性は圧倒的で、不静定でも多層多スパンでも同じコードで解ける。実際の構造計算ソフトはこれだ。

採用しなかった理由は3つある。第一に、剛性法は断面二次モーメント I とヤング係数 E を要求する。静定なら不要な情報を、ユーザーに必ず入力させることになる。「まだ断面を決めていないけれど柱脚モーメントが知りたい」という、このツールが最も役に立つはずの場面を自分で潰してしまう。第二に、連立方程式の数値解になるので、wL²/8 のような教科書の閉じた式と結果を突き合わせる検算がやりにくい。学習用途では「その式と一致する」ことこそが価値なのに、それが見えなくなる。第三に、3形式しか扱わないと決めた以上、汎用解法の複雑さに見合う利得がない。

そこで釣り合い式の閉形式解を採った。反力は §3 に書いた3〜4本の式を代入するだけで確定する。反復も収束判定も浮動小数の累積誤差も発生しない。教科書の公表値(3ヒンジ鉛直荷重のみで H = wL²/(8H)、隅角部 M = wL²/8、門型ピン・ローラーで梁中央 M = wL²/8)と、そのまま照合できる。不静定の骨組は最初から対象外と割り切り、両端固定の門型や多層多スパンは扱わない。守備範囲を静定3形式に限定したからこそ、この単純さが手に入っている。

符号規約を「内側引張正」に決めた理由

実装で一番の設計判断がここだった。候補は3つあった。(a) 部材ごとに局所座標を取って時計回り正にする、(b) 梁だけ下側引張正にして柱は別扱い、(c) 骨組全体で内側引張正に統一する。

(a) は数学的にはきれいだが、隅角部で局所座標の向きが変わるため、柱頭と梁端で同じ現象が違う符号になる。使う側にとっては最悪だ。(b) は梁の直感には合うが、柱の符号を決める根拠がなく、結局そのつど考えることになる。

採ったのは (c) だ。左柱の内側(+x 面)・梁の下面・右柱の内側(−x 面)は、隅角部でつながった1本の連続した繊維になっている。この繊維が伸びる(引張になる)向きを正と定義すれば、部材が変わっても基準面が途切れない。結果として2つの利得が同時に手に入る。

1つめ。柱頭モーメントと梁端モーメントが、符号ごと必ず一致する。左柱頭と梁左端、右柱頭と梁右端が、常に同じ数値になる。これは規約が正しく効いていれば恒等的に成り立つ関係なので、そのまま実装の自己検査に使える。開発時にはこの一致を許容差 1e-9 のアサーションとして仕込み、検証した14ケースすべてで成立することを確認した。符号のバグは計算結果を見ても気づきにくいが、隅角部の不一致という形なら必ず表面化する。

2つめ。「M図は引張側に描く」という建築士試験の作図ルールが、「正なら内側(梁は下側)、負なら外側(梁は上側)」という機械的な描画規則に落ちる。描画コードは符号を見てオフセットの向きを反転するだけで済み、部材ごとの場合分けが消える。冒頭に書いた「向きが逆で×」という問題が、実装レベルでも規約1本で解決している。

なお支点反力だけは別規約だ。HA・HB は右向き正、VA・VB は上向き正、柱脚固定モーメント MA は反時計回り正。座標軸に素直な定義で、部材端モーメントの規約とは意味が違う。L形片持ちのケース6で MA = +56 と柱脚の部材端モーメント −56 が併記されるのはこのためで、UI では両ブロックの見出しに規約を明記している。

実装フロー — 反力さえ解ければ、断面力の式は3形式で共通

反力が決まったあとの断面力の式は、3形式で完全に共通にできる。門型2形式ではピン支点なので MA = 0 になり、L形の式がそのまま流用できるからだ。分岐は反力を求める1箇所だけに閉じ込めてある。

// 1. 単位換算(mm → m)。モーメントを kN·m で出すため最初に揃える
const L = spanMm / 1000;
const H = heightMm / 1000;

// 2. 形式ごとの分岐は「反力を解く」ここだけ(式は §3 参照)
let HA: number, VA: number, HB: number, VB: number, MA: number;
switch (frameType) {
  case "portal-pin-roller": /* ΣH・ΣM・ΣV の3本から直接解く          */ break;
  case "portal-3hinge":     /* ヒンジ条件を1本足して HA を先に確定する */ break;
  case "l-cantilever":      /* 柱脚固定なので未知数に MA が入る        */ break;
}

// 3. 断面力は3形式共通(内側引張正)
const momentColLeft  = (y: number) => -MA - y * HA;        // y=0が柱脚, y=Hが柱頭
const momentColRight = (y: number) => HB * y;              // 右柱が無い形式では全区間0
const momentBeam     = (x: number) => -MA - H * HA + x * VA - w * x * x / 2;

// 4. 隅角部の連続性チェック(開発時アサーション)
//    momentColLeft(H) === momentBeam(0) , momentColRight(H) === momentBeam(L)

// 5. 軸力・せん断(引張正・圧縮負)
//    左柱N = -VA, 右柱N = -VB, 梁N = HB
//    左柱Q = -HA, 右柱Q = -HB, 梁Q(x) = VA - w*x

梁の M は x の2次関数なので、区間内に極値を持つ。頂点は dM/dx = VA − w·x = 0 より x* = VA/w。ただし w = 0 のときは 0 除算になるので、w > 0 を確認してから候補に入れる。さらに x* がスパンの外に出るケース(ケース7の x* = −10m)があるため、0 < x* < L を満たすときだけ候補に挿入する。柱も梁も M は線形または2次なので、端点・頂点・中央だけを見れば区間内の最大を取りこぼすことはない。

走査順とタイブレーク

全体の最大モーメントは、6つの候補を決まった順で走査して選ぶ。

左柱脚 → 左隅角部 → 右柱脚 → 右隅角部 → 梁中央 → 梁内最大点

更新は「絶対値が厳密に大きいときだけ」とした。同値なら先に現れた候補が残る。この決め方が効くのがケース4で、3ヒンジに鉛直荷重だけを載せると4隅すべてが 96kN·m の同値になる。厳密比較にしておかないと、浮動小数の丸め残差でどの隅が選ばれるかが実行のたびに揺れかねない。表示は「左隅角部」に固定され、他の隅も同値であることは部材端モーメント一覧で読者が確認できる。

もうひとつ、梁端は走査候補に入れていない。梁左端は左隅角部と、梁右端は右隅角部と恒等的に同値なので、両方を候補にすると同値タイブレークでラベルが「梁左端」と「左隅角部」の間で揺れてしまう。隅角部として1回だけ数える。

計算結果の絶対値が 1e-9 未満なら厳密に 0 へスナップする処理も入れてある。浮動小数の残差で -0.00 と表示されるのを防ぐためで、反力・断面力すべてに適用している。荷重が両方 0 のときは Mmax = 0 とし、発生位置も引張側も「—」を返してエラーにはしない。

計算例 — ケース4(3ヒンジ・L = 8m、H = 4m、w = 12kN/m)を手で追う

§3 で立てた式に数値を入れていく。

[1] 単位換算
    L = 8000mm → 8m ,  H = 4000mm → 4m ,  w = 12kN/m ,  P = 0kN

[2] 鉛直反力(門型と共通の式)
    VB = wL/2 + PH/L = 12×8/2 + 0 = 48kN
    VA = wL − VB     = 96 − 48    = 48kN          … 対称なので当然半分ずつ

[3] 水平反力(ヒンジ条件から)
    HA = wL²/(8H) − P/2 = 12×64/(8×4) − 0 = 768/32 = 24kN
    HB = −P − HA        = 0 − 24            = −24kN
    MA = 0(ピン支点)

[4] 部材端モーメント(内側引張正・共通式に代入)
    左柱脚   M(0) = −MA − 0×HA        = 0
    左柱頭   M(H) = −MA − H×HA        = −4×24        = −96kN·m
    梁左端   M(0) = −MA − H×HA + 0    = −96kN·m      ← 左柱頭と一致 ✓
    梁中央   M(L/2) = −96 + 4×48 − 12×16/2 = −96 + 192 − 96 = 0kN·m ← ヒンジ ✓
    梁右端   M(L) = −96 + 8×48 − 12×64/2 = −96 + 384 − 384 = −96kN·m
    右柱頭   M(H) = HB×H = −24×4 = −96kN·m          ← 梁右端と一致 ✓
    右柱脚   M(0) = 0

[5] 梁内の頂点
    x* = VA/w = 48/12 = 4.0m(=スパン中央)→ そこでの M は 0 なので最大にならない

[6] 走査して Mmax を決める
    候補の絶対値: 0, 96, 0, 96, 0, 96 → 最大 96、厳密比較で先に来た「左隅角部」を採用
    符号が負 → 外側引張

[7] 軸力・せん断
    左柱N = −VA = −48kN(圧縮),  右柱N = −VB = −48kN(圧縮)
    梁N   = HB  = −24kN(圧縮:スラストを梁が突っ張っている)
    左柱Q = −HA = −24kN ,  梁Q(0) = VA = 48kN ,  梁Q(L) = VA − wL = −48kN

[4] のステップで、左柱頭と梁左端、右柱頭と梁右端がそれぞれ独立の式から計算されているのに同じ −96kN·m になっている点に注目してほしい。これが内側引張正という規約の効き目で、実装ではこの一致をアサーションとして毎ケース確認している。そして梁中央がヒンジ条件どおり厳密に 0 になることも、この計算が正しいことの裏づけになる。手計算で3ヒンジを解いたときは、まずこの2点を確かめるといい。

他の構造計算ツールとの違い — 静定ラーメンを解いて引張側まで返す

単純梁や片持ち梁のSFD・BMDを描いてくれるページは、日本語のWebにもいくつもある。ところが柱と梁がつながった骨組となると、検索しても自動計算してくれるものが出てこない。上位に並ぶのは大学・高専の講義PDFと、建築士試験の解説記事ばかり。どちらも読んで理解するための教材であって、自分の寸法を入れて答えを返してくれるものではなかった。数値をひとつ確かめたいだけなのに、毎回スキャンされた板書を開くことになる。

本ツールが軸に据えたのはM図の向きだ。値そのものは手計算でも出せるが、試験でも現場でも効いてくるのは「どちらの面が引張になるか」のほう。そこで作図ルールどおり引張側に描画し、最大曲げの発生位置に「内側引張」「外側引張」「下側引張」というラベルを必ず添えている。たとえば3ヒンジラーメンにL8m・H4m・w12kN/mの鉛直荷重だけをかけると、左右の隅角部がそろって96kN·mの外側引張になる。一方、門型(左ピン・右ローラー)にL6m・H3m・P20kNの水平力だけをかけたときの左隅角部60kN·mは内側引張だ。同じ「隅角部の曲げ」でも膨らむ側が逆で、鉄筋を入れる側もフランジ補剛が要る側も反対になる。値が合っていても向きが逆なら、答案では×、現場では手戻りになる。

関連ツールとの守備範囲も書いておく。梁のSFD/BMD全長プロッタは単純梁・片持ち梁を全長にわたって細かく追うためのもので、本ツールは柱が立った骨組そのものを扱う。ここで出るのは断面を決める前の応力なので、H形鋼の断面性能や重量は鋼材断面のコンシェルジュ、長期・短期の荷重ケースの組合せは荷重組合せ検定ツール、変形が納まるかは層間変形角チェッカーへ受け渡す設計にしてある。

豆知識 — 「ラーメン」はドイツ語の額縁

ラーメン構造の語源は Rahmen

柱と梁を剛接合した骨組をラーメンと呼ぶが、これはドイツ語の Rahmen(枠、額縁)から来ている。麺のラーメンとは何の関係もなく、カタカナ表記でたまたま衝突しているだけだ。ドイツ語では Rahmentragwerk(枠の骨組)と言い、明治から大正にかけて構造力学をドイツ語圏から輸入した名残がそのまま用語として残った。英語だと rigid frame、門型に限れば portal frame なので、海外の文献を ramen で検索しても麺しか出てこない(ラーメン構造)。額縁だと思えば形も腑に落ちる。四隅を固めた枠が、面内の力に対して形を保つ仕組み。

日本でラーメン構造が主流になった経緯

1923年の関東大震災のあと、翌1924年の市街地建築物法改正で水平震度0.1の耐震規定が世界に先駆けて導入された。地震の水平力に骨組だけで抵抗する形式として鉄筋コンクリートのラーメンが選ばれ、以後の中低層建築の標準になっていく。壁で抵抗する壁式構造に比べ、開口を自由に取れて間取りを後から変えられるのが決定的だった。オフィスビルの基準階が柱と梁だけで構成されているのはこの流れの延長にある。

3ヒンジが体育館・工場・橋で選ばれるわけ

3ヒンジラーメンやアーチは、静定であること自体が利点になる。静定な構造は支点が多少沈んでも、温度で部材が伸び縮みしても、断面力がまったく変わらない。不静定だと不同沈下や温度差がそのまま二次応力になるので、地盤が均一でない敷地や、屋外で日射を浴びる大スパン屋根では静定形式が有利になる。施工でも、工場で左右半分ずつ作って現場では頂部をピンでつなぐだけ、という段取りに素直に乗る。三ヒンジアーチが19世紀の鉄道橋で好んで使われたのも同じ理屈だ。

M図を引張側に描く国、圧縮側に描く国

日本やドイツの教科書は曲げモーメント図を引張側に描く。一方、英米圏の教材では下に凸のたわみ(sagging)を正とし、軸線の上側に描く流儀が広く使われている。単純梁の中央は下側が引張なのに、図は上に膨らむ。どちらが正しいという話ではなく、Shear and moment diagramにも両方の慣習が並記されている。厄介なのは、同じ骨組を解いても出力の見た目が上下逆になることだ。海外製ソフトや英語の教材を読むときは、まず凡例で描画側の流儀を確かめる癖をつけておきたい。

Tips — 入力を1つだけ動かして挙動を掴む

  • 柱高だけを下げてスラストの効き方を見る: 3ヒンジの水平反力は HA = wL²/(8H) で、柱高Hに反比例しスパンLの2乗で効く。3ヒンジのプリセットを読み込んだら、柱高の欄だけを500mmずつ下げて水平反力の伸び方を追ってみて。屋根を低く抑えるほど基礎が外へ押される量が跳ね上がるのが、数字の並びで体感できる。
  • wを0にしてPだけ残すと地震時の骨格が見える: 等分布荷重を0にして水平荷重だけを入れると、鉛直荷重に埋もれていた水平力の流れだけが残る。同じPでも門型ピン・ローラーと3ヒンジでは負担の分かれ方がまるで違うので、形式を切り替えながら見ると分担の差が一目で分かる。地震力・風圧力の概算の入口に使える。
  • 形式セレクトだけを切り替えて比べる: プリセットを読み込んだあと、寸法と荷重には触れずラーメン形式だけを変える。プリセット表示は「カスタム」に切り替わるが計算はそのまま続く。同じ骨組・同じ荷重で最大曲げの値も発生位置も入れ替わるので、形式選択が構造にどれだけ効くかを直接比べられる。
  • N図とQ図にも切り替える: M図だけ見て終わりにしない。柱の軸力は普段は圧縮だが、水平力が大きいと引張に転じる。N図で符号を確かめておくと、柱脚が引き抜かれる側かどうかを見落とさずに済む。

よくある質問

両端固定の門型ラーメンは解けないのか

柱脚が両方とも固定の門型は1次不静定なので、本ツールの対象外にしている。未知の反力が左右で水平・鉛直・モーメントの6個あるのに対し、力の釣り合いは3式しかなく、釣り合いだけでは反力が一意に決まらないためだ。解くにはたわみ角法・固定モーメント法・剛性法といった変形を扱う手法が要り、部材のヤング係数と断面二次モーメント(EI)を先に決めておく必要も出てくる。裏返せば、本ツールが扱う3形式は材料も断面も一切使わずに解けるということ。断面を決める前の段階で応力の骨格が掴めるのが静定形式の一番おいしいところだ。多層多スパンのラーメンも同じ理由で対象外にしている。

M図はなぜ引張側に描くのか

図を見た瞬間に補強すべき側が分かるからだ。鉄筋コンクリートで引張に耐えられるのは鉄筋だけなので、主筋はM図が膨らんでいる側へ配置することになる。梁の中央で下に膨らむなら下端筋、隅角部で外へ膨らむなら柱と梁の外側。鉄骨でも事情は同じで、引張側の裏=圧縮側のフランジが横座屈しないかという検討につながる。数値の表だけでは「どちら側」の情報が丸ごと落ちてしまうので、本ツールは最大曲げに「内側引張」「外側引張」「下側引張」のラベルを必ず添え、図と数値が1対1で対応するようにしている。

水平荷重を左向きにしたいときはどうするか

入力できるのは右向きだけだが、左向きにしたければ結果を左右反転して読めばいい。骨組の形状が左右対称なので、水平力の向きを変えるのは全体を鏡に映すのと同じことだ。左支点と右支点の値が入れ替わり、左隅角部の値は右隅角部へ移る。曲げモーメントの大きさも、内側引張/外側引張の別も変わらない。たとえば3ヒンジのL6m・H3m・w10kN/m・P20kNでは最大75kN·mが右隅角部の外側引張として出るが、Pを左向きに考えるならこれを左隅角部と読み替えるだけでいい。

右柱の曲げが0になるのはバグではないのか

門型(左ピン・右ローラー)で水平荷重を入れたときの話なら、それが正しい挙動だ。ローラー支点は水平反力を負担できないため、水平力はすべて左柱を通って左の支点へ流れる。右柱には水平力が回ってこないので、曲げもせん断も生じない。L6m・H3m・w10kN/m・P20kNの標準ケースでも右柱頭・右柱脚のモーメントはどちらも0のままで、最大曲げは梁の中に出る。形式を3ヒンジへ変えると右支点も水平反力を持てるようになり、右柱にも曲げが回り始める。支持形式の性質がそのまま出ているだけで、計算漏れではない。

柱脚固定モーメント MA と部材端モーメントで符号の意味が違うのはなぜ

2つのブロックで別々の規約を使っているためだ。支点反力の欄は座標軸に沿った規約で、水平は右向き正・鉛直は上向き正・柱脚のモーメント MA は反時計回りを正としている。対して部材端モーメントの欄は「ラーメン内側の繊維が引張になる向き」を正としており、こちらはM図をどちら側に描くかと直結する。前者は基礎まわりで力の向きを取り違えないための値、後者は作図と配筋のための値、という役割の違い。混同を避けるため画面上でもそれぞれの見出しに規約を明記してある。M図の膨らむ向きに対応するのは後者だ。

入力した寸法や荷重はどこかに送信される?

一切送信されない。反力の計算から断面力図の描画まで、すべてブラウザ内のJavaScriptで完結している。入力値をサーバーへ送る処理も、保存する処理も持っていない。実案件の寸法や荷重をそのまま打ち込んでも外には出ないので、社内検討の途中でも気兼ねなく使える。ただしページを閉じると入力内容も消える。続きをやるなら同じ値を入れ直すか、「結果をコピー」で反力と部材端モーメントの一覧をテキストとして手元に残しておいて。

まとめ

静定ラーメン 反力・M図ソルバーは、門型(左ピン・右ローラー)・3ヒンジ・L形片持ちの3形式について、スパン・柱高・等分布荷重・水平荷重の4つを入れるだけで、支点反力・部材端モーメント・最大曲げとその発生位置・引張側までを返すツール。M図は引張側に描く作図ルールどおりに描画するので、値の答え合わせと図の向きの確認をひと息で済ませられる。

骨組の応力が出たら、梁のSFD/BMD全長プロッタで梁単体の分布を細かく追い、鋼材断面のコンシェルジュで断面性能と重量を拾い、荷重組合せ検定ツールで長期・短期の組合せを確かめ、層間変形角チェッカーで変形が納まるかを見る、という流れで通しで使ってみてほしい。

ご意見・ご要望はお問い合わせページから。追加してほしいラーメン形式や荷重パターンのリクエストも歓迎している。

M

Mahiro

Mahiro Appの開発者。梁のSFD/BMDプロッタを作ったあと『柱が1本入っただけで手が止まる』のが悔しくて、符号規約を内側引張正に統一してラーメンまで踏み込んだ。隅角部で柱頭Mと梁端Mがぴたりと一致した瞬間が、実装で一番気持ちよかった。

運営者情報を見る

© 2026 静定ラーメン 反力・M図ソルバー