数值模拟

来自计算思维百科
跳转至: 导航搜索

力学现象的数学模拟,常常归结为求解常微分方程、偏微分方程、积分方程、或代数方程。求解这些方程的方法有两类:一类是求分析解,即以公式表示的解;另一类是求数值解,即以成批数字表示的解。很多力学问题相当复杂,特别是复杂的偏微分方程组,一般难以得出它们的分析解,而用数值方法求解则运算步骤繁复,耗用人力很多,因此在电子计算机出现以前,非不得已不用。20世纪50年代以来,出现了配有现代程序设计语言的通用数字计算机。计算机的快速运算和大存贮量,使解复杂的力学问题成为可能。三十多年来,随着计算机的改进,数值方法得到广泛的应用和很大的发展;主要是考虑算得更快、更准、省钱,并为原先不能算的问题构造算法。数值方法很多,求解偏微分方程数值解,以有限差分方法和有限元法使用最广;此外,还有变分方法、直线法、特征线法和谱方法,等等。这些方法的实质绝大多数是将偏微分方程问题化成代数问题,然后再用计算机求未知函数的数值解。

差分法

有简单、灵活和通用性强等特点。用差分方法求数值解时,须先将自变量的定义域“离散化”,即只企图算自变量定义域中有限个点的未知函数的近似值。如果自变量只有一个,则可把要计算的区间离散成个线段。如果自变量有两个,而计算区域是矩形,则最简单的离散方式是把区域分成多个小矩形。小矩形的长和宽分别叫作方向x和方向y的步长。微分方程中出现的偏导数(,), 在微积分中是差商的极限,在有限差分方法中则代以差商。

原微分方程的差分方程怎样选差商至关重要。此外,偏微分方程总还要附加边界或初始条件,这些条件也要用差分形式表示。这样,对于每个网格点的未知函数值作出未知量的代数方程组。如果网格分得较密,即步长和都比较小,或与 的数值都比较大,则所得代数方程组的未知量的数目将很大,但借助计算机,还是可以很快求出解来。由于步长无法取为零,因此用差分方法只能求得原微分方程的近似解。但只要选择合理的差商和步长,计算结果仍能令人满意,有时还能得到精度很高的解。

有限元法

这种方法是把计算区域剖分成大小不等的三角形(或其他形状的)单元,然后在各单元上用适当的插值函数来代替未知函数。根据变分原理,可将偏微分方程化成代数方程来求解。这种方法具有很广泛的适应性,特别适于求解具有复杂边界形状和物理条件的问题,而且很容易在计算机上实现。1970年以来已研究出一些适用于广泛的线性问题的有限元通用程序,对工程设计起很大作用。按照有限元法剖分的思想,把汽车外壳剖分成大小不等的许多三角形单元,而对弯曲边界只须裁弯取直即可。在应力变化剧烈和要求精确计算的地方,须把单元取得小些;在变化不剧烈的地方则可取得大些。用这种方法不仅可以适应复杂的区域,还可以尽量减少总的单元数目,从而减少未知量的数目。如果在有限差分方法中用矩形网格,则较难处理如此复杂的区域。