答案通过@IsopycnalOscillation解释了一些影响使用显式和隐式方案和应用一个是优先于另一个。在这里,我描述这两种方法实际上是如何工作的,如何隐格式使用的知识后的状态。把常微分方程:$ $ \ dfrac{\偏u}{\部分t} = f (u, t) $ $,为了简单起见,让f (u, t) =铜美元,c是一个积极的美元常数和u = u (t)美元。然后方程:$ $ \ dfrac{\偏u}{\部分t} =铜$ $通常称为线性阻力方程。同样,为了简单起见,我们考虑最简单的两个方案,一阶欧拉向前差分(显式),和一个一阶欧拉向后差分(隐)。如你所知,向前欧拉差分yieds: $ $ u_ {n + 1} =δtu_ u_n-c \ {n} = u_n (1 - c \δt) $ $显式的调用此方法,因为未来状态评估功能的现状。冯·诺依曼的稳定方法,生长因子的定义是:$ $ \λ= \ dfrac {u_ {n + 1}} {u_n} = 1 - c \δt,该计划是稳定的美元美元| \λ| < 1美元,中性| \λ| = 1美元时,和不稳定当$ | \λ| > 1美元。我们看到,欧拉方法应用于线性阻力方程可能是不稳定的。与隐式欧拉向后差分,:$ $ u_ {n + 1} = u_n-c \δt u_ {n + 1} $ $条款重新排列使我们:$ $ u_ {n + 1} = \ dfrac {u_n} {1 + c \δt} $ $注意u_ {n + 1}美元没有找到右边了。在这里,生长因子是:$ $ \λ= \ dfrac {1} {1 + c \δt} $ $,我们看到,在这种情况下,美元| \λ| < 1适用于任何价值的美元和加元\δt美元。 Thus, if one is concerned about stability, an implicit method is advantageous for solving this equation. However, notice that the implicit method is more computationally heavy, even in this simple case, because a division is significantly more expensive operation than multiplication. This is especially true in larger and more complex systems of equations where $f(u,t)$ may be a large matrix that need to be inverted. A good introductory text on these methods and there applications in atmosphere and ocean modeling can be found here: [Mesinger and Arakawa: Numerical Methods Used in Atmospheric Models (1976)][1]. For more references, see the answer to [this question][2]. [1]: http://twister.caps.ou.edu/CFD2013/Mesinger_ArakawaGARP.pdf [2]: //www.hoelymoley.com/questions/2806/resources-for-learning-the-technical-parts-of-atmospheric-modeling/2807
Baidu
map