Masassiah Blog

現役サラリーマンのスキルアップのための読書まとめ

集中荷重を受ける単純支持はりの SFD,BMD,たわみ曲線の計算・グラフ化

はじめに

集中荷重を受ける単純支持はりのせん断力,曲げモーメント,たわみを MATLAB*1GNU Octave*2 により計算し,SFD,BMD,たわみ曲線をグラフ化する方法について解説する。

集中荷重を受ける単純支持はりの SFD,BMD,たわみ曲線の計算・グラフ化

集中荷重を受ける単純支持はりの SFD,BMD,たわみ曲線の計算・グラフ化

概要

集中荷重*3(concentrated load)を受ける単純支持はり*4(simply supported beam)の

  • せん断力(shearing force)
  • 曲げモーメント(bending moment)
  • たわみ(deflection)

を計算する MATLABOctave プログラムを作成する。

MATLABOctave で計算した結果に基づき,

  • せん断力図(SFD : Shearing Force Diagram)
  • 曲げモーメント図(BMD : Bending Moment Diagram)
  • たわみ曲線(deflection curve)

をグラフとして出力する。

ここで,集中荷重を受ける単純支持はりのモデルを下図に示す。

単純支持はりの長さは l [mm],集中荷重の大きさは P [N] で,はりの支持点 A から a [mm],はりの支持点 B から b [mm] の位置に加えられる。

はりの支持点 A の反力は RA [N],支持点 B の反力は RB [N] とする。

なお,はりの支持点 A を x 軸と y 軸の原点とし,支持点 A から支持点 B へ向かって x 軸,支持点 A から鉛直下向きに向かって y 軸を考える。

集中荷重をうける単純支持はり

集中荷重をうける単純支持はり

 

集中荷重を受ける単純支持はりのせん断力,曲げモーメント,たわみを求める計算過程,計算により得られたせん断力図,曲げモーメント,たわみ曲線については,[わかりやすい・詳細]等分布荷重を受ける単純支持はりのたわみMasassiah Web Site】でわかりやすく,そして詳細に解説する。

masassiah.web.fc2.com

プログラムのコード

集中荷重を受ける単純支持はりの SFD,BMD,たわみ曲線を計算し,グラフ化する MATLAB(または Octave)のプログラムのコードを以下に示す。

% パラメータの設定
xx=0:1:1000;
ll=1000;  %[mm] 単純支持はりの長さ l
aa=600;   %[mm] 単純支持はりの左端から集中荷重が働く位置までの距離 a
bb=ll-aa; %[mm]  単純支持はりの右端から集中荷重が働く位置までの距離 b
PP=50;    %[N] 集中荷重の大きさ P
EE=200000;%[N/mm2] 縦弾性係数 E
Iz=3000;  %[mm4] 断面二次モーメント Iz

Qx=zeros(1,1001);% せん断力 [N]
Mx=zeros(1,1001);% 曲げモーメント [N・mm]
yx=zeros(1,1001);% たわみ [mm]

%反力の計算
RA=bb/ll*PP;
RB=aa/ll*PP;

%せん断力,曲げモーメント,たわみの計算
for x1=0:1:1000;
  if x1 < aa
    Qx(1,x1+1)=RA;
    Mx(1,x1+1)=RA*x1;
    yx(1,x1+1)=PP*bb/6/EE/Iz/ll*(-x1^3+aa*(aa+2*bb)*x1);
  else
    Qx(1,x1+1)=-aa/ll*PP;
    Mx(1,x1+1)=aa/ll*(ll-x1)*PP;
    yx(1,x1+1)=PP*aa/6/EE/Iz/ll*(-(ll-x1)^3+bb*(2*aa+bb)*(ll-x1));
  end
end

# せん断力図
figure(1);plot(xx,Qx);
xlabel('x [mm]');ylabel('shearing force [N]');
# 曲げモーメント図
figure(2);plot(xx,Mx);
xlabel('x [mm]');ylabel('bending moment [N・mm]');
# たわみ曲線
figure(3);plot(xx,yx);
xlabel('x [mm]');ylabel('y [mm]');

設定条件

プログラムでは,集中荷重 50 [N] を受ける長さ 1,000 [mm] の単純支持はりを想定する。

集中荷重は,単純支持はりの左端から 600 [mm] で受ける条件で,せん断力,曲げモーメント,たわみを計算する。

なお,縦弾性係数は 200,000 [N/mm2],断面二次モーメントは 3,000 [mm4] を想定した。

グラフの説明

本プログラムで作成した集中荷重を受ける単純支持はりの SFD,BMD,たわみ曲線のグラフを以下に示す。

せん断力図(BMD)

集中荷重を受ける単純支持はりのせん断力図(SFD)を下図に示す。
単純支持はりの左端(x = 0 [mm])から荷重点(x = 600 [mm])までは正,荷重点(x = 600 [mm])から単純支持はりの右端(x = 1,000 [mm])までは負となる。

集中荷重を受ける単純支持はりの SFD

集中荷重を受ける単純支持はりの SFD

曲げモーメント図(BMD)

集中荷重を受ける単純支持はりの曲げモーメント図(BMD)を下図に示す。
単純支持はりの左端(x = 0 [mm])から荷重点(x = 600 [mm])までは直線上昇,荷重点(x = 600 [mm])から単純支持はりの右端(x = 1,000 [mm])までは直線下降する。

集中荷重を受ける単純支持はりの BMD

集中荷重を受ける単純支持はりの BMD

たわみ曲線

集中荷重を受ける単純支持はりのたわみ曲線を下図に示す。
たわみ曲線は三次関数で表される。
なお,本ケースの場合,たわみが最大となるのは荷重点(x = 600 [mm])ではない。

集中荷重を受ける単純支持はりのたわみ曲線

集中荷重を受ける単純支持はりのたわみ曲線

まとめ

以上のように MATLAB または Octave を使って,集中荷重を受ける単純支持はりの SFD,BMD,たわみ曲線の計算,グラフ化が行える。

やさしく学べる材料力学(第3版)

やさしく学べる材料力学(第3版)

 

はじめてのMATLAB

はじめてのMATLAB

 

*1:MATLAB は,アメリカ合衆国MathWorks 社が開発している数値解析ソフトウェアであり,その中で使うプログラミング言語の名称でもある。MATLAB は数値線形代数,関数とデータの可視化,アルゴリズム開発,グラフィカルインターフェイスや他言語とのインターフェイスの機能を有している。

*2:GNU Octave主に数値解析を目的とした高レベルプログラミング言語である。Octave は線形ならびに非線形問題を数値的に解くためのコマンドライン・インタフェースを提供する。また,MATLAB とほぼ互換性のある,数値実験を行うためのプログラミング言語として使用することができる。

*3:部材の 1 点に集中して作用する荷重。

*4:実際には回転することを許容している支持方法で,ピンで支持されている構造。