LoginSignup
0
0

材料力学「bulk modulus K(体積弾性係数)」を調べた。sympyで。

Last updated at Posted at 2024-01-27

パイソニスタの方へ。教えて下さい
①2次以上の微小項を無視して、
 2次以上の微小項を0
 にする方法を教えて下さい。
②分母の約分のユーザー定義関数を探しています。

オリジナル

イロイロ見て、どれがオリジナルかわからなくなりました。

>【体積弾性係数 K の導出】

・〜pdf#page=2はできませんでした。

> 2-27頁(pdf page=28)です。ダウンロード:弾性論初歩テキスト(pdf file)< 2.弾性論初歩の講義ノート 

・〜pdf#page=28はできませんでした。
https://www.mech.kagoshima-u.ac.jp/~nakamura/zairiki2/elasticity-01.pdf

ありがとうございました。
> 鹿児島大学理工学研究科機械工学専攻 様
http://www.mech.kagoshima-u.ac.jp/~nakamura/
http://www.mech.kagoshima-u.ac.jp/~nakamura/zairiki2/

sympyで

・ver0.1

# ver0.1
from sympy import *
var('p'                ,real=True)
var('dx,du,dy,dv,dz,dw',real=True)
var('εx,εy,εz,εv'  ,real=True)
var('σx,σy,σz,ν,E' ,real=True)
εv_ans=(dx+du)*(dy+dv)*(dz+dw)-dx*dy*dz      ;print("# εv=",εv_ans)
εv_ans=εv_ans.expand()                      #;print("# εv=",εv_ans)
εv_ans=εv_ans/(dx*dy*dz)                    #;print("# εv=",εv_ans)
εv_ans=εv_ans.expand()                       ;print("# εv=",εv_ans)
# rep={du:∂u,dv:∂v,dx:∂x,dy:∂y,dz:∂z}
# εv=εv.subs(rep)                            ;print("# εv=",εv_ans)
εv_ans=du/dx + dv/dy + dw/dz                 ;print("# εv=",εv_ans)
rep={du/dx:εx,dv/dy:εy,dw/dz:εz}
εv_ans=εv_ans.subs(rep)                      ;print("# εv=",εv_ans)
# 
rep={εx:1/E*(σx-ν*(σy+σz)),
     εy:1/E*(σy-ν*(σz+σx)),
     εz:1/E*(σz-ν*(σx+σy))
    }
εv_ans =εv_ans.subs(rep).factor()            ;print("# εv=",εv_ans)
rep={σx:p,σy:p,σz:p}
εv_ans =εv_ans.subs(rep)                     ;print("# εv=",εv_ans) ;print()
#
p=solve(εv-εv_ans,p)[0].factor()             ;print("# p =",p)
p1=numer(p)*(-1)/((denom(p)*(-1))         )  ;print("# p1=",p1)
p2=numer(p)*(-1)/((denom(p)*(-1)).factor())  ;print("# p2=",p2)
q3=numer(p)*(-1)/((denom(p)*(-1))/3)         ;print("# q3=",q3)
p4=numer(p)*(-1)/((denom(p)*(-1))/3*3)       ;print("# p4=",p4)
p5=numer(p)*(-1)/(3*(denom(p)*(-1))/3)       ;print("# p5=",p5)
p6=numer(p)*(-1)/3/(denom(p)*(-1)/3)         ;print("# p6=",p6) ;print()
#
print("# K =",p6/εv)

# εv= -dx*dy*dz + (du + dx)*(dv + dy)*(dw + dz)
# εv= du*dv*dw/(dx*dy*dz) + du*dv/(dx*dy) + du*dw/(dx*dz) + du/dx + dv*dw/(dy*dz) + dv/dy + dw/dz
# εv= du/dx + dv/dy + dw/dz
# εv= εx + εy + εz
# εv= -(2*ν - 1)*(σx + σy + σz)/E
# εv= -3*p*(2*ν - 1)/E

# p = -E*εv/(3*(2*ν - 1))
# p1= E*εv/(3 - 6*ν)
# p2= -E*εv/(3*(2*ν - 1))
# q3= E*εv/(1 - 2*ν)
# p4= E*εv/(3 - 6*ν)
# p5= E*εv/(3 - 6*ν)
# p6= E*εv/(3*(1 - 2*ν))

# K = E/(3*(1 - 2*ν))

wikipedia

> 体積弾性率

>等方均質材料の弾性率の相関関係

google検索

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

(テンプレート)

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

参考文献

>第8章 複雑な応力
>8.5.6 体積弾性係数(bulk modulus)
>JSME p146
 
>1.4.3
>構造力学公式集 p21

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