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?

「(2024)令和6年一級建築士試験学科Ⅳ(構造)〔No.2〕」両端固定梁に中間ヒンジをsympyのBeamで できませんでした。

Last updated at Posted at 2024-10-22

パイソニスタの方へ
・sympyのBeamでできませんでした。
 Piecewise と SingularityFunction のオススメのページを教えて下さい。
・タイトルを変更予定です。

Qiita_建築士
・目次

オリジナル

Youtube「令和6年学科構造」 構造力学問題No1-No6 解説 一級建築士試験 構造力学対策講座 
やまもと構造塾+kakeno塾 様 (0:00~34:32) 〔No.2〕 4:21~10:50

sympyで(オリジナル 様の方法を参考に)

 https://live.sympy.org/

# 令和6年一級建築士試験学科Ⅳ(構造)〔No. 2 〕
# ver0.1
from sympy import *
var('EI,l'   ,real=True,positive=True)
var('P,PA,PC',real=True)
sol=solve([Eq(P-PA-PC,0),Eq(PA*l**3/(3*EI),PC*(2*l)**3/(3*(2*EI)))],[PA,PC])
print("#",sol[PA]/sol[PC])
# 4

sympyのintegrate(多重積分)で

(参考) 「弘前大学 Home Sweet Home - 弘大ホーム」様

https://docs.sympy.org/latest/modules/integrals/integrals.html
・2重積分は累次積分で

# 令和6年一級建築士試験学科Ⅳ(構造)〔No. 2 〕
# ver 0.2 
# ??? 偶然かも。点Cでたわみ0です。
from sympy import *
var("E,I,P,PA,PC,l,x")
sol=solve([Eq(P,PA+PC),
           Eq( 1/(  E*I)*integrate( PA* x   ,(x,0,  l),(x,0,  l))
              +1/(2*E*I)*integrate(-PC*(x-l),(x,l,3*l),(x,l,3*l)),0)],
          [PA,PC])
print("#",sol[PA]/sol[PC])
# 4

sympyで、エネルギー法で

・3元連立方程式。たわみの一致とエネルギー法で。???ヒンジ 偶然かも

# 令和6年一級建築士試験学科Ⅳ(構造)〔No. 2 〕
# ver 0.3 
from sympy import *
var("E,I,w,P,PA,PB,l,x")
UA=integrate( (PA*x)**2/(2*  E*I),(x,0,  l))
UB=integrate( (PB*x)**2/(2*2*E*I),(x,0,2*l))
sol=solve( [Eq(PA+PB,P),
            Eq(   UA/(Rational(1,2)*PA),
                  UB/(Rational(1,2)*PB)),
            Eq(UA+UB, Rational(1,2)*P*w )
           ],[PA,PB,w])
print("#",sol)
print("#",sol[0][0]/sol[0][1])
# [(4*P/5, P/5, 4*P*l**3/(15*E*I))]
# 4

sympyで、単位荷重法で

・??? 連立方程式。左ひずみエネルギー と 右のひずみエネルギーで

# 令和6年一級建築士試験学科Ⅳ(構造)〔No. 2 〕
# ver 0.3 
from sympy import *
var('E,I,P,l',positive=True)
var('PA,PB,x',positive=True)
MA=-PA*x;MA_bar=MA.subs({PA:1})
MB=-PB*x;MB_bar=MB.subs({PB:1})
sol=solve([Eq(PA+PB,P),
           Eq(1/(  E*I)*integrate(MA*MA_bar,(x,0,   l )),
              1/(2*E*I)*integrate(MB*MB_bar,(x,0,(2*l)))),
          ],[PA,PB])
print("#",sol)
print("#",sol[PA]/sol[PB])
# {PA: 4*P/5, PB: P/5}
# 4

sympyで、カスチリアノの第2定理で

・??? 連立方程式。左ひずみエネルギー と 右のひずみエネルギーで

# 令和6年一級建築士試験学科Ⅳ(構造)〔No. 2 〕
# ver 0.4 
from sympy import *
var('E,I,P,l',positive=True)
var('PA,PB,x',positive=True)
MA=-PA*x;UA=1/(  E*I)*integrate(MA**2,(x,0,   l ))
MB=-PB*x;UB=1/(2*E*I)*integrate(MB**2,(x,0,(2*l)))
sol=solve([Eq(PA+PB,P),Eq(diff(UA,PA),diff(UB,PB)),],[PA,PB])
print("#",sol)
print("#",sol[PA]/sol[PB])
# {PA: 4*P/5, PB: P/5}
# 4

sympyで、片持ちはりのたわみ性マトリックス より

・??? 勉強中 wの方程式

# 令和6年一級建築士試験学科Ⅳ(構造)〔No.2 〕
# ver 0.5 
from sympy import *
var('E,I,P,l',positive=True)
var('PA,PB,x',positive=True)
var('F2,M2')
w=Rational(1,6)*1/(E*I)*(Matrix([2*l**3,-3*l**2]).transpose()*Matrix([F2,M2]))[0]
print("#",w)
sol=solve([Eq(P,PA+PB),
           Eq(w                    .subs({F2:PA,M2:0}),
              w.subs({l:2*l,E:2*E}).subs({F2:PB,M2:0}))
          ],[PA,PB])
print("#",sol)
print("#",sol[PA]/sol[PB])
# (2*F2*l**3 - 3*M2*l**2)/(6*E*I)
# {PA: 4*P/5, PB: P/5}
# 4
print("#",w)
print("#",w.subs({F2:P,M2:0}))
# (2*F2*l**3 - 3*M2*l**2)/(6*E*I)
# P*l**3/(3*E*I)

sympyのBeamで できませんでした。

???

# 令和6年一級建築士試験学科Ⅳ(構造)〔No. 2 〕
# ver0.3
from sympy import *
from sympy.physics.continuum_mechanics.beam import Beam
from sympy import symbols
E, I = symbols('E, I')
l=symbols('l',positive=True)
var("x")
b1  =Beam(  l,    E,  I)
b2  =Beam(2*l,  2*E,  I) # ???
# b2=Beam(2*l,    E,2*I)
# b2=Beam(2*l,2*E*I,1  )
# b2=Beam(2*l,1,2*E*I  )
b=b1.join(b2,"hinge")
M1, A1, M2, A2, P = symbols('M1 A1 M2 A2 P')
b.apply_load(A1  ,0,-1)
b.apply_load(M1  ,0,-2)
b.apply_load(P,l              ,-1)   # ????
# b.apply_load(P,l*1.000000001,-1)   # ????
b.apply_load(A2,3*l,-1)
b.apply_load(M2,3*l,-2)
b.bc_slope     =[(0,0), (3*l, 0)]
b.bc_deflection=[(0,0), (3*l, 0)]
b.solve_for_reaction_loads(M1, A1, M2, A2)
print("#",b.reaction_loads[A1]/b.reaction_loads[A2])
print("#",b.reaction_loads[A1]+b.reaction_loads[A2])
# 8
# -2*P

単位荷重法も、できませんでした

# 令和6年一級建築士試験学科Ⅳ(構造)〔No. 2 〕
# ver 0.4
# 単位荷重法です。積分計算が1回。sympyだと,私はあんまり回数が気になりません。
from sympy import *
var("E,I,P,PA,PC,l,x")
sol=solve([Eq(P,PA+PC),
           Eq( 1/(  E*I)*integrate(( PA* x   )*( PA* 1   ),(x,0,  l))
              +1/(2*E*I)*integrate((-PC*(x-l)),(-PC*(1-l)),(x,l,3*l)),0)],
          [PA,PC])
print("#",sol[PA]/sol[PC])

参考

sympyのdoc

Qiita

公式ホームページ

学科Ⅳ(構造)〔No.2〕と正答肢 3 4:1
https://www.jaeic.or.jp/shiken/1k/1k-mondai.files/1k-2024-1st-gakka4_5.pdf#page=3
https://www.jaeic.or.jp/shiken/1k/1k-mondai.files/1k-2024-1st-gokakukijun.pdf
「学科の試験」< 一級建築士を志す者に対して、...
https://www.jaeic.or.jp/smph/shiken/1k/1k-mondai.html
「学科の試験」< 二級建築士を志す者に対して、...
https://www.jaeic.or.jp/smph/shiken/2k/2k-mondai.html

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?