[关闭]
@zhongwei1234 2017-10-13T14:11:44.000000Z 字数 2440 阅读 48

计算物理第四次作业 钟伟 2015301020164

《计算物理》第二章第三节T2.7


一. 课题
Use the adiabatic model of the air density to calculate the cannon shell trajectory, and compare with the result found using.Also , one can further incorporate the effects of the variation of the ground temperature (seasonal changes) by replacing by T_0T_{ref} , where is the value of at a reference temperature and is the actual ground temperature. The value quoted in the text is appropriate for =300K. In particular, how much effect will the adiabtic model have on the maximum range and the launch angle to achieve it? how much do they vary from a cold day in winter to a hot summer day?


二.实验目的

  1. 用python制作轨迹并观察,并用mathplotile在python上绘出
  2. 改变温度值,观察温度对轨迹的影响
  3. 改变初射角度,观察角度对轨迹的影响
  4. 改变初速度,观察影响
  5. 对加农炮提出些建议

三.源代码

  1. """
  2. Created on Thu Oct 10 10:05:35 2017
  3. @author: 钟伟
  4. """
  5. import matplotlib.pyplot as plt
  6. import math
  7. """初值设置"""
  8. x = 0
  9. y = 0
  10. v = float(input("请输入初射速度:"))
  11. angel = float(input("请输入初射角度:"))
  12. v_x = v*math.cos(math.radians(angel))
  13. v_y = v*math.sin(math.radians(angel))
  14. """基本常量设置"""
  15. delt_t = 0.05
  16. B = 0.00004
  17. g = 9.8
  18. h = 2.5
  19. a = 0.0065
  20. T_ref = 300
  21. """温度随季节变化"""
  22. T_c=float(input("请输入当前温度:"))
  23. T = T_c + 273.15
  24. """设定两个列表储存数据"""
  25. list_x=[x,]
  26. list_y=[y,]
  27. list_v_x=[v_x,]
  28. list_v_y=[v_y,]
  29. list_v=[v,]
  30. """进行计算,并将计算结果储存在列表中"""
  31. while y>=0:
  32. x = x + v_x*delt_t
  33. y = y + v_y*delt_t
  34. p=(1-a*y/T)*(T/T_ref)
  35. B_cor = B*math.pow(p,h)
  36. v_x = v_x - B_cor*v*v_x*delt_t
  37. v_y = v_y - g*delt_t - B_cor*v*v_y*delt_t
  38. v = math.sqrt(v_x*v_x + v_y*v_y)
  39. list_x.append(x/1000)
  40. list_y.append(y/1000)
  41. """画图"""
  42. plt.figure(figsize=(10,5))
  43. plt.plot(list_x,list_y,label="$canon shell trajectory$",marker='.')
  44. plt.xlabel("X/km")
  45. plt.ylabel("Y/km")
  46. plt.title("canon shell trajectory")
  47. plt.ylim(0,10)
  48. plt.legend()
  49. plt.show()

创建时间
oct 11 12:46:29 2017


三.调试及结果

本次实验调过很多参数,包含初速度,初始角度,温度(对空气阻力的影响),目的在于了解这些因素对加农炮弹的影响,以便我们能有一个直观的看法。
在过程中,我尝试了很多极端不可能的情况,看能否得出一些奇怪而有趣的结果,这也是计算物理的魅力所在,可以低成本的探究一些极端情况。产生矛盾并解决矛盾

在一个很普遍的温度下T=300K 我取温度参数27度 *当速度只有100m/s时,可以看到只有六百米远并且打不高,这个速度很快了如果对人来说,古代抛投石机大概能达到,火铳也可以。但和高速比可以看到这个高度与距离是远远不够的。证明科技就是力量,火铳肯定干不过手枪

100 20 27.png

再看看当低温时似乎并没有什么影响t=-30度
100 20 -30.png

那我们接下来用一个高中生知道的45度最远射程来打它(得到结果是忽略了空气阻力,不过事实有阻力最远射程大概所要射角也是45度左右)100 45 27.png
100 45 -100.png
射程被极大的提高
这告诉我们找好角度射的重要性!!!

  1. 知道初射速度到700m/s,这是一个现代炮弹轻易做到的速度
    我们可以看见角度对射程影响依旧最大,但温度却不可小视了
    a.初速度700m/s 角度20度 温度27度
    700 20 27.png
    b. 初速度700m/s 角度45度 温度27度
    700 45 27.png
    c.初速度700m/s 角度45度 温度-100度 这是个极端情况
    700 45 -100.png
    这下好了温度对炮弹的性能影响如此之大,又高又远了,变化接近一倍,看来如果温度极低炮弹还算符合现代标准,这个有助打炮

看看大角度射出,结论相似 前者 后者
700 80 27.png这是27度室温

700 80 -100.png这是-100极端

轨迹可以看到炮弹过最高点后有下坠趋势 ,这也是为什么子弹如果不加螺线膛线,如老式来福枪,打出去子弹回直线下坠

  1. 看看2000m/s时 炮弹似乎达不到
    20度射出,温度27度
    2000 20 27.png
    有点像没加膛线的子弹
    下面是30度射出 温度50度和100度(按顺序)
    2000 30 50.png
    2000 30 100.png

不难发现低温下有助于炮弹的自由飞翔

2000 45 27.png
最后附上一张很理想的2000m/s告诉 角度45度 温度一般27度的轨迹


总得说 我玩了许多种情况,发现低温可以让空气阻力影响减小,同时发现速度过大其他条件相同阻力影响越大,轨迹有急速下坠的趋势。
这让我想到C罗的电梯球,球速太高并且压缩了空气产生过大阻力,球急速下坠不是玄学


感谢观看!!!
钟伟 武汉大学 2015301020164

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注