[摘记]数值方法15——偏微分方程
注:以下来自《C++数值算法一书》,仅对章节内容做摘要,为的是给自己扫盲,不涉及算法。
偏微分方程通常根据其特征线或信息传播曲线分为三种类型,双曲型、抛物型或椭圆型。双曲型方程的典型例子就是一维波动方程:
抛物型方程的模型方程是扩散方程
椭圆型方程的模型方程是泊松方程
但从计算的角度来看,最重要的分类方法是:眼前的问题是初值问题(随时间的发展)还是边值问题(静态解)。
1. 通量守恒的初值问题
形式如下:
根据欧拉向前差分法,采用LAX修正的FTCS方法进行计算
2. 扩散初值问题
使用半隐式的方法,将向前与向后的差分格式相加,转化为Crank-Nicolson格式。
3. 多维初值问题
用以上方法推广到N+1空间,虽然结果精确,但计算量巨大。
4. 边值问题的傅里叶方法和循环约简法
大多数边值问题可约简为求解如下形式的、大型稀疏线性矩阵:Au=b。如果稀疏矩阵具有某种常见的确定形式时,两种重要的技巧可快速求得上式的解。傅里叶变换法适用于方程具有空间域上的常数系数时;而循环约简法的适用性与方程是否可分有关。
5. 边值问题的松弛法
有两种经典的方法,雅可比方法,但收敛很慢;Gauss-Seidel方法,收敛的也很缓慢,但一些分析还是很有启发性的。
6. 边值问题的多重网格法
(sorry,LZ已阵亡)
本文原创,转载请注明出处