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?

(未)「(2025)令和7年一級建築士試験学科Ⅳ(構造)〔No.2〕」片持ち梁と張り出し梁をsympyのBeamで作図しました。

Last updated at Posted at 2025-09-04

・Beamで作図しました。

目次

オリジナル

(2025-09-04) 未
・過去問.com 一級建築士 様
>令和6年(2024年)〜平成27年(2015年)まで無料で公開しています。

しばらくは 公式ホームページ で

(2025)令和7年一級試験問題〔No.2〕と正答肢

https://www.jaeic.or.jp/shiken/1k/1k-mondai.files/1k-2025-1st-gakka4_5.pdf#page=3
https://www.jaeic.or.jp/shiken/1k/1k-mondai.files/1k-2025-1st-gokakukijun.pdf
https://www.jaeic.or.jp/smph/shiken/1k/1k-mondai.html

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

sympyで(いつもの方法で)

基本例題6.08に同じ。

# ver 0.3 
from sympy import *
var('x,P,EI,l')
var('RA1    ,MA1,MA12')
var('RB1,RB2,MB12,MB23')
var('vA1,θA1')
var('vB1,θB1,θB2')
rep=solve([Eq(-MA1-RA1*x+MA12,0),Eq(-RA1+P,0),Eq(MA12.subs({x:l}),0)],\
          [RA1,MA1,MA12])
RA1 =rep[RA1]
MA1 =rep[MA1]
θA12=-1/(EI)*(              MA1*x   *Rational(1,2)*RA1*x**2)+θA1         #;print(θA12)
vA12=-1/(EI)*(Rational(1,2)*MA1*x**2+Rational(1,6)*RA1*x**3)+θA1*x*vA1   #;print(θA12)
δA  =vA12.subs({vA1:0,θA1:0}).subs({x:l})                                #;print(δA)
# 
MB12=solve( Eq(-RB1*x          +MB12,0),MB12)[0]
MB23=solve( Eq(-RB1*x-RB2*(x-l)+MB23,0),MB23)[0] 
rep =solve([Eq(-RB1-RB2+P          ,0) , \
            Eq(MB23.subs({x:2*l})  ,0)], \
           [RB1,RB2])                                         #;print(rep)
RB1 =rep[RB1]
RB2 =rep[RB2]
θB12=    θB1  -1/(2*EI)*RB1*x**2                              #;print(θB12)
vB12=vB1+θB1*x-1/(6*EI)*RB1*x**3                              #;print(vB12)
θB23=    θB1  -1/(2*EI)*RB1*x**2-1/(2*EI)*(2*l)/l*P*(x-l)**2  #;print(θB12)
vB23=vB1+θB1*x-1/(6*EI)*RB1*x**3-1/(6*EI)*(2*l)/l*P*(x-l)**3  #;print(vB12)
rep ={θB1:solve(Eq(vB12.subs({x:l}),0),θB1)[0]}
δB  =vB23.subs(rep).subs({vB1:0}).subs({x:l+l})               #;print(δB)
# 
print("#",δB/δA)
# 2

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

基本例題4.19に同じ。

# ver 0.5 
from sympy import *
var('x,P,EI,l')
var('RA,MA')
var('RB1,RB2,MB1,MB2')
MA =solve([Eq(-RA*x+MA,0),Eq(-RA+P,0)],[RA,MA])[MA]   
δA =diff(1/(2*EI)*integrate(MA**2,(x,0,l)),P)                                                   #;print(δA)
MB1=solve(Eq(-RB1*x          +MB1,0),MB1)[0]
MB2=solve(Eq(-RB1*x-RB2*(x-l)+MB2,0),MB2)[0] 
rep=solve([Eq(-RB1-RB2+P,0),Eq(MB2.subs({x:2*l}),0)],[RB1,RB2])                                 #;print(rep)
δB =1/(2*EI)*diff(integrate(MB1.subs(rep)**2,(x,0,l))+integrate(MB2.subs(rep)**2,(x,l,2*l)),P)  #;print(δB)
print("#",δB/δA)
# 2

sympyのBeamで

・作図に具体的な値(仮)が必要です。2回(同じ)Beamを定義しています。
 removeを使っていません。
・b.plot_deflection() は、あきらめました。

# ver0.6
from sympy import *
from sympy.physics.continuum_mechanics.beam import Beam
from sympy import symbols
E,I,RA,MA,P=symbols('E,I,RA,MA,P')
RB1,RB2    =symbols('RB1,RB2')
l          =symbols('l',positive=True)
var('x')
def my_Katamoti_Sakuzu(l,E,I,P):
    b=Beam(l,E,I)
    b.apply_load   (P,1,-1) 
    b.apply_support(0,'fixed')
    (b.draw()).show() 
    return 
def my_Katamoti_Tawami(l,E,I,P):
    b=Beam(l,E,I)
    b.apply_load(MA,0,-2) 
    b.apply_load(RA,0,-1) 
    b.apply_load(P ,l,-1) 
    b.bc_slope     =[(0,0)]
    b.bc_deflection=[(0,0)]
    b.solve_for_reaction_loads(MA,RA)
    return b.deflection().subs({x:l})
def my_Haridasi_Sakuzu(l,E,I,P):
    b=Beam(l+l,E,I)
    b.apply_load   (P,l+l,-1) 
    b.apply_support(0,'pin'   )
    b.apply_support(l,'roller')
    (b.draw()).show() 
    return 
def my_Haridasi_Tawami(l,E,I,P):
    b=Beam(l+l,E,I)
    b.apply_load(RB1,0  ,-1) 
    b.apply_load(RB2,l  ,-1) 
    b.apply_load(P  ,l+l,-1) 
    b.bc_deflection=[(0,0),(l,0)]
    b.solve_for_reaction_loads(RB1,RB2)
    return b.deflection().subs({x:l+l})
my_Katamoti_Sakuzu(1,1,1,1)             
my_Haridasi_Sakuzu(1,1,1,1)             
print("#",my_Haridasi_Tawami(l,E,I,P)/my_Katamoti_Tawami(l,E,I,P))
# 2

・縦横比は1:1でありません。

111.png

222.png

sympyで(たわみ性マトリックス)

# ver0.7

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

sympyのdoc

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?