流体程序建立的四个步骤分别是:
从第一步说起:这一步也是最简单的,添加外力。首先我们设定在t 时间到t +时间段内考虑问题,并且我们假设外力在
时间内变化不是非常大,所以:
,这样第一步就完成了。
第二步,流体的对流的效果是非常重要的一部分。在流体中,干扰的传播根据,很明显,这将导致Navier-Stokes方程为非线性方程。Foster和Metaxas解决这个问题通过有限差分的方法,这种方法很好,在
段非常小的时候。本文介绍的方法为特征线法,完全不需要任何条件仍然非常稳定。
在每一个时间间隔内,所有的流体例子被它自己的速度所移动。因此,为了获得粒子在点X,在新的时间上的速度,我们能够追溯这个点X通过速度场w1在
时间内。这就定义了一个路径
对应速度场的局部流线。因此:
.至此,第二步搞定。
第三步,流体的扩散。解决粘度的效果是等价于扩散方程。因此:.解决这个方程的最直接的方法就是离散化扩散因子
,然后按照Foster和Metaxas的方法去做。因此,文中使用的不明显的方法为:
.
第四步,映射方法需要一种好的对Possion方程的解决方法。Possion方程:.
下面我们考虑边界问题。
当我们考虑周期性边界条件在一个域当中,我们的算法能够采用一种比较简单的方式。周期性使得我们可以把速度转化到Fourier域:
,在Fourier域中,算子
等价于iK,
.因此,扩散步骤和映射步骤都是比较简单去解决了。
因此在Fourier域中的步骤变为:
Fourier变换的复杂度为:,理论上来说这种方法消耗的代价要不多网格法更大,但是这种方法比较简单去实施。