利用计算机解决的生活问题,利用计算机解决经典动力学问题

利用计算机解决经典动力学问题

By 3班 1200012855 仪迪

1.利用计算机解决经典动力学问题的可行性

在牛顿的经典物理理论体系中,所有物体的运动状态在单位时间内的改变量均可由该时刻物体的受力情况决定,而物体在该时刻的受力情况又可由该时刻物体的位置等已知量确定,故对于给定的初态与受力的规则,在任意时刻时整个系统的状态是唯一的,这符合程序的运行规律,故当我们不要求结果任意精确时(对于这一点,在关于存在的问题与解决方案中将详细讨论),利用计算机模拟经典动力学场景进而解决经典动力学问题是存在理论可行性的。

2.利用计算机模拟经典动力学场景的大致思路

首先程序会要求用户输入一个初态以及末态的时间点,并将其记录。

然后程序会从初态的时间点开始,利用程序内部的受力规则和每一时刻物体的状态计算出这一时刻物体的受力情况,再根据这个受力情况计算出下一个时刻(两个时刻相隔很小以至于在不要求结果任意精确是误差在可以忍受的范围内)整个系统的状态,如此反复,直到计算出末态结果为止。

最后输出计算出的末态结果,若有需要,则可输出运行过程中某些或全部时间点的计算结果。

3.利用计算机模拟经典动力学场景存在的问题

虽然利用计算机模拟经典动力学场景是存在理论可行性的,但是限于实际情况,计算机是不能完美地模拟经典动力学场景的,其主要存在的问题如下:

1. 实际的经典动力学场景是具有连续密集的,其主要体现在时间上和空间上的连续密集。而计算机的储存方式注定了其不能储存一个连续密集的时空。

例如:对于一个经典力学中的简单模型——匀质细杆来说,其质量在长度上是连续分布的,且对于杆上的每一点,无论其距端点距离是有理数还是无理数,其上都是由质量分布的,且其质量趋向于无穷小。当讨论其状态随时间的变化时,其在每一个时间均有一个对应状态。然而以计算机的储存方式若要完美无缺地存储这个简单模型的状态,需要记录无穷多组数据,因而完全模拟连续密集的经典动力学系统是不可能的。

2. 在经典力学中有各种各样的力,它们的产生机制与大小方向所满足的规则各不相同,如何用计算机语言表述这些纷繁复杂的力成为了利用计算机模拟经典动力学场景时的一个重要的实质性问题。

4.对以上问题提出的解决方案

以下为对以上问题解决方案的设想:

1. 所以在实际生活中,我们往往只需要忽略一些难以计算的小量,而将原场景近似为一个易于储存和计算且误差在可接受范围内的理想化模型可以解决此问题。

对于利用计算机模拟经典动力学场景中关于时间和空间上连续性与密集性的问题,我们可以用以下近似来解决:

(1) 对于空间上的连续密集性,将每个物体拆分成若干个等大且足够小的、形状相似的小物体,并将这些小物体的质量近似为集中在其质心上。对于上述的举例(匀质杆),我们可以将杆等分为若干小段,并将每一小段杆近似为位于其质心上的一个质点。如此,整个杆就被近似成了一连串同一直线上的质量确定两两相连的质点。经过上述近似处理后,在空间上连续密集分布的物体就被在可忍受的误差内近似成为了有限多个点,便于储存与运算。

(2) 对于时间上的连续密集性,可以取一连串等间隔的时刻并让任意相邻两时刻的间隔足够小使得在这一小段时间内,所有物体运动状态的改变量都足够小以至于我们可以在可忍受误差内将其近似为均匀改变,从而改变量可直接由改变量对于时间的变化率乘以时间间隔来计算。根据精度需要,例如时间间隔可以取0.001秒甚至更短,这样的近似使得模型符合了计算机的储存与运算方式。

2. 尽管经典动力学体系中的力有许多种,但是我们仍可以用分类的方式将其分为几大类,并对每一类的力给出确定的计算方式:

(1) 恒力

恒力即为无论在任何情况下大小、方向都不变的力。例如在研究地球表面的物体运动时的重力,匀强电场中的电场力等。这一类的力是最简单也最容易表示的,只需在初始状态时给定力的大小、方向,即可代入以后的每一次运算。

(2) 状态力

对于力的大小及方向由物体的位置、速度、角速度等状态决定的力,我们将其称为状态力,例如万有引力、弹簧弹力、磁场中的洛仑兹力等。这一类的力与恒力相似,只是情况稍微复杂,需在初态时给定力的大小、方向与哪些状态量有关以及具体的计算方式,然后在之后的每一步运算中,即可通过这一时刻的状态量计算出状态力的大小及方向。

(3) 约束力

约束力是指那些用于把物体的位置、速度约束等在某一范围内的力,例如支持力、杆的拉力与支持力等。这一类力是最复杂而难以计算的,从而难以给出完美的解决方案,只能在可容忍误差内进行一些近似。以下为对此类型的力的两种解决方案,它们各有优点也有不足,具体选择时需视情况而定:

① 受力分析法

受力分析法是指对于任意一个物体,现把其可计算的力和状态量分别算出,再利用约束条件与已计算出的力算出约束力的大小。例如对于桌面上的小球,我们可以先计算出它的重力,再判断若小球的高度不高于桌面高度,则支持力会使得小球向下的速度与加速度均减为0(若大于0的话),从而我们可以根据此条件计算出支持力的大小。

这种方法的优点在于相较于下一种方法,其计算精度会高一些。

而其亦有许多不足:其计算方法因约束条件的不同而不同,没有一个统一的算法计算这些力,从而使编程的工作量大大增加;最关键的是,当一个物体受到了同一方向上至少两个约束力、同一平面上至少三个约束力、或三维空间内至少四个约束力时,用此方法将不能计算出唯一确定的结果。例如在一个正三角形框架中存在一个其内切圆大小的球形物体,则无论三角形框架三条边对其的支持力为多大,只要这三个支持力大小相等,这个球就是受力平衡的,且没有任何矛盾。注意这个漏洞并非来源于计算方式,而是来源于将所有物体近看作刚体(即不会形变的物体)的近似,在以上情况中一些关键信息被近似忽略,从而导致条件不足而无法计算,因而有了下一种计算方式。

② 还原状态力

约束力是将所有物体都近似为刚体时一些状态力变形而产生的,例如支持力的本质是表面形变带来的弹力,其大小近似满足胡克定律,只不过其劲度系数很大以至于我们近似地认为它不会形变。

现在我们将这些约束力还原为状态力,即不将刚性物体的形变忽略,从而可以得到这些约束里的状态力表达形式,进而可以用计算状态力的计算方式出这些力的大小。只需将类似于劲度系数这样的系数取得足够大,整个系统的状态将接近于刚性理想化模型中系统的状态。

这种方法的优点在于其将约束力的计算模式化,适于用计算机处理,减少了人工工作量,同时增大了适用范围。

但是这种方式的不足在于:在有限的计算精度下,上述的系数不能取得过大,因为我们已将时空连续的场景近似得不连续,在上述系数过大时,力的大小关于时间和空间的变化率将非常大,从而我们之前关于连续性的近似带来的误差将非常大以至于大幅影响计算结果。故这样的解决方案也有着相当的局限性。

5.对利用计算机解决经典动力学问题的总结

利用计算机解决经典动力学问题是可行的,但是我们无法对任意问题得到任意精确的结果,只能视情况得到这些问题的近似结果,并且近似精度正比于计算机的计算能力,反比与问题的复杂度。

计算机模拟的方案更适于对经典动力学场景做定性的观察,而非定量的研究。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值