・申し訳ありません。sympyのBeamができていません。数をこなして戻ってきます。
・SLOPE と BMDがでました。他
オリジナル
基本例題4.18 p97<「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。#sympy
???タブレット等で、pdfを開く事ができないかも。???
sympyで。微分で(オリジナル 様の方法です。)
・ver0.1 基本例題4.18 P97
# ver0.1 基本例題4.18 P97
from sympy import *
from decimal import Decimal, ROUND_HALF_UP
var('FAC,x,a,b,c,MAC,FCB,P,MCB,l,RB',real=True)
var('P1,P2' ,real=True)
RA = Symbol('RA')
def myRound1(x, d=1):
p = Decimal(str(x)).quantize(Decimal(str(1/10**d)), rounding=ROUND_HALF_UP)
p = float(p)
return p
MAC=RA*x ;print("# MAC =",MAC)
MCD=RA*x-P1*(x-a) ;print("# MCB =",MCB)
MDB=RA*x-P1*(x-a)-P2*(x-a-b) ;print("# MDB =",MDB)
FAC=diff(MAC,x) ;print("# FAC =",FAC)
FCD=diff(MCD,x) ;print("# FCD =",FCD)
FDB=diff(MDB,x) ;print("# FDB =",FDB)
RA =solve(Eq(MDB.subs({x:a+b+c}),0),RA)[0] ;print("# RA =",RA)
print()
rep={a:0.2,b:0.5,c:0.3,P1:200,P2:400}
print("# RA =",myRound1(RA.subs(rep)))
# MAC = RA*x
# MCB = MCB
# MDB = -P1*(-a + x) - P2*(-a - b + x) + RA*x
# FAC = RA
# FCD = -P1 + RA
# FDB = -P1 - P2 + RA
# RA = (P1*b + P1*c + P2*c)/(a + b + c)
# RA = 280.0
sympyのBeamで
・ver0.2 基本例題4.18 P97
??? 以下はエラーです。
(1)SFDで、...ValueError: value of A was not passed.
(2)計算と作図が、同時にできませんでした。?b2にしてもだめでした。
# ver0.2 基本例題4.18 P97
# ??? 以下はエラーです。
from sympy import *
from decimal import Decimal, ROUND_HALF_UP
from sympy.physics.continuum_mechanics.beam import Beam
from sympy import symbols
E,I,P=symbols('E,I,P')
R1,M1=symbols('R1,M1')
R2,M2=symbols('R2,M2')
var(' P1, P2, la, lb, lc')
var('myP1,myP2,myla,mylb,mylc')
def myRound1(x, d=1):
p = Decimal(str(x)).quantize(Decimal(str(1/10**d)), rounding=ROUND_HALF_UP)
p = float(p)
return p
def myBeam_Tanjun_P1P2_reaction_loads(l,E,I,P1,P2,la,lb):
b=Beam(l,E,I)
b.apply_load(R1,0 ,-1)
b.apply_load(R2,l ,-1)
b.apply_load(P1,la ,-1)
b.apply_load(P2,la+lb,-1)
b.solve_for_reaction_loads(R1,R2)
R1R2=b.reaction_loads
return R1R2[R1],R1R2[R2]
def myBeam_Tanjun_P1P2_Sakuzu (l,E,I,P1,P2,la,lb):
b2=Beam(l,E,I)
b2.apply_load(R1,0 ,-1)
b2.apply_load(R2,l ,-1)
b2.apply_load(P1,la ,-1)
b2.apply_load(P2,la+lb,-1)
b2.solve_for_reaction_loads(R1,R2)
b2.bc_deflection = [(0, 0), (l, 0)]
b2.plot_slope()
b2.plot_bending_moment()
b2.plot_shear_stress()
return 0
# --------------------------------------------------------------------------------------------------------------------
# R1,R2=myBeam_Tanjun_P1P2_reaction_loads(myla+mylb+mylc,E,I,myP1,myP2,myla,mylb)
# myla,mylb,mylc=0.2,0.5,0.3
# R1,R2=myBeam_Tanjun_P1P2_reaction_loads(myla+mylb+mylc,E,I,myP1,myP2,myla,mylb)
# myP1,myP2,myla,mylb,mylc=200,400,0.2,0.5,0.3
# R1,R2=myBeam_Tanjun_P1P2_reaction_loads(myla+mylb+mylc,E,I,myP1,myP2,myla,mylb);print ("#",myRound1(R1),myRound1(R2))
# --------------------------------------------------------------------------------------------------------------------
# myBeam_Tanjun_P1P2_Sakuzu (myla+mylb+mylc,E,I,myP1,myP2,myla,mylb)
E,I,myP1,myP2,myla,mylb,mylc=200*(10**9),400*(10**6),200,400,0.2,0.5,0.3
myBeam_Tanjun_P1P2_Sakuzu (myla+mylb+mylc,E,I,myP1,myP2,myla,mylb)
??? SFD
(勉強中) Mathematicaで
(勉強中) MATLAB 追加のオプションSymbolic Math Toolbox で
いつもの? sympyの実行環境と 参考のおすすめです。
いつもと違うおすすめです。
参考文献
>一部に等分布荷重を受ける単純支持はり
>JSME p89
>片持ちばり 1)
>構造力学公式集 表5.1 片持ちばりの公式 p128