##はじめに
引張試験で、ヤング率とかポアソン比が変わるとどう変化するのか、pythonを使って近いものを作れないかと思ったのがきっかけ。
計算式は下記のURLを参考にした。
https://www.jsme.or.jp/kaisi/1202-36/
##環境
Windows10
Python 3.8.5
##コード
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as pat #四角の描画に使う
import cv2
%matplotlib inline
#初期座標
x1=0
x2=3
y1=0
y2=3
#各種パラメータ
power=10 #外力
area=9 #断面積
stress=power/area #応力
young=0.8 #ヤング率 x_strain=stress/young #x方向のひずみ
x_strain=stress/young
delta_x=x_strain*x2 #元の長さからどれぐらい伸びたか
x3=delta_x+x2 #伸ばした時のx座標
poisson=0.458 #ポアソン比
y_strain=-poisson*x_strain #y方向のひずみ(定義式では負になるので、絶対値にしている)
y3=y2+y2*y_strain #伸ばした時のy座標
#描画(試しに最初と最後の画像を作成)
fig=plt.figure(figsize=(10,10))
ax1=fig.add_subplot(2,2,1)
plt.xlim(0,10)
plt.ylim(0,5)
plt.title('Before')
ax2=fig.add_subplot(2,2,2)
plt.xlim(0,10)
plt.ylim(0,5)
plt.title('After')
p1=pat.Polygon(xy=[(x1,y1),(x2,y1),(x2,y2),(x1,y2)],color='peru') #座標から四角形を描写する
p2=pat.Polygon(xy=[(x1,y1),(x3,y1),(x3,y3),(x1,y3)],color='peru')
ax1.add_patch(p1) #貼り付ける
ax2.add_patch(p2)
##最後に
実際に実験しなくても、なんとなくのイメージが持てた。可視化はやっぱりいい(こんなことしなくてもわかる人が多いだけかもしれない)。
単位はきちんとしているわけではないので、参考程度(あまりにも大きい数字を入れたりすると範囲を超えてしまうので注意)。