实际上,用程序模拟物理过程来进行科学研究,在很长一段时间里都是计算机的主要用途。
二战期间,计算机之父冯·诺伊曼曾参与了曼哈顿计划,利用计算机产生的伪随机数,来模拟核反应过程种微观粒子的随机行走。这类算法在后来被称为蒙特卡洛方法,至今依然是计算物理学界的重要工具之一。另外,很多日常生活中用到的编程工具,例如html语言,也是由物理学家为了方便科研发明出来的。
夸张一点说,科学研究才是计算机的原配,现在的繁荣的网络世界都只是科研的副产物。(不过话说回来,科研的目的不就是为了得到这些好用的副产物么......)
偏题了......题主提到的通过编程语言在计算机上模拟微观颗粒的性质,这一点是完全可行的。为了实现这个目的,科学家发明了数不清的方法和软件。大致的,我们可以按模拟尺度来给它们分类:
除去高能物理领域,一般计算模拟涉及的最小模拟单元是电子,尺度大约在埃米( )级别。这类模拟一般以量子力学中的薛定谔方程为理论基础。用波函数完备的描述粒子的各种物理性质,不需要进行额外的假设和近似。也就是说,我们只要输入公式和初始条件,理论上可以准确的算出物质的所有性质。这类无需经验假设和近似计算方法,通常称为第一性原理方法,或者从头算方法。
第一性原理方法由于不带人为的假设,因此精度上是最准确的一种模拟方法。然而,鱼与熊掌往往是不可兼得的。求解薛定谔方程的计算量随粒子个数指数增长,氢原子(只含一个电子)的波函数找个物理系的本科生花几分钟就能手动算出来,然而换成铁原子的话(含26个电子),算到满头白发你也未必能算完百分之一。即使用上高性能计算机和一些合理的近似,第一性原理方法往往也只能处理很小的(通常不到1000个原子)体系,因此应用上受到了一定限制。
为了模拟纳米尺度的物理问题,我们不得不在精度上做出妥协,去使用一些更为粗糙的方法。在这个尺度上,常用的一种方法称为经验势方法(例如经典分子动力学、经典分子静力学、经典蒙特卡洛)。在经验势函方法中,我们并不在模拟中直接通过量子力学直接求解原子-原子间的相互作用,而是先做一系列的测试拟合(可以理解为一种人工智能训练),把这些相互作用拟合成一个现成的函数,实际的模拟过程中仅仅调用这个函数而已。由于原子-原子间的相互作用是拟合出来的,并不能100%的还原真实作用。因此,经验势函数方法在精度上一般不如第一性原理方法。不过这样做的好处是让我们可以用经典力学描述原子的运动了,模拟的计算量也就大大降低。利用这类方法,我们最多能模拟上亿原子(接近微米尺度)的物理问题。
然而很多时候我们需要研究微米级尺度以上的微观结构,这时候经验势方法也不能够满足我们了。为了提高模拟的尺度,我们往往会加入更多的粗粒化近似假设,例如把氨基酸或者碱基设为最小模拟单元来模拟细胞生理学、把辐照缺陷团簇看作一个整体来模拟核辐照损伤,把随机分布的溶质原子看成一个平均场、把材料分割成一个个连续有限的小单元等等。这类模拟方法繁多,就不一一列举了。
以上部分可以用一句话概括:精度越高,计算量越大,能模拟的尺度也就越小,鱼与熊掌不可兼得。
可有时候,我就是又想吃鱼,又想要熊掌,怎么办?(你咋就这么多事呢)
没办法,我们对技术总是贪婪的。应这类”既要尺度,又要精度“的需求,有人就想,我们为什么不能把几种模拟方法结合一下呢?
以金属材料中的裂纹扩展为例,如上图,裂纹尖端处的原子会不断的从金属中暴露出来,化学环境发生变化。因此,这部分原子我们给予vip待遇,用第一性原理去描述。
而裂纹附近的原子仅仅会在应力集中下出现一些原子错位而已,任然大致保持着块体的化学环境,因此我们用经验势方法就能很好的描述了。
而远离裂纹的那些原子,甚至连原子错位都不多,仅仅在应力作用下发生轻微的变形而已,我们用连续的塑性方程就能描述。
嗒嗒嗒哒哒,没错,就靠这么一个类似小点子,三个物理学家成功斩获了2013年的诺贝尔化学奖。(说的好像很容易的样子,有本事你拿一个啊)
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有