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?

overhang beam はりの応力とSFD,BMD 基本例題4.19 P97 「材料力学演習(20221021)」をsympyでやってみたい。

Last updated at Posted at 2024-11-13

張り出し梁
・申し訳ありません。sympyのBeamができていません。数をこなして戻ってきます。
・SlopeE と BMDがでました。他

オリジナル

基本例題4.19 p97(頁下)「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。#sympy
          ???タブレット等で、pdfを開く事ができないかも。??? 

sympyで。微分で(オリジナル 様の方法です。)

・ver0.1 基本例題4.19 P97

# ver0.1 基本例題4.19 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('P'                             ,real=True)
def myRound1(x, d=1):
    p = Decimal(str(x)).quantize(Decimal(str(1/10**d)), rounding=ROUND_HALF_UP)
    p = float(p)
    return p
MAB=RA*x                          ;print("# MAB   =",MAB)
MBC=RA*x+RB*(x-a)                 ;print("# MBC   =",MBC)
FAB=diff(MAB,x)                   ;print("# FAB   =",FAB)   
FBC=diff(MBC,x)                   ;print("# FBC   =",FBC)
RARB=solve([Eq(MAB.subs({x:0}),0),
            Eq(MBC.subs({x:l}),0),
            Eq(-RA-RB         ,P)
          ],[RA,RB])              ;print("# RA,RB =",factor(RARB[RA]),",",RARB[RB])
print()
rep1={RA:RARB[RA],RB:RARB[RB]}
rep2={P:1000,l:1.0,a:0.4}
print("# MAB =",              MAB.subs(rep1).subs(rep2)      )
print("# MBC =",              MBC.subs(rep1).subs(rep2)      )
print("# FAB =",myRound1(diff(MAB.subs(rep1).subs(rep2),x),1))
print("# FBC =",myRound1(diff(MBC.subs(rep1).subs(rep2),x),1))
# MAB   = RA*x
# MBC   = RA*x + RB*(-a + x)
# FAB   = RA
# FBC   = RA + RB
# RA,RB = -P*(a - l)/a , -P*l/a

# MAB = 1500.0*x
# MBC = 1000.0 - 1000.0*x
# FAB = 1500.0
# FBC = -1000.0

sympyのBeamで

・ver0.2 基本例題4.19 P97
??? 以下はエラーです。
(1)SFDで、...ValueError: value of A was not passed.
(2)計算と作図が、同時にできませんでした。?b2にしてもだめでした。

# ver0.2  基本例題4.19 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('  P,  l,  la')
var('myP,myl,myla')
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_Haridasi_reaction_loads(l,E,I,P,la):
    b1=Beam(l,E,I)
    b1.apply_load(R1,0  ,-1)
    b1.apply_load(R2,la ,-1)
    b1.apply_load(P ,l  ,-1) 
    b1.bc_deflection = [(0, 0), (la, 0)]
    b1.solve_for_reaction_loads(R1,R2)
    R1R2=b1.reaction_loads
    return R1R2[R1],R1R2[R2]
def myBeam_Haridasi_Sakuzu_draw   (l,E,I,P,la):
    b2=Beam(l,E,I)
    b2.apply_load   (P ,l    ,-1)
    b2.apply_support(0 ,'pin')
    b2.apply_support(la,'roller')
    p = b2.draw()  
    p.show() 
    return 
def myBeam_Haridasi_Sakuzu_SFDBMD (l,E,I,P,la):
    b3=Beam(l,E,I)
    b3.apply_load(P ,l ,-1)
    b3.apply_load(R1,0 ,-1)
    b3.apply_load(R2,la,-1)
    b3.bc_deflection = [(0,0),(la,0)]
    b3.solve_for_reaction_loads(R1,R2)
    b3.plot_slope()
    b3.plot_bending_moment()
    b3.plot_shear_stress()
    return 
# --------------------------------------------------------------------------------------------------------------------
myl,myE,myI,myP,myla=1.0,200*(10**9),400*(10**6),1000,0.4
# R1,R2=myBeam_Haridasi_reaction_loads(myl,myE,myI,myP,myla);print  ("#",myRound1(R1),myRound1(R2))
# myBeam_Haridasi_Sakuzu_draw         (myl,myE,myI,myP,myla)
myBeam_Haridasi_Sakuzu_SFDBMD       (myl,myE,myI,myP,myla)

111.png
222.png
333.png
??? SFD

(勉強中) Mathematicaで

(勉強中) MATLAB 追加のオプションSymbolic Math Toolbox で

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

(テンプレート)

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

参考文献

>一部に等分布荷重を受ける単純支持はり
>JSME p89
 
>張出しばり x)
>構造力学公式集 表5.5 張出しばりの公式 p154

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?