オリジナル
・(旧版) 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)
sympyで(カスティリアノの定理で)
(省略)
いつもの? sympyの実行環境と 参考のおすすめです。
いつもと違うおすすめです。
・(いつもと違うおすすめです。)Youtube
??? Qiitaの途中リンクの調子が悪いです。
sympyのdoc


