LoginSignup
0
0

ひずみエネルギとそれを使った材料力学 基本例題8.29 P287 「材料力学演習(20221021)」をsympyでやってみた。

Last updated at Posted at 2023-05-03

オリジナル

基本例題8.29 P287
http://zairikiweb.starfree.jp/zai_enshuh/zai_enshuh_ver.3.3.pdf#page=292

「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。>sympy
https://qiita.com/mrrclb48z/items/c3274daf5f7a99cfe027#%E4%BD%9C%E6%A5%AD%E4%B8%AD%E7%A7%81%E3%81%AE%E8%A7%A3%E7%AD%94sympy

sympyで

from sympy import *
from sympy.simplify.fu import TR11
NAC,NBC=symbols('NAC NBC',real=True)
t1 ,t2 =symbols('t1  t2' ,real=True)
P      =symbols('P'      ,real=True)
A  ,EE=symbols('A    EE' ,real=True)
l1 ,l2=symbols('l1   l2' ,real=True)
mAC,mBC=symbols('mAC mBC',real=True)
#
myH=Eq(NAC*sin(t1)-NBC*sin(t2)  ,0)
myV=Eq(NAC*cos(t1)+NBC*cos(t2)-P,0)
ans=solve([myH,myV],[NAC,NBC])
NAC=ans[NAC]
NBC=ans[NBC]
nAC=NAC/P
nBC=NBC/P
dCV=(1/(A*EE)*NAC*nAC*l1+1/(A*EE)*NBC*nBC*l2).simplify()
print("#",dCV)
#
myH=Eq(mAC*sin(t1)-mBC*sin(t2)-1,0)
myV=Eq(mAC*cos(t1)+mBC*cos(t2)  ,0)
ans=solve([myH,myV],[mAC,mBC])
mAC=ans[mAC]
mBC=ans[mBC]
dCH=TR11( (1/(A*EE)*NAC*mAC*l1+1/(A*EE)*NBC*mBC*l2).simplify() )
print("#",dCH)
# P*(l1*sin(t2)**2 + l2*sin(t1)**2)/(A*EE*sin(t1 + t2)**2)
# P*(2*l1*sin(t2)*cos(t2) - 2*l2*sin(t1)*cos(t1))/(2*A*EE*sin(t1 + t2)**2)

①私の環境は,pycharmです。
②よく聞くのは、Jupyterです。
③web上で、上記のソースを「SymPy Live shell」に、コピー貼り付けでもできました。
黒背景の右上に、マウスを移動すると、コピーマークが発生します。
??? タブレット環境で、コピー貼り付けが実行できませんでした。???

(追加)sympyで(角度を入力してみた。)

以下は、単独では、実行できません。連結して下さい。
t1=30°、t2=60°で実行してみました。

l=symbols('l',real=True)
mySubs={l1:l        ,t1:30*pi/180,
        l2:sqrt(3)*l,t2:60*pi/180
       }
print("#",dCV.subs(mySubs).simplify() )
print("#",dCH.subs(mySubs).simplify() )
# P*l*(sqrt(3) + 3)/(4*A*EE)
# P*l*(-3 + sqrt(3))/(4*A*EE)

Mathematicaで

勉強中

作図

勉強中

参考

sympy.simplify.fu.TR11(rv, base=None)
Function of double angle to product.

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