梁のSFD/BMDを手書きした夜、荷重位置のジャンプを描き忘れて真っ赤に添削された話
材料力学の課題で「単純梁に集中荷重、SFDとBMDを描け」と出されたあの夜。定規でスパンを引き、反力を計算して、V(x)の段差を省略して滑らかに繋いでしまった。翌週返ってきたレポートは赤ペンで「集中荷重位置はジャンプ!」と大きく書かれていた。梁のせん断力と曲げモーメントの図は、手書きだとどうしても雑になりがち。数値は合っているのに、図の表現で落とされる——そんな経験、工学系なら誰にでもあるよね。
このツールは、そのときの悔しさを出発点に作った。スパンと支持条件と荷重を入力するだけで、せん断力図(SFD)と曲げモーメント図(BMD)を梁全長にわたってSVGで一発描画する。荷重位置の不連続、等分布荷重による2次曲線、集中モーメントによるジャンプ——教科書が「こう描け」と指示する作法を、自動で正確に再現する。大学の課題検算はもちろん、木造住宅の梁選定や機械フレームの初期検討にも使える、日本語ベースの材料力学ビジュアライザーだ。
なぜ作ったのか——既存ツールの隙間を埋めたくて
このサイトには既に /beam-strength(梁の安全審判員)という梁の強度計算ツールがある。ただ、あれは「曲げ応力・たわみ・安全率」を最大値で一発出すツールで、梁全長の挙動は可視化されない。教科書演習でよく出る「梁のSFDとBMDを全長にわたって図示せよ」という問題には対応できていなかった。
加えて /vector-composition-2d(2D力合成)は1点に作用する力の合力合成に特化していて、梁という「線状構造」の話とは別領域。大学の材料力学と構造力学の橋渡しをする、もう一段専門的なツールが必要だった。
英語圏には SkyCiv や Engineering ToolBox などのオンライン計算機があるけれど、どれもPC前提で入力欄が十数個並ぶ重量級UIか、広告でレイアウトが崩れたフォームばかり。日本語で「スパンを入れて荷重を3つ追加したら即SFD/BMDが出る」という体験は、実はどこにも無かった。
特に欲しかったのが、荷重位置での不連続の正確な描画だ。集中荷重の位置ではせん断力V(x)が縦にジャンプする。集中モーメントの位置では曲げモーメントM(x)がジャンプする。安直に500点等間隔サンプリングしてそのまま線を引くと、ジャンプが斜線でつながってしまって教科書と違う見た目になる。このツールは荷重位置の前後に微小オフセット点pStart ± 1e-6を挿入することで、ジャンプを縦線として正しく表現している——これは手書きでよく減点される部分で、自動化する価値が一番高いところだ。
そして、Kindle第2冊として書き進めている「材料力学を最短で理解する」シリーズ第1章で解説しているdM/dx = Vの関係式を、図として直観的に体感できる補助教材にしたい、というのも動機のひとつ。SFDの面積積分がBMDの値になる——この関係を文字で理解するより、ツールで色々な荷重を試して「ああ、本当にそうなってる」と納得するほうが圧倒的に速い。
梁の構造力学、第一原理から
梁とは何か——横に渡した棒に縦の力を受け止めさせる部材
梁(beam)とは、水平方向に渡された棒状の構造部材で、その軸に垂直な方向の荷重を受け止めるものだ。家の2階床を支える木材、橋のメインビーム、機械装置のフレーム——これら全部が梁。基本原理は「細長い棒の両端か片端を支えて、真ん中に乗った荷重を曲げ変形しながら支える」というもの。
梁を理解する上で最初に決まるのが支持条件だ。このツールは3種類に対応している。
- 両端単純支持: 両端が上下方向を拘束する支点(ピン)で支えられている。最もシンプルな静定梁で、反力は2つ(
RA,RB)。 - 片持ち梁(左端固定): 左端が壁に完全に埋め込まれて回転も並進も拘束され、右端は自由。バルコニーの梁がこのタイプ。
- 片持ち梁(右端固定): 上の左右反転版。
せん断力 V(x) と曲げモーメント M(x)——断面で起きている内部力
梁に荷重が載ると、梁のどの位置で切断しても、その断面には2種類の内部力が発生している。
- せん断力
V(x): 断面に平行な、上下方向のずり力。縦方向に「引っ張って切ろうとする」力。 - 曲げモーメント
M(x): 断面を曲げようとする回転力。梁を「凹ます/反らす」向きのトルク。
V(x)とM(x)の値は位置xによって連続的に変化する。その変化を梁全長にわたってプロットしたものがそれぞれせん断力図(SFD: Shear Force Diagram) と曲げモーメント図(BMD: Bending Moment Diagram)。構造力学のあらゆる計算は、このSFDとBMDを出発点にする。詳細は英語版Wikipedia の Shear and moment diagram を参照。
dM/dx = V——SFDとBMDを結ぶ黄金の関係式
実は、SFDとBMDの間には美しい微分関係がある。
dM/dx = V(x)
つまり、曲げモーメントの傾きが、そこでのせん断力に等しい。この関係から、SFDとBMDにはいくつもの性質が導ける。
- SFDが正なら、BMDは増加方向の傾き
- SFDが0になる位置で、BMDは極値(最大曲げモーメント)をとる
- SFDが直線(等分布荷重)なら、BMDは2次曲線(放物線)
- 集中荷重でSFDがジャンプする位置では、BMDの傾きが不連続に変化する(折れ曲がる)
この関係を理解しておくと、自分で手描きしたSFD/BMDの検算ができる。BMDの最大値は、SFDのゼロ交差点か、集中荷重の位置に必ず現れる——これも微分関係から自然に導ける事実だ。
単純梁と片持ち梁の挙動の違い
同じ荷重を載せても、支持条件が違えば内部力の分布は全く異なる。たとえば長さLの梁の中央にPを載せた場合、単純梁なら最大曲げモーメントはPL/4(中央)だけど、片持ち梁の先端にPを載せると固定端でPL——4倍の曲げを受ける。片持ち梁は強度的に不利で、だから同じスパンなら断面を大きくする必要がある。この直観はSFD/BMDを比較してはじめて腹落ちする。
実務での重要性——数字を間違えると現場では何が起きるか
Mmax(最大曲げモーメント)と Vmax(最大せん断力)は、梁断面を選定するときの出発点となる2つの数字だ。この2つを誤ると、現場で何が起きるか。
まず曲げ応力σ = Mmax / Z(Zは断面係数)が許容応力を超えると、梁は曲げ破壊する。木造住宅の2階床梁なら、たわみが基準値を超えて床鳴り・クラック・最悪の場合は抜け落ち。鋼構造の場合は塑性変形による永久曲がり。せん断力Vmaxを甘く見ると、H形鋼のウェブ(縦板部分)がせん断破壊——これは曲げ破壊より危険で、予告なく起きる。
日本の実務では JIS Z 8317 構造計算書の書式に従って計算書を作成することが多く、そこには必ずSFDとBMDの図を添付する。これは自分の計算過程を他の技術者にトレース可能にするためで、図が間違っていたら計算そのものが疑われる。建築基準法施行令 第82条では構造計算ルートが定められていて、鉄骨造の大梁なら保有水平耐力計算時に梁端部の曲げ終局強度を確認する必要がある。そのベースになるのがBMDだ。
BMDの符号反転点(M(x) = 0になる位置)は、たわみ曲線の変曲点に対応する。これは施工時の仮設支保工の配置位置を決めるのにも使う——変曲点直下に支保工を置いてしまうと梁が逆反りして不具合を起こす。
木造住宅のリフォームでは、既存の2階床梁に小屋組から新しい荷重が下りてくるときに断面をチェックする必要がある。このとき「中央集中荷重 P=3000N 相当を追加したらBMDがどう変わるか」を手計算するのは大変で、ツールで瞬時に確認できると判断が格段に速くなる。
機械設計でも、装置フレームの主桁にモーターや可動部の反力が作用するとき、BMDを描かずに「Mmax=wL²/8 で概算」していると、非対称な荷重配置での見落としが起きる。このツールなら複数荷重の重ね合わせを即座に可視化できる。
実務で使うときの注意点として、本ツールは静定梁(単純梁・片持ち梁)のみを対象にしており、両端固定梁や連続梁などの不静定梁は扱えない。本格的な構造設計は日本建築学会の鋼構造設計規準・木質構造設計基準や、建築基準法施行令・同告示の定める計算ルートに従うこと。このツールはあくまで初期検討・学習・検算のためのものだ。
こんな場面で使える
- 大学レポートの検算: 材料力学の演習で「反力・Vmax・Mmax を求めよ」と出されたら、自分の計算後にこのツールで数値を確認。SFD/BMD の図形も課題と見比べできる。
- 一級建築士・構造設計1級の独学: 過去問の梁問題を解いたあとに、荷重条件を入れて正解ルートを追う。パターンを身体で覚えるのに向いている。
- 木造住宅のリフォーム前検討: 既存梁に追加荷重を載せる前に、BMD の最大値がどこに移るかを確認。/beam-strength と併用して断面選定まで繋げられる。
- 機械装置フレームの初期計算: モーター架台・可動部レール・センサー治具などの支持梁を設計する前段で、荷重分布を試行錯誤する。
基本の使い方——3ステップで即プロット
- スパンと支持条件を決める: 梁の長さ
L[mm] を入力し、両端単純支持/片持ち(左固定)/片持ち(右固定)から選ぶ。 - 荷重を追加: 集中荷重(point)・等分布荷重(udl)・集中モーメント(moment)の3種類を最大6件まで追加できる。下向きを正の荷重とする。
- 図と結果を読む: 反力
RA,RB,MA,MBとVmax,Mmaxの値・位置がリアルタイムで更新され、SFD/BMDがSVGで梁全長に描画される。任意断面xを入力すれば、その位置でのV(x)とM(x)も追加表示。
プリセットボタンには「単純梁 中央集中」「単純梁 等分布」「片持ち梁 先端集中」「単純梁+偏心モーメント」の4種類を用意した。まずはプリセットで雰囲気を掴むのがおすすめ。
具体的な使用例——6ケースで挙動を確認
ケース1: 単純梁 中央集中荷重(教科書の定番)
入力: スパン L=4000mm、両端単純支持、中央(x=2000)に集中荷重P=1000N
- 反力:
RA = RB = P/2 = 500 N - 最大せん断力:
Vmax = 500 N@x=0(支点直後) - 最大曲げモーメント:
Mmax = P·L/4 = 1000·4000/4 = 1000000 N·mm@x=2000
解釈: SFDは+500から始まって中央で-500に一段ジャンプし、支点Bまで一定。BMDは0から線形に増えて中央で1MN·mm(尖った三角形の頂点)になり、対称に0へ戻る。教科書公式 Mmax=PL/4 と完全一致。
ケース2: 単純梁 等分布荷重(放物線BMD)
入力: L=4000mm、両端単純支持、全長に等分布 w=1 N/mm
- 反力:
RA = RB = wL/2 = 2000 N Vmax = 2000 N@x=0Mmax = wL²/8 = 1·4000²/8 = 2000000 N·mm@x=2000
解釈: SFDは+2000から-2000へ線形に減少(傾きは-w)、中央でゼロ交差。BMDは中央を頂点とする下に凸の放物線で、頂点値wL²/8は材料力学の基本公式そのもの。
ケース3: 片持ち梁 先端集中荷重(最大曲げは根元)
入力: L=2000mm、左端固定の片持ち、先端(x=2000)にP=500N
- 反力:
RA = P = 500 N、固定端モーメントMA = -P·L = -1000000 N·mm Vmax = 500 N(全長一定)Mmax = 1000000 N·mm@x=0(根元)
解釈: 片持ち梁は全長でせん断力が一定(+500)、BMDは根元で最大の負値、先端で0まで線形減少。単純梁の同条件(L=2000, P=500)だとMmax=PL/4=250000——片持ちはなんと4倍の曲げモーメントを根元で受ける。この差が片持ち梁の断面が大きくなる理由。
ケース4: 単純梁 1/3点集中荷重+任意断面出力(非対称ケース)
入力: L=6000mm、両端単純支持、x=2000(スパンの1/3点)にP=2000N、任意断面 queryX=2000
- 反力:
RA = P·b/L = 2000·4000/6000 ≈ 1333.33 N、RB = P·a/L = 2000·2000/6000 ≈ 666.67 N(a=左側距離、b=右側距離) Vmax = 1333.33 N@x=0Mmax = RA·a = 1333.33·2000 ≈ 2666666.67 N·mm@x=2000queryV = 1333.33 N(x=2000の左極限)、queryM = 2666666.67 N·mm
解釈: 荷重位置が非対称だと反力も非対称になり、Mmaxは荷重位置ちょうどに現れる(SFDのゼロ交差点)。教科書公式 Mmax = Pab/L = 2000·2000·4000/6000 ≈ 2666666.67 と一致。
ケース5: 片持ち梁 等分布荷重(2次曲線が根元で最大)
入力: L=3000mm、左端固定片持ち、全長に w=2 N/mm
- 反力:
RA = wL = 6000 N、MA = -wL²/2 = -9000000 N·mm Vmax = 6000 N@x=0Mmax = wL²/2 = 9000000 N·mm@x=0
解釈: 片持ち梁に等分布荷重がかかると、SFDは根元で+6000、先端で0の線形減少(三角形)。BMDは根元で負の最大-wL²/2、先端で0の2次曲線。単純梁同条件(Mmax=wL²/8=2250000)の4倍の曲げモーメントを根元で受ける。ベランダ梁の設計で断面を盛るのはこのため。
ケース6: 単純梁 等分布+偏心モーメント(BMDジャンプの観察)
入力: L=6000mm、両端単純支持、全長に等分布 w=0.5 N/mm、加えて x=3000 に集中モーメント M0=1000000 N·mm
- UDLの寄与:
RA=RB=wL/2=1500、UDL単独のBMDは中央でwL²/8=2250000 - 偏心モーメントの寄与:
RB_m = M0/L = 166.67(右端は下がる)、RA_m = -166.67(左端は持ち上がる) - 合計反力:
RA = 1500 - 166.67 ≈ 1333.33 N、RB = 1500 + 166.67 ≈ 1666.67 N x=3000の直前:M = RA·3000 - w·3000²/2 = 1333.33·3000 - 2250000 = 1750000 N·mmx=3000の直後:M = 1750000 - M0 = 750000 N·mm(集中モーメントでBMDがM0だけジャンプ)
解釈: BMDは中央で縦に1MN·mmのジャンプを起こす。手書きでこのジャンプを見落とすと左半分だけで計算が終わってしまう——自動描画ならジャンプを漏らさず可視化できる。構造設計の試験でも頻出のトラップ。
仕組み・アルゴリズム——閉形式解+高密度サンプリング
手法の選定: 解析式 vs 数値積分
梁のSFD/BMDを求める方法は大きく2つある。数値積分はダランベールの微分方程式 EI·w''''=q(x) を差分化して解く方法で、不静定梁や可変剛性に強い代わりに、静定梁ではオーバーキル。もう一方の解析式+重ね合わせは、静定梁に限れば閉形式でV(x), M(x)が書けるので、計算が軽くて精度も高い。
本ツールは後者を採用した。理由は(1)静定梁だけをスコープとしていること、(2)500点の評価で描画品質が十分、(3)閉形式なら荷重条件を変えても即座に応答する——の3点。
Step 1: 反力を釣合方程式で決定
静定梁は釣合方程式だけで反力が決まる。単純梁の場合は次の2式。
ΣFy = 0: RA + RB = Σ(下向き荷重の合力)
ΣM_A = 0: RB · L = Σ(A点まわりの全荷重モーメント)
2式2変数でRA, RBが一意に決まる。片持ち梁(左端固定)ならRA = ΣFy、MA = -ΣM_A。右端固定はその鏡像。集中モーメントM0はΣM_AにM0をそのまま加算する(位置に依存しない)。
Step 2: 500点+荷重位置前後点でサンプリング
梁全長を500等分したx座標(0, L/500, 2L/500, ..., L)を基本グリッドとする。これだけだと集中荷重や集中モーメントの位置で不連続を見落とすため、各荷重位置pStartについてpStart - 1e-6とpStart + 1e-6をグリッドに追加挿入する。
const baseXs = range(0, L, 500);
const extraXs = parsedLoads.flatMap(ld =>
ld.type === "udl"
? [ld.pStart, ld.pEnd]
: [ld.pStart - 1e-6, ld.pStart + 1e-6]
);
const xs = dedupeSort([...baseXs, ...extraXs]);
これで集中荷重位置でSFDが縦線、集中モーメント位置でBMDが縦線として正しく描かれる——手書きでは忘れがちな「ジャンプの縦線」を自動で保証する仕組みだ。
Step 3: 各x で V(x), M(x) を重ね合わせ計算
サンプル点ごとに、左端x=0から当該xまでの荷重寄与を累積する。
for (const ld of parsedLoads) {
if (ld.type === "point" && ld.pStart < x) {
V -= ld.mag; // せん断ジャンプ
M -= ld.mag * (x - ld.pStart); // 曲げ線形寄与
} else if (ld.type === "udl" && x > ld.pStart) {
const xEnd = Math.min(x, ld.pEnd);
const len = xEnd - ld.pStart;
const F = ld.mag * len;
const xC = (ld.pStart + xEnd) / 2;
V -= F; // 合力引き算
M -= F * (x - xC); // 合力×重心からの距離
} else if (ld.type === "moment" && ld.pStart < x) {
M -= ld.mag; // 集中モーメントはMだけジャンプ
}
}
UDL区間内ではV(x)は線形、M(x)は2次関数になる——理論通りの形状が、この累積計算で自然に生成される。
Step 4: SVG動的スケールで viewBox を調整
図の縦軸は荷重条件ごとにスケールが変わるため、viewBoxは500点評価後のmax(|V|)とmax(|M|)を基準に動的に決定する。
const yMaxAbs = Math.max(Math.abs(vMax), 1e-6);
const yScale = (height - padTop - padBottom) / 2 / yMaxAbs;
1e-6のフロアは、全荷重ゼロのとき0除算を防ぐガード。これによりスパン長や荷重の大小によらず、常に図が画面いっぱいに収まる。
計算例: ケース6(単純梁+偏心モーメント)のステップバイステップ
L=6000, UDL w=0.5 N/mm 全長, x=3000 に M0=1000000 N·mm。
- 全荷重合計:
ΣFy = 0.5·6000 = 3000 N - A点まわりのモーメント: UDLの寄与は
F·xC = 3000·3000 = 9000000、集中モーメントの寄与はM0 = 1000000。合計ΣM_A = 10000000 - 反力:
RB = ΣM_A / L = 10000000/6000 ≈ 1666.67 N、RA = ΣFy - RB = 3000 - 1666.67 ≈ 1333.33 N x=3000-のM(x):RA·x - w·x²/2 = 1333.33·3000 - 0.5·9000000/2 = 4000000 - 2250000 = 1750000 N·mmx=3000+のM(x):1750000 - M0 = 1750000 - 1000000 = 750000 N·mm- ジャンプ幅:
M0 = 1000000 N·mm(集中モーメントの大きさそのもの)
BMDがちょうどモーメント作用点で1MN·mm縦にジャンプする——微分関係dM/dx=Vから見ても、ジャンプ部分はdx=0でありながらMが有限変化する特異点として説明できる。
他の SFD BMD ツールと並べて見えてくる差
梁のせん断力図・曲げモーメント図を描くツール自体は英語圏に昔からいくつかある。SkyCiv の Free Beam Calculator、Mechanicalc の Beam Analysis、大学研究室が公開している PHP 製の簡易計算機、Excel VBA で配布されているワークブック、それに MDSolids のような学習ソフト。どれも一応 SFD と BMD を描いてくれる。
ただ、実際に触ってみると日本人の設計者・学生には微妙に引っかかる点が多い。PC ブラウザ前提でレイアウトが組まれていて、画面を縦に引き延ばすとフォームが崩れる。荷重入力欄が英語で「Position」「Magnitude」と並ぶだけで、単位系も lbf や kN が混在している。スマホで開くとサイドバーがはみ出して入力欄に指が届かない。無料版は荷重3件までで、残りは有料ログインが必要。こういう「あと一歩で現場で使えそうなのに、結局戻るボタンを押すやつ」ばかりだった。
本ツールはそこを割り切った。最大6荷重までに絞って UI をコンパクトに保ち、スパン・支持条件・荷重リストを縦1列で並べる。入力単位は SI(mm / N / N·mm)で統一。任意断面 queryX を指定すると、その位置での V(x) と M(x) が反力欄の下に追加表示されるので、教科書演習の答え合わせに強い。typical プリセット4種で単純梁中央集中・等分布・片持ち先端・偏心モーメントが1タップで試せる。そして全機能が無料、広告のない日本語 UI、ログイン不要。競合の有料ツールと機能で張り合うのではなく、「教科書演習と現場仮検討の9割をカバーする最短距離」を狙った。
連携面でも差がある。最大曲げモーメント Mmax が出たら、そのまま /beam-strength に数値を持ち込んで断面係数から曲げ応力・安全率を出せる。支点反力を力ベクトルとして分解したいときは /vector-composition-2d に流す。単体ツールで閉じず、梁設計の一連の流れを Web 上で辿れる構成にしている。
SFD BMD の歴史と豆知識
せん断力図・曲げモーメント図は、19世紀後半のヨーロッパで体系化された。最も有名な貢献者がスイスの構造技師 Karl Culmann(カール・クルマン、1821-1881)で、チューリッヒ工科大学(ETH)の教授として「グラフィック静力学(Graphische Statik)」を1866年に刊行した。図学と幾何学で構造の力学問題を解く手法を整理した最初の教科書で、同書の中で力の多角形・索多角形・そして梁のせん断力図・モーメント図の図式解法が詳述されている。
同時代のドイツ人 August Ritter は「Ritter の切断法(Method of Sections)」でトラスの内力を求める手法を1862年に発表し、Culmann のグラフィカル解法と並んで19世紀末の構造力学の双璧となった。コンピュータのない時代、1本の鉛筆と三角定規で橋梁や屋根トラスの設計をしていた技師たちは、方眼紙の上に BMD を引いて、Mmax を定規で測って断面を選んでいた。
面白いのはここからで、梁の運動方程式に慣性項を加えて動的解析するアイデアは、さらに古く18世紀の数学者 Jean le Rond d'Alembert(ダランベール)に遡る。静的に釣り合っていない系でも、仮想的に「慣性力 = −ma」を導入して釣合方程式に組み込めば静力学の枠組みで扱える、という発想。今でも構造動力学の教科書で「ダランベールの原理」として登場する。本ツールは静的な梁だけを扱うが、裏では同じ釣合方程式の系譜に乗っている。
そしてもうひとつ。単純梁・等分布荷重の Mmax = wL²/8 という公式は、19世紀末の構造技師たちの間で「梁計算の常識」として定着した。19世紀初頭はまだ個別の梁ごとに積分を解いていたが、Culmann 世代が典型パターンの公式を一覧表にまとめ、20世紀に入ると構造ポケットブックの見開き1ページに「標準梁公式集」が載るようになった。現代の木造住宅の梁選定でもこの wL²/8 はそのまま使われていて、150年経っても現役の式だ。
使いこなしの Tips
- dM/dx = V を検算に使う: 曲げモーメントの導関数はせん断力。BMD のある位置での傾きを目で読んで、同じ x の SFD の値と一致すればその区間の計算は合っている。逆に符号が合わないときは荷重の向き(下向き正)を疑うとよい。
- Mmax はゼロ交差点か荷重位置に現れる: 分布荷重のみなら SFD がゼロになる点で M は最大。集中荷重が混じると、Mmax はその集中荷重の位置に現れる。プロットを眺めて「どこが山か」を先に予想すると、数値を読むスピードが倍になる。
- 単純梁・等分布は wL²/8 を暗記: w=1 N/mm, L=4000 mm なら Mmax = 1×4000²/8 = 2,000,000 N·mm。暗算で出る式を暗記しておくと、本ツールの出力が1桁ズレたとき即座に気付ける。
- 重ね合わせで7荷重以上を扱う: 本ツールは最大6荷重だが、線形解析なので重畳の原理が成り立つ。3荷重ずつ2回計算して Mmax を足し合わせれば、実質的に6荷重を超えた条件も検討できる。
- queryX で教科書の答え合わせ: 演習問題で「x=1500 mm における曲げモーメントを求めよ」と出たら、queryX に 1500 を入れるだけ。手計算と比較して式の立て方を覚えるループを回すと、材料力学の理解が定着しやすい。
FAQ(梁 SFD BMD ツール 固有の質問)
不静定梁(両端固定・連続梁)はなぜ対応していない?
ver1 は静定梁(両端単純支持・片持ち梁)のみ。不静定梁は未知の反力数が釣合方程式の数を超えるため、たわみの適合条件(両端のたわみ角がゼロ等)や3モーメント法、マトリクス変位法が必要になる。これは入力 UI が一気に重くなるのと、数値積分の精度管理が別物になるので、将来のメジャーバージョンで対応予定。それまでは不静定梁は FEM ソフトか構造計算ソフトを推奨。
たわみ図(w(x) 曲線)は出ないの?
出ない。たわみを計算するには梁のヤング率 E と断面二次モーメント I が必要で、それは断面の話になる。本ツールは荷重と支持条件だけで決まる V(x)・M(x) に特化している。最大たわみの簡易見積もりが欲しい場合は、Mmax を /beam-strength に入力すると断面ごとの曲げ応力と併せて目安を確認できる。
梁断面が変わる(階段梁・テーパー梁)ケースは?
SFD と BMD は断面形状に依存しないので、釣合だけで計算でき、ver1 でも扱える。ただし断面ごとの応力評価は別計算になる。実務では階段梁を「断面が変わる位置で梁を分割し、各区間の Mmax を求める」という手順になるが、本ツールは一様断面前提の描画に統一しているので、各区間を別スパンとして分けて入力するのが現実的。
荷重7件以上を入れたい場合は?
ver1 は最大6件に絞っている。理由は UI の縦方向の圧迫と、スマホでの入力しやすさのトレードオフ。線形解析なので重畳の原理が使える。荷重をグループ分けし、3+3 や 4+3 の2回に分けて計算し、反力と Mmax を代数的に足し合わせれば7件以上でも答えが出る。実務で頻繁に7件以上入るなら、本ツールではなく構造計算ソフトの導入を検討するタイミング。
モーメント荷重の符号はどう決めればいい?
本ツールは「時計回りを正」のまま入力する。偏心モーメント M0 を入れると BMD がその位置で M0 分だけジャンプする(集中モーメントの性質)ので、符号が逆だとジャンプの向きが反対になる。プリセット「単純梁 + 偏心モーメント」を読み込んで実際の BMD を眺めると、符号の感覚がつかみやすい。
まとめ
梁のスパン・支持条件・荷重を入れるだけで、反力・Vmax・Mmax と全長の SFD / BMD が即座に SVG で描ける。教科書演習の答え合わせにも、木造住宅や機械フレームの仮検討にも使える「梁計算の一次ツール」を目指した。最大曲げモーメントが出たら /beam-strength で断面を選び、反力を成分分解したいときは /vector-composition-2d へ持ち込む。梁の力学は一連の流れで押さえるのが近道。気になる点や対応してほしい荷重パターンがあれば、お問い合わせページから気軽に教えてほしい。
不具合や要望があれば、お問い合わせページから気軽に教えて。
Mahiro
Mahiro Appの開発者。大学の材料力学レポートで SFD の荷重ジャンプを描き忘れて再提出になった苦い記憶から、教科書通りの縦ジャンプを自動描画する梁解析ツールを作った。
運営者情報を見る