0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

片持ばりに一部等分布荷重で、端部のたわみをsympyのBeamで計算したい。構造力学公式集より

Last updated at Posted at 2025-09-19

オリジナル

・(旧版) P130
 表5.1 片持ばりの公式 7)

sympyで(Beamで)

from sympy import *
from sympy.physics.continuum_mechanics.beam import Beam
var('E,I,p')
var('la,lb,lc',positive=True)
var('RB,MB,x')
def my_Beam(la,lb,lc,E,I,p):
    l=la+lb+lc
    b=Beam(l,E,I)
    b.apply_load(p ,la, 0,la+lb) 
    b.apply_load(RB,l ,-1)   
    b.apply_load(MB,l ,-2)
    b.bc_deflection.append((l,0))
    b.bc_slope     .append((l,0))
    b.solve_for_reaction_loads(RB,MB)
    return b
def my_Sakuzu(la,lb,lc,E,I,p):
    l=la+lb+lc
    b=Beam(l,E,I)
    b.apply_load(p ,la, 0,la+lb) 
    b.apply_load(RB,l ,-1)   
    b.apply_load(MB,l ,-2)
    b.bc_deflection.append((l,0))
    b.bc_slope     .append((l,0))
    b.solve_for_reaction_loads(RB,MB)
    b.plot_shear_force()
    b.plot_bending_moment()
    b.remove_load(RB,l,-1)
    b.remove_load(MB,l,-2)
    b.apply_support(l,'fixed')
    b.draw().show()  
    return
b  =my_Beam(la,lb,lc,E,I,p)
rep={x:0}
print("#",-b.slope()     .subs(rep)) 
print("#",-b.deflection().subs(rep)) 
# -(-lb**3*p - 3*lb**2*lc*p - 3*lb*lc**2*p)/(6*E*I)
# -(4*la*lb**3*p + 12*la*lb**2*lc*p + 12*la*lb*lc**2*p + 3*lb**4*p + 12*lb**3*lc*p + 18*lb**2*lc**2*p + 8*lb*lc**3*p)/(24*E*I)
# 
my_Sakuzu(   2, 3, 5,1,1,1)

・求解は左端x=0のたわみです。l=la+lb+lc
111.png

222.png

333.png

sympyで(カスティリアノの定理で)

(省略)

いつもの? sympyの実行環境と 参考のおすすめです。

(テンプレート)

いつもと違うおすすめです。

・(いつもと違うおすすめです。)Youtube
 ??? Qiitaの途中リンクの調子が悪いです。

sympyのdoc

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?