在物理学中,要求基于各种数学模型的理论,都能够对这些理论所描述的系统的行为给出精确的描述。不幸的是,很多问题无法得到精确解(即
解析解
),或求精确解的过程过于复杂。(比如,经典力学中的多体问题。
量子力学
中,除少数极端近似的大多数问题。)此时,将会使用数值近似的方法来求解这类问题。计算物理学就是这样一门数值近似的学科,它使用计算有限的计算步数(往往计算量很大)与简单的数学方法(
算法
),利用计算机操作、演算,得到相应的近似解与相应的
逼近误差
。
计算物理学在物理学中的地位存在着争议。有时候它被视作理论物理的重要工具,有时也被看做一种“计算机实验”,同时也有人将其看作介于理论物理与实验物理之间的第三条物理学分支。考虑到计算机也同时被应用于记录实验数据并进行相应分析,它也可能不适于被单纯地归类为计算科学。
即使使用了计算物理方法,物理问题也时常难以求解。这通常由如下几个(数学)原因造成:缺少相应算法、无法对数值解进行相应分析、复杂度过高和混沌现象。比如,
斯塔克效应
现象中电子波函数的求解(量子力学中,当原子处在强
电场
时,电子行为会发生相应变化),将需要一套很复杂的算法才能求解(只能求解其中的一部分情况);有些问题,则必须使用暴力计算或者时间空间复杂度很高的算法,比如一些复杂方程的求解和图形化方法。有时也会需要使用数学中的
摄动理论
(如量子力学中的
微扰理论
)进行近似求解,比如上面提到的斯塔克效应。
此外,
量子力学
中很多问题的解是指数形式的,其数值解也会相应地发生指数爆炸;此外,宏观系统往往具有10数量级的分子个数,也提高了模拟计算的难度。
最后,很多物理系统本质上是非线性的,甚至是混沌的。这也使得我们难以确定计算机得到的“解”是否是由数值近似带来的逼近误差本身造成的。
由于计算物理学可以研究的问题十分广泛,人们通常按照其解决的数学问题或使用的数学方法来分类,一般可归类如下:
数学问题
|
算法或方法举例
|
物理问题举例
|
|
|
|
|
|
|
|
|
波动问题、输运问题、静场问题、对流问题
|
|
|
|
|
|
|
这些方法被用来研究所建模系统的物理特性。
计算物理学也时常受到
计算化学
的影响,比如固体物理学家利用
密度泛函理论
研究固体的物理特性的方式,与化学家研究分子行为的方式基本一致。
此外,计算物理学研究也需要相应的
软件
与
硬件
来支撑,有时会需要超级计算机和高性能运算的相关技术支持。比如
热核聚变
的研究中就使用了超级计算机来模拟等离子体行为。
计算化学在固体物理学,例如用
密度泛函理论
计算固体的特性,是一种类借助于计算化学理念研究来研究固体分子的物理特性的策略,以及参与其他大量的固体物理学计算。又如电子能带结构和磁性能,电荷密度可以通过这几种方法计算,包括卢京格尔科恩–模型/K·p微扰理论和
从头计算法
。