-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
24 lines (19 loc) · 1.16 KB
/
main.py
File metadata and controls
24 lines (19 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from core.mohr import strain2stress, stress2circle
from visualization.circle import mohr_circle
def main():
print("{:=^30}".format("根据应变花采集数据绘制Mohr应力圆"))
strain_0 = eval(input("0°方向的应变值(με):"))
strain_90 = eval(input("90°方向的应变值(με):"))
strain_45 = eval(input("45°方向的应变值(με):"))
E_modulus = eval(input("材料弹性模量(MPa):"))
G_modulus = eval(input("材料剪切模量(MPa):"))
# tips: 可完善不同材料弹性模量和剪切模量的预设值,这样可直接输入材料名称来获取相应的弹性模量和剪切模量
stress_x, stress_y, stress_xy = strain2stress(strain_0, strain_90, strain_45, E_modulus, G_modulus)
print("{:=^30}".format("应变花采集应变对应应力值"))
print("0°方向的应力值(MPa):{:.3f}".format(stress_x))
print("90°方向的应力值(MPa):{:.3f}".format(stress_y))
print("45°方向的应力值(MPa):{:.3f}".format(stress_xy))
x, r = stress2circle(stress_x, stress_y, stress_xy)
mohr_circle(x, r, stress_x, stress_y, stress_xy)
if __name__ == "__main__":
main()