计算物理学
計算物理學(英語:Computational physics)是研究如何使用數值方法分析可以量化的物理学問題的学科[1]。 历史上,计算物理学是计算机的第一项应用;目前计算物理学被视为计算科学的分支[2]。
计算物理有时也被视为理论物理的分支学科或子问题,但也有人认为计算物理与理论物理与实验物理联系紧密,又相对独立,是物理学第三大分支[3]。
背景
在物理學中,要求基于各种数学模型的理论,都能够对这些理论所描述的系统的行为给出精确的描述。不幸的是,很多问题无法得到精确解(即解析解),或求精确解的过程过于复杂。(比如,經典力學中的多体问题。量子力學中,除少数极端近似的大多数问题。)此时,将会使用数值近似的方法来求解这类问题。计算物理学就是这样一门数值近似的学科,它使用计算有限的计算步数(往往计算量很大)与简单的数学方法(算法),利用计算机操作、演算,得到相应的近似解与相应的逼近误差。[1]
物理学中的地位
计算物理学在物理学中的地位目前存在着争议[4] 。有时候它被视作理论物理的重要工具,有时也被看做一种“计算机实验”[4] ,同时也有人将其看作介于理论物理与实验物理之间的第三条物理学分支。考虑到计算机也同时被应用于记录实验数据并进行相应分析,它也可能不应被单纯地归类为计算科学。
问题与挑战
即使使用了计算物理方法,物理问题也时常难以求解。这通常由如下几个(数学)原因造成:缺少相应算法、无法对数值解进行相应分析、复杂度过高和混沌现象。比如,斯塔克效应现象中电子波函数的求解(量子力学中,当原子处在强电场时,电子行为会发生相应变化),将需要一套很复杂的算法才能求解(目前只能求解其中的一部分情况);有些问题,则必须使用暴力计算或者时间空间复杂度很高的算法,比如一些复杂方程的求解和图形化方法。有时也会需要使用数学中的摄动理论(如量子力学中的微扰理论)进行近似求解,比如上面提到的斯塔克效应。
此外,量子力学中很多问题的解是指数形式的,其数值解也会相应地发生指数暴增;此外,宏观系统往往包含1023数量级巨大的分子数目,也提高了模拟计算的难度。[5]
最后,很多物理系统本质上是非线性的,甚至是混沌的。这也使得我们难以确定计算机得到的“解”是否是由数值近似带来的逼近误差本身造成的。
方法与算法
由于计算物理学可以研究的问题十分广泛,人们通常按照其解决的数学问题或使用的数学方法来分类,一般可归类如下:
数学问题 | 算法或方法举例 | 物理问题举例 |
---|---|---|
微分的计算 | 数值微分 | |
積分的計算 | 数值积分或蒙特卡洛积分 | 求质心位置、场的叠加 |
求函数的极值 | 最速下降法、模拟退火算法、遗传算法 | |
常微分方程的求解 | 龙格-库塔法(初值问题)、打靶法(边值问题)[3] | 经典力学中的刚体运动、多体问题 |
偏微分方程的求解 | 差分法、有限元分析和伪谱法 | 波动问题、输运问题、静场问题、对流问题 |
矩阵的特征值和特征向量的求解 | 矩阵分析相关方法,如精確對角化法、密度矩陣重整化群 | 量子力学系统中能量本征值和本征态的求解 |
大量系列随机事件的相互作用 | 蒙特卡罗方法 | 分子动力学、等离子体的动力学方程 |
这些方法被用来研究所建模系统的物理特性。
计算物理学也时常受到计算化学的影响,比如固体物理学家利用密度泛函理论研究固体的物理特性的方式,与化学家研究分子行为的方式基本一致。
此外,计算物理学研究也需要相应的软件与硬件来支撑,有时会需要超级计算机和高性能运算的相关技术支持。比如热核聚变的研究中就使用了超级计算机来模拟等离子体行为。
分支与交叉
几乎所有物理学的主要分支都能在计算物理学的应用中找到一席之地,比如计算力学、计算电动力学、计算等离子体等。计算力学又由计算流体力学(CFD)、计算固体力学、计算接触力学组成。而计算流体力学与计算电动力学又共同促成了计算磁流体力学。量子力学N体问题中,当N趋近于无穷大时就变成了计算化学问题。 作为计算物理重要分支的计算固体物理,又直接应用于材料科学。
一个与计算凝聚态物质特性相关的分支叫做计算统计力学,用于解决其他方法难以解决的一些问题(比如渗透过滤、磁旋等)。
計算天體物理學,乃是對於天體物理學問題所進行的技術與方法。
應用
主要用於解決計算物理學的問題,應用在物理學不同領域皆,現代物理學研究的重要組成部分。如:加速器物理學、天體物理學、流體力學(含:计算流体力学)、晶體場理論/格点规范理论(尤其是格点量子色动力学)、等離子體(見:等离子体模拟)、模擬物理系統(應用在分子動力學)、蛋白質結構預測、固體物理學、軟物質等諸多物理學之領域。
计算化學在固体物理学,例如用密度泛函理論计算固体的特性,是一种类借助於計算化学理念研究來研究固體分子的物理特性的策略,以及參與其他大量的固體物理學計算。又如电子能带结构和磁性能,电荷密度可以通过这几种方法计算,包括卢京格尔科恩–模型/K·p微扰理论和從頭計演算法。
应用软件
计算物理常用软件主要为Matlab、和Mathematica和Maple等数值计算软件,这些软件提供了大量求解常见计算物理问题的工具,供使用者直接应用。常见的高级语言也可以实现相同的计算功能,有时甚至能够更高速完成任务,但这也需要相应的编程技巧与计算物理知识作支撑。
参见
参考资料
- ^ 1.0 1.1 J. Thijssen, Joseph. Computational Physics. Cambridge University Press. 2007. ISBN 0521833469.
- ^ A. Tapia, Richard. Computational Science: Tools for a Changing World. Rice Center for Excellence and Equity in Education (CEEE). 2001.
- ^ 3.0 3.1 《计算物理学》 刘金远等 科学出版社 ISBN 978-7-03-034793-0
- ^ 4.0 4.1 A molecular dynamics primer, (页面存档备份,存于互联网档案馆) Furio Ercolessi, University of Udine, Italy. Article PDF (页面存档备份,存于互联网档案馆).
- ^ How Long Do Numerical Chaotic Solutions Remain Valid?. Bibcode:1997PhRvL..79...59S. doi:10.1103/PhysRevLett.79.59.
外部連結
- C20 IUPAP Commission on Computational Physics(页面存档备份,存于互联网档案馆)
- APS DCOMP(页面存档备份,存于互联网档案馆)
- IoP CPG (UK)(页面存档备份,存于互联网档案馆)
- SciDAC: Scientific Discovery through Advanced Computing
- Open Source Physics(页面存档备份,存于互联网档案馆)
- SCINET Scientific Software Framework(页面存档备份,存于互联网档案馆)
- 萊斯大學查理德中心(页面存档备份,存于互联网档案馆)