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?

P1P2P3 単純梁 問題9A) P124「材料力学演習(20221021)」をsympyでやってみたい。

Last updated at Posted at 2025-03-31

(2025-04-03)・タイトルが間違っていたので直しました。問題8A)→問題9A)

オリジナル

問題9A) P124 <「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。#sympy

???タブレット等で、pdfを開く事ができないかも。??? 

sympyで

・ver0.1

# ver0.1
from sympy import *
var('P1,P2,P3,a,b,c,d,x,RA')
MAC    =RA*x             ;FAC=diff(MAC,x)
MCD    =MAC-P1*(x-a)     ;FCD=diff(MCD,x)
MDE    =MCD-P2*(x-a-b)   ;FDE=diff(MDE,x)
MEB    =MDE-P3*(x-a-b-c) ;FEB=diff(MEB,x)
RA_sol =solve(Eq(MEB.subs({x:a+b+c+d}),0),RA)[0]  #;print("#",RA_sol)
RA_sol1=(RA_sol).simplify()                       ;print("#",RA_sol1)
RA_sol2=(RA_sol).collect(P1).collect(P2)          ;print("#",RA_sol2)
print("#",P1+P2+P3-RA) 
# (P1*b + P1*c + P1*d + P2*c + P2*d + P3*d)/(a + b + c + d)
# (P1*(b + c + d) + P2*(c + d) + P3*d)/(a + b + c + d)
# P1 + P2 + P3 - RA

sympyのBeamで作図

・ver0.2
 作図だけ。値はテキトー。BMDは?省略です。いい値を教えて下さい。
 矢印を消したらダメかもしれません。

# ver0.4
from sympy import *
from sympy.physics.continuum_mechanics.beam import Beam
from sympy import symbols
E , I      =symbols('E , I ')
var('R1,R2,x')
def extract_elements_with_symbol(data_list):
  """
  リストの要素のうち、最初の要素がsympyのSymbolである要素を抽出する関数。

  Args:
    data_list: 要素がタプルのリスト。

  Returns:
    最初の要素がsympyのSymbolである要素のリスト。
  """
  result = []
  for item in data_list:
    if isinstance(item[0], Symbol):
      result.append(item)
  return result
def myRemoveDrawShow(b):
  for item in extract_elements_with_symbol(b.applied_loads):
      b.remove_load(item[0], item[1],item[2])
  p = b.draw()  
  p.show() 
  return
# #######################################
P1,P2,P3,a,b,c,d=1,1,1,1,1,1,1
AC,AD,AE,AB     =a,a+b,a+b+c,a+b+c+d
b = Beam(AB, E, I)
b.apply_load   (R1, 0,-1)
# b.apply_load   (P1,a+b,-1)
b.apply_load   (P1,AC,-1)
b.apply_load   (P2,AD,-1)
b.apply_load   (P3,AE,-1)
b.apply_load   (R2,AB,-1)
# b.solve_for_reaction_loads(R1, R2)
# # # #######################################
# b.plot_shear_force()
# # b.plot_bending_moment()
b.apply_support (0 ,"pin" )
b.apply_support (AB,"roller")
myRemoveDrawShow(b)
# # p = b.draw()  
# # p.show() 

111.png

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

(テンプレート)

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

参考文献

>一部に等分布荷重を受ける単純支持はり
>JSME p89

ちょっと違うかも
>張出しばり 1)
>構造力学公式集 表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?