・モーメント荷重が作用するはり
オリジナル
基本例題6.30 p180<「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。#sympy
???タブレット等で、pdfを開く事ができないかも。???
sympyで
# ver0.1
# 基本例題6.30 P180
from sympy import *
var('l,EIz,a,b,vA,x,z',real=True)
θA = Symbol('θA')
RA = Symbol('RA')
RB = Symbol('RB')
MA = Symbol('MA')
MB = Symbol('MB')
MC = Symbol('MC')
repxl={x:l}
repxz={x:z}
repx0={x:0}
replab={l:a+b}
repabl={a+b:l}
repθA0={θA:0}
repvA0={vA:0}
zax=(z,a,x)
z0x=(z,0,x)
MAC=MA+RA*x ;print("# MAC =",MAC)
MCB=MA+RA*x-MC ;print("# MCB =",MCB)
#
θCB=θA-1/EIz*integrate( MA .subs(repxz),z0x) \
-1/EIz*integrate( (RA*x) .subs(repxz),z0x) \
-1/EIz*integrate( -MC .subs(repxz),zax).factor() ;print("# θCB =",θCB)
vCB=vA- integrate( -θA .subs(repxz),z0x) \
-1/EIz*integrate( (MA*x) .subs(repxz),z0x) \
-1/EIz*integrate( (RA*x**2/2).subs(repxz),z0x) \
-1/EIz*integrate( -MC*(x-a) .subs(repxz),zax).factor() ;print("# vCB =",vCB);print()
θCB=θCB.subs(repθA0)
vCB=vCB.subs(repθA0).subs(repvA0)
#
sol=solve([θCB.subs(repxl),vCB.subs(repxl)],[RA,MA]) #;print("# sol =",sol)
RA_ans =sol[RA].factor();RA_ans=numer(RA_ans).subs(replab) / denom(RA_ans) ;print("# RA =",RA_ans)
MA_ans =sol[MA].factor();MA_ans=numer(MA_ans).subs(replab) / denom(MA_ans) ;print("# MA =",MA_ans)
RB_ans =-RA_ans ;print("# RB =",RB_ans)
MB_ans=(MA_ans+RA_ans*x-MC).subs( repxl ).factor() #;print("# MB =",MB_ans)
MB_ans= numer(MB_ans).subs(replab).factor() / denom(MB_ans) ;print("# MB =",MB_ans)
# MAC = MA + RA*x
# MCB = MA - MC + RA*x
# θCB = θA - MA*x/EIz + MC*(-a + x)/EIz - RA*x**2/(2*EIz)
# vCB = vA + x*θA - MA*x**2/(2*EIz) + MC*(-a + x)**2/(2*EIz) - RA*x**3/(6*EIz)
# RA = 6*MC*a*b/l**3
# MA = -MC*b*(2*a - b)/l**2
# RB = -6*MC*a*b/l**3
# MB = -MC*a*(a - 2*b)/l**2
いつもの? sympyの実行環境と 参考のおすすめです。
(テンプレート)
いつもの? sympyの実行環境と 参考のおすすめです。
いつもと違うおすすめです。
参考文献
>一部に等分布荷重を受ける単純支持はり
>JSME p89
>単純支持ばり 7)
>構造力学公式集 p136