Python で等分布荷重を受ける片持ちはりのたわみを計算

等分布荷重を受ける片持ちはりのせん断力,曲げモーメントおよびたわみを Python で計算し,プロットする。

検討モデル

等分布荷重を受ける片持はり(cantilever)のせん断力(shearing force),曲げモーメント(bending moment)およびたわみ(deflection)を検討するモデルを下図に示す。片持はりは,回転も移動もできない固定支点(fixed support)で支持される。

図 等分布荷重を受ける片持ちはり

はりの先端 を xy 座標の原点とし,x については,固定支持方向を正,y については,鉛直下向きを正とする。また,はりの長さは l ( = 1,000 [mm])とする。想定する荷重 w(x) は,単位長さ当たり q (= 0.1 [N/m]) の等分布荷重とする。

Python コード

等分布荷重を受ける片持ちはりのせん断力,曲げモーメントおよびたわみを計算,プロットする Python コードを紹介する。

ライブラリ読み込み

計算,プロットに必要なライブラリを読み込む。

import numpy as np
import matplotlib.pyplot as plt

定数の定義

計算に必要な定数を定義する。

beam_length = 1000      # [mm] 単純支持はりの長さ
dx = beam_length / 1000 # [mm] 単純支持はりの x 軸の粒度
distributed_load = 0.1  # [N/mm] 等分布荷重
youngs_modulus = 200000 # [N/mm] 縦弾性係数
Iz = 3000               # [mm^4] 断面二次モーメント

せん断力,曲げモーメント,たわみを計算する関数

せん断力 (Qx),曲げモーメント (Mx),たわみ (yy) を計算する関数を定義する。

def calculate_values(xx, beam_length, distributed_load, youngs_modulus, Iz):
    Qx = - distributed_load * xx
    Mx = - distributed_load / 2 * xx**2
    yy = distributed_load / 24/ youngs_modulus / Iz * (xx**4 - 4 * beam_length**3 * xx + 3 * beam_length**4)
    return Qx, Mx, yy

プロット関数

プロット関数を定義する。

def plot_graph(x, y, xlabel, ylabel, title, filename, flag):
    plt.figure()
    plt.plot(x, y, label=title)
    plt.grid(True)
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.xlim([min(x), max(x)])
    plt.legend()
    if flag == False:
        plt.gca().invert_yaxis()
    plt.savefig(filename, dpi=300)
    plt.show()

x 軸の定義~描画まで

x 軸の定義,せん断力,曲げモーメント,たわみの計算,プロット範囲の定義を行い,せん断力図 (SFD),曲げモーメント図 (BMD),たわみを描画する。

# x軸の定義
xx = np.arange(0, beam_length + dx, dx)
# せん断力、曲げモーメント、たわみの計算
Qx, Mx, yy = calculate_values(xx, beam_length, distributed_load, youngs_modulus, Iz)
# プロット範囲の定義
xmin, xmax = min(xx), max(xx)
# せん断力図 (SFD) の描画
plot_graph(xx, Qx, 'x [mm]', 'Shearing Force [N]', 'Shearing Force', "SFD.png", True)
# 曲げモーメント図 (BMD) の描画
plot_graph(xx, Mx, 'x [mm]', 'Bending Moment [Nmm]', 'Bending Moment', "BMD.png", True)
# たわみ図の描画
plot_graph(xx, yy, 'x [mm]', 'Deflection [mm]', 'Deflection', "deflection_curve.png", False)

描画した結果

描画したせん断力図 (SFD),曲げモーメント図 (BMD),たわみを以下に示す。

せん断力図 (SFD)

せん断力図 (SFD : Shearing Force Diagram) を下図に示す。

等分布荷重を受ける片持ちはりのせん断力は,単純減少する一次関数で表される。最大せん断力は固定端(x=l)で生じ,その大きさは -100 [N] となる。

図 等分布荷重を受ける片持ちはりのせん断力図 (SFD)

曲げモーメント

曲げモーメント図(BMD:Bending Moment Diagram)を下図に示す。

等分布荷重を受ける片持ちはりの曲げモーメントは,単純減少する二次関数で表される。最大曲げモーメントは固定端(x=l)で生じ,その大きさは -50,000 [N·m] である。

図 等分布荷重を受ける片持ちはりの曲げモーメント図 (BMD)

たわみ

たわみ曲線を下図に示す(y 軸を反転させている)。

等分布荷重を受ける片持ちはりのたわみ曲線は,単純減少する四次関数で表される。たわみは,x=0 のとき最大となり,その大きさは 20.8 [mm] である。

図 等分布荷重を受ける片持ちはりのたわみ

参考文献

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です