<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>《微分方程数值解法》主要PDE公式总结</title>
  <script>
  MathJax = {
    tex: {
      packages: {'[+]': ['ams', 'bm', 'unicode', 'mhchem']},
      inlineMath: [['$', '$'], ['\\(', '\\)']],
      displayMath: [['$$', '$$'], ['\\[', '\\]']],
      processEscapes: true
    },
    chtml: {
      fontURL: 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2'
    }
  };
  </script>
  <script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js" id="MathJax-script" async></script>
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Serif+SC:wght@400;500;700&display=swap" rel="stylesheet">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" rel="stylesheet">

<style>
body {
    font-family: "Inter", "Noto Serif SC", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.8;
    background-color: #f9f9f9;
    color: #333;
    padding: 15px;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.container {
    max-width: 1000px;
    margin: 20px auto;
    padding: 25px 35px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}
.material-icons-outlined {
    vertical-align: middle;
    font-size: 1.2em;
    margin-right: 0.4em;
    line-height: 1;
}
h1 {
    font-size: 2.2rem;
    color: #005a9c; /* Deeper blue */
    border-bottom: 2px solid #005a9c;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    display: flex;
    align-items: center;
    font-family: "Noto Serif SC", serif; font-weight: 700;
}
h1 > .material-icons-outlined { font-size: 1.2em; margin-right: 0.5em; color: #005a9c;}

h2 {
    font-size: 1.8rem;
    color: #007bff;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 0.4em;
    margin-top: 2.5em;
    margin-bottom: 1.2em;
    display: flex;
    align-items: center;
    font-family: "Noto Serif SC", serif; font-weight: 600;
}
h2 > .material-icons-outlined { font-size: 1.15em; margin-right: 0.4em; color: #007bff;}

h3 {
    font-size: 1.45rem;
    color: #17a2b8; /* Teal for sub-sections */
    margin-top: 2em;
    margin-bottom: 1em;
    font-family: "Noto Serif SC", serif; font-weight: 500;
}
h3 > .material-icons-outlined { font-size: 1.1em; margin-right: 0.4em; color: #17a2b8;}

h4 {
    font-size: 1.25rem;
    color: #28a745; /* Green for specific methods */
    margin-top: 1.8em;
    margin-bottom: 0.8em;
    font-weight: 600;
}
.description {
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 0.5em;
    margin-left: 5px;
}
.math-formula {
    font-size: 1.1em;
    padding: 15px 20px;
    background-color: #f0f4f8; /* Lighter blue background for formulas */
    border-radius: 6px;
    text-align: left;
    margin: 1em 0 1.5em 0;
    overflow-x: auto;
    border: 1px solid #d1dce8;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.math-formula p { margin-bottom: 0.5em; } /* Tighter spacing within formula block if needed */

ul { padding-left: 20px; }
li { margin-bottom: 0.5em; }

.notes-section {
    margin-top: 3em;
    padding: 20px;
    background-color: #fff9e6; /* Light yellow for notes */
    border-left: 5px solid #ffc107; /* Amber border */
    border-radius: 4px;
}
.notes-section h3 { margin-top:0; color: #c88f00; } /* Darker yellow for notes heading */
.notes-section p, .notes-section li { color: #504000; }

.equation-list p { margin-bottom: 0.8em; font-size: 1.05em; }
.equation-list .math-formula { margin-top: 0.2em; margin-bottom: 0.8em;}

@media (max-width: 768px) {
    body { padding: 10px; }
    .container { padding: 20px; margin:10px auto; }
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.3rem; }
    h4 { font-size: 1.15rem; }
    .math-formula { font-size: 1em; padding: 10px 15px; }
}

</style>
</head>
<body>
    <div class="container">
        <h1><span class="material-icons-outlined" aria-hidden="true">functions</span>《微分方程数值解法》(李荣华) 主要PDE求解公式总结</h1>

        <section id="elliptic">
            <h2><span class="material-icons-outlined" aria-hidden="true">border_style</span>一、椭圆型方程 (Elliptic Equations)</h2>
            
            <h3><span class="material-icons-outlined" aria-hidden="true">filter_1</span>主要讨论方程示例:</h3>
            <div class="equation-list">
                <p>二阶常微分方程边值问题(可视为一维椭圆问题):</p>
                <div class="math-formula"> $Lu = -\frac{d^2u}{dx^2} + qu = f$ </div>
                <p>更一般的形式:</p>
                <div class="math-formula"> $Lu = -\frac{d}{dx}\left(p\frac{du}{dx}\right) + r\frac{du}{dx} + qu = f$ </div>
                <p>二维泊松 (Poisson) 方程:</p>
                <div class="math-formula"> $-\Delta u = f(x,y)$ </div>
                <p>二维一般二阶椭圆方程:</p>
                <div class="math-formula"> $-(A u_x)_x - (B u_y)_y + C u_x + D u_y + Eu = F$ </div>
                <p>极坐标形式的泊松方程:</p>
                <div class="math-formula"> $-\left[\frac{1}{r}\frac{\partial}{\partial r}\left(r\frac{\partial u}{\partial r}\right) + \frac{1}{r^2}\frac{\partial^2 u}{\partial \theta^2}\right] = f(r,\theta)$ </div>
            </div>

            <h3><span class="material-icons-outlined" aria-hidden="true">grid_on</span>主要差分格式/求解公式:</h3>
            
            <h4>一维问题</h4>
            <p class="description">中心差分格式 (等距网格,针对 $-u''+qu=f$):</p>
            <div class="math-formula"> $-\frac{u_{i+1}-2u_i+u_{i-1}}{h^2} + q_i u_i = f_i$ </div>
            
            <p class="description">直接差分化/有限体积法 (不等距/等距网格,针对 $-(pu')' + ru' + qu = f$):</p>
            <p class="description">一般形式:</p>
            <div class="math-formula"> $-\frac{2}{h_i+h_{i+1}}\left[p_{i+\frac{1}{2}}\frac{u_{i+1}-u_i}{h_{i+1}} - p_{i-\frac{1}{2}}\frac{u_i-u_{i-1}}{h_i}\right] + \frac{r_i}{h_i+h_{i+1}}(u_{i+1}-u_{i-1}) + q_i u_i = f_i$ </div>
            <p class="description">等距网格简化形式 ($h_i = h_{i+1} = h$, $p_{i \pm 1/2}$ 表示在 $x_i \pm h/2$ 处的值):</p>
            <div class="math-formula"> $-\frac{1}{h^2}\left[p_{i+\frac{1}{2}}u_{i+1} - (p_{i+\frac{1}{2}}+p_{i-\frac{1}{2}})u_i + p_{i-\frac{1}{2}}u_{i-1}\right] + r_i\frac{u_{i+1}-u_{i-1}}{2h} + q_i u_i = f_i$ </div>
            
            <p class="description">有限体积法 (守恒型) (针对 $-(pu')'+qu=f$, $a_i = p(x_{i-1/2})$, $d_i = q(x_i)$, $\phi_i$ 为 $f$ 在控制体上的平均):</p>
            <div class="math-formula"> $-\left[a_{i+\frac{1}{2}}\frac{u_{i+1}-u_i}{h_{i+1}} - a_{i-\frac{1}{2}}\frac{u_i-u_{i-1}}{h_i}\right] + \left(\frac{h_i+h_{i+1}}{2}\right)d_i u_i = \left(\frac{h_i+h_{i+1}}{2}\right)\phi_i$ </div>
            
            <p class="description">待定系数法 (示例 $u''=f$):</p>
            <div class="math-formula"> $\frac{u_{i+1}-2u_i+u_{i-1}}{h^2} = f_i \quad (\text{二阶精度})$ </div>
            <div class="math-formula"> $\frac{u_{i+1}-2u_i+u_{i-1}}{h^2} = f_i + \frac{h^2}{12}f_i'' \quad (\text{四阶精度})$ </div>

            <h4>二维矩形网格问题 (主要针对泊松方程 $-\Delta u = f$)</h4>
            <p class="description">五点差分格式:</p>
            <div class="math-formula"> $-\left[\frac{u_{i+1,j}-2u_{i,j}+u_{i-1,j}}{h_1^2} + \frac{u_{i,j+1}-2u_{i,j}+u_{i,j-1}}{h_2^2}\right] = f_{i,j}$ </div>
            <p class="description">正方形网格 ($h_1=h_2=h$) 时:</p>
            <div class="math-formula"> $u_{i,j} - \frac{1}{4}(u_{i-1,j}+u_{i,j-1}+u_{i+1,j}+u_{i,j+1}) = \frac{h^2}{4}f_{i,j}$ </div>
            <p class="description">Laplace 方程 ($f=0$) 时:</p>
            <div class="math-formula"> $u_{i,j} = \frac{1}{4}(u_{i-1,j}+u_{i,j-1}+u_{i+1,j}+u_{i,j+1})$ </div>
            
            <p class="description">九点差分格式 (更高精度, $\Delta_h u_{i,j}$ 是五点格式的左端):</p>
            <div class="math-formula"> $-\Delta_h u_{i,j} - \frac{1}{12}\left[4u_{i,j}-2(u_{i-1,j}+u_{i,j-1}+u_{i+1,j}+u_{i,j+1})+u_{i-1,j-1}+u_{i+1,j-1}+u_{i+1,j+1}+u_{i-1,j+1}\right] = \dots $ <br> (右端项依赖于$f$及其导数以达到更高精度, 此处省略具体形式)</div>
            
            <p class="description">一般二阶椭圆方程的差分格式 (示意性,具体算子定义见书):</p>
            <div class="math-formula"> $-\left[A_{i-\frac{1}{2},j}(u_{i,j})^*_{\bar{x}}\right]^*_x - \left[B^*_{i,j-\frac{1}{2}}(u^*_{i,j})^*_{\bar{y}}\right]^*_y + C^*_{i,j}(u^*_{i,j})^*_{\hat{x}} + D^*_{i,j}(u_{i,j})^*_{\hat{y}} + E^*_{i,j}u_{i,j} = F_{i,j}$ </div>

            <h4>二维三角网格问题 (有限体积法,针对泊松方程 $-\Delta u = f$)</h4>
            <p class="description">内点格式 ($P_0$为中心点, $P_{k+1}$为邻点, $q_k, q_{k+1}$为对偶单元顶点, $m(G_0)$为对偶单元面积, $\phi_0$为$f$在$G_0$上的平均):</p>
            <div class="math-formula"> $-\sum_k \frac{|\overline{q_k q_{k+1}}|}{|\overline{P_0 P_{k+1}}|}(u_{P_{k+1}}-u_{P_0}) = m(G_0)\phi_0$ </div>
            <p class="description">正三角网格 (长度为$h$的等边三角形构成, $u_0$为中心点, $u_k$为6个邻点):</p>
            <div class="math-formula"> $-\frac{2}{3h^2}\left(\sum_{k=1}^{6} u_k - 6u_0\right) = \text{右端项}$ </div>
            <p class="description">正六边形网格 ($u_0$为中心点, $u_k$为3个邻点, $h$为六边形对边距):</p>
            <div class="math-formula"> $-\frac{4}{3h^2}\left(\sum_{k=1}^{3} u_k - 3u_0\right) = \text{右端项}$ </div>
            
            <h4>极坐标形式的差分格式 (针对泊松方程)</h4>
            <p class="description">$r_i \neq 0$ 时:</p>
            <div class="math-formula"> $-\left[\frac{1}{r_i}\frac{r_{i+\frac{1}{2}}(u_{i+1,j}-u_{i,j})/h_r - r_{i-\frac{1}{2}}(u_{i,j}-u_{i-1,j})/h_r}{h_r} + \frac{1}{r_i^2}\frac{u_{i,j+1}-2u_{i,j}+u_{i,j-1}}{h_\theta^2}\right] = f(r_i,\theta_j)$ <br> (注: 中括号内第一项更精确的写法是 $\frac{1}{r_i \bar{h}_r} (r_{i+1/2} \frac{u_{i+1,j}-u_{i,j}}{h_r} - r_{i-1/2} \frac{u_{i,j}-u_{i-1,j}}{h_r})$ 其中 $\bar{h}_r$ 为径向平均步长,若等距则为$h_r$)</div>
            <p class="description">$r=0$ (原点附近) 时 (一种处理方式):</p>
            <div class="math-formula"> $-4\frac{u_{1,j}-u_{0,j}}{h_r^2} - \frac{1}{(h_r/2)^2} \frac{1}{N}\sum_{k=0}^{N-1} (u_{1,k} - u_{0,j}) \approx f_{0,j}$ <br>(书中公式可能不同,这是一种基于对称性和Taylor展开的近似,或使用直角坐标转换) <br> (书中 (2.8.6) 示例: $-\frac{2}{h_r}\frac{u_{1j}-u_{0j}}{h_r} - \frac{4}{h_r^2}\frac{u_{0,j+1}-2u_{0j}+u_{0,j-1}}{h_\theta^2} = f_{0j}$ ,这似乎是一个笔误,原点处Laplace算子有特殊形式)</div>
        </section>

        <hr style="margin: 3em 0;">

        <section id="parabolic">
            <h2><span class="material-icons-outlined" aria-hidden="true">thermostat</span>二、抛物型方程 (Parabolic Equations)</h2>
            <h3><span class="material-icons-outlined" aria-hidden="true">filter_1</span>主要讨论方程示例:</h3>
            <div class="equation-list">
                <p>一维热传导方程:</p>
                <div class="math-formula"> $\frac{\partial u}{\partial t} = \frac{\partial^2 u}{\partial x^2} \quad (\text{或 } u_t = a u_{xx})$ </div>
                <p>含对流项的抛物方程</p>
            </div>

            <h3><span class="material-icons-outlined" aria-hidden="true">grid_on</span>主要差分格式/求解公式:</h3>
            <p class="description">记 $\delta_x^2 u_j^n = u_{j+1}^n - 2u_j^n + u_{j-1}^n$</p>

            <h4>显式格式 (Forward Time Centered Space, FTCS)</h4>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^n}{\tau} = \frac{u_{j+1}^n - 2u_j^n + u_{j-1}^n}{h^2}$ </div>
            
            <h4>隐式格式 (Backward Time Centered Space, BTCS)</h4>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^n}{\tau} = \frac{u_{j+1}^{n+1} - 2u_j^{n+1} + u_{j-1}^{n+1}}{h^2}$ </div>

            <h4>Crank-Nicolson (C-N) 格式 (六点格式)</h4>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^n}{\tau} = \frac{1}{2h^2}[\delta_x^2 u_j^{n+1} + \delta_x^2 u_j^n]$ <br>
            即 $\frac{u_j^{n+1} - u_j^n}{\tau} = \frac{1}{2}\left(\frac{u_{j+1}^{n+1} - 2u_j^{n+1} + u_{j-1}^{n+1}}{h^2} + \frac{u_{j+1}^n - 2u_j^n + u_{j-1}^n}{h^2}\right)$ </div>

            <h4>$\theta$ 方法 (统一显式、隐式和C-N)</h4>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^n}{\tau} = \frac{1}{h^2}[\theta \delta_x^2 u_j^{n+1} + (1-\theta)\delta_x^2 u_j^n]$ </div>
            <p class="description">($\theta=0$ 为显式, $\theta=1$ 为隐式, $\theta=1/2$ 为C-N)</p>

            <h4>Richardson 格式 <span class="description">(显式,不稳定)</span></h4>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^{n-1}}{2\tau} = \frac{\delta_x^2 u_j^n}{h^2}$ </div>
            
            <h4>DuFort-Frankel 格式 <span class="description">(显式,条件稳定,但可能不相容)</span></h4>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^{n-1}}{2\tau} = \frac{u_{j+1}^n - (u_j^{n+1} + u_j^{n-1}) + u_{j-1}^n}{h^2}$ </div>
            
            <h4>分数步长法 (Fractional Step Methods) / 算子分裂法 (Operator Splitting Methods)</h4>
            <p class="description">ADI (Alternating Direction Implicit) 法 (主要用于二维 $u_t = u_{xx} + u_{yy}$):</p>
            <p class="description">第一步 (对x方向隐式,y方向显式):</p>
            <div class="math-formula"> $\frac{u_{i,j}^{n+1/2} - u_{i,j}^n}{\tau/2} = \frac{\delta_x^2 u_{i,j}^{n+1/2}}{h_x^2} + \frac{\delta_y^2 u_{i,j}^n}{h_y^2}$ </div>
            <p class="description">第二步 (对y方向隐式,x方向用中间值显式):</p>
            <div class="math-formula"> $\frac{u_{i,j}^{n+1} - u_{i,j}^{n+1/2}}{\tau/2} = \frac{\delta_x^2 u_{i,j}^{n+1/2}}{h_x^2} + \frac{\delta_y^2 u_{i,j}^{n+1}}{h_y^2}$ </div>
            <p class="description">(这是Peaceman-Rachford ADI 型)</p>

            <p class="description">LOD (Locally One-Dimensional) 法 (用于二维 $u_t=(A_1+A_2)u$):</p>
            <div class="math-formula"> $\frac{u^{n+1/2} - u^n}{\Delta t} = A_1 u^{n+1/2} + A_2 u^n$ </div>
            <div class="math-formula"> $\frac{u^{n+1} - u^{n+1/2}}{\Delta t} = A_1 u^{n+1/2} + A_2 u^{n+1}$ </div>
            <p class="description">(其中 $A_1, A_2$ 为对应 x,y 方向的空间差分算子)</p>
        </section>

        <hr style="margin: 3em 0;">

        <section id="hyperbolic">
            <h2><span class="material-icons-outlined" aria-hidden="true">waves</span>三、双曲型方程 (Hyperbolic Equations)</h2>
            <h3><span class="material-icons-outlined" aria-hidden="true">filter_1</span>主要讨论方程示例:</h3>
            <div class="equation-list">
                <p>一维波动方程:</p>
                <div class="math-formula"> $\frac{\partial^2 u}{\partial t^2} = a^2 \frac{\partial^2 u}{\partial x^2}$ </div>
                <p>一阶线性双曲方程:</p>
                <div class="math-formula"> $\frac{\partial u}{\partial t} + c \frac{\partial u}{\partial x} = 0$ </div>
                <p>一阶线性双曲方程组</p>
                <p>对流占优扩散方程</p>
            </div>

            <h3><span class="material-icons-outlined" aria-hidden="true">grid_on</span>主要差分格式/求解公式:</h3>
            
            <h4>波动方程 ($u_{tt} = a^2 u_{xx}$)</h4>
            <p class="description">显式中心差分格式:</p>
            <div class="math-formula"> $\frac{u_j^{n+1} - 2u_j^n + u_j^{n-1}}{\tau^2} = a^2 \frac{u_{j+1}^n - 2u_j^n + u_{j-1}^n}{h^2}$ </div>
            <p class="description">隐式差分格式 (书中 (4.1.10) 的一个例子, $\delta_t^2 u_j^n = u_j^{n+1}-2u_j^n+u_j^{n-1}$):</p>
            <div class="math-formula"> $\frac{1}{\tau^2}\delta_t^2 u_j^n = \frac{a^2}{h^2}[\alpha\delta_x^2 u_j^{n+1} + (1-2\alpha)\delta_x^2 u_j^n + \alpha\delta_x^2 u_j^{n-1}]$ </div>

            <h4>一阶线性双曲方程 ($u_t + c u_x = 0$)</h4>
            <p class="description">迎风格式 (Upwind Scheme):</p>
            <p class="description">$c>0$:</p>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^n}{\tau} + c\frac{u_j^n - u_{j-1}^n}{h} = 0$ </div>
            <p class="description">$c<0$:</p>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^n}{\tau} + c\frac{u_{j+1}^n - u_j^n}{h} = 0$ </div>
            
            <p class="description">Lax-Friedrichs 格式 (显式,一阶):</p>
            <div class="math-formula"> $\frac{u_j^{n+1} - \frac{1}{2}(u_{j+1}^n + u_{j-1}^n)}{\tau} + c\frac{u_{j+1}^n - u_{j-1}^n}{2h} = 0$ </div>

            <p class="description">Lax-Wendroff 格式 (显式,二阶):</p>
            <div class="math-formula"> $u_j^{n+1} = u_j^n - \frac{c\tau}{2h}(u_{j+1}^n - u_{j-1}^n) + \frac{c^2\tau^2}{2h^2}(u_{j+1}^n - 2u_j^n + u_{j-1}^n)$ </div>
            
            <p class="description">Crank-Nicolson 格式 (隐式,二阶):</p>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^n}{\tau} + c \frac{1}{2} \left( \frac{u_{j+1}^{n+1} - u_{j-1}^{n+1}}{2h} + \frac{u_{j+1}^n - u_{j-1}^n}{2h} \right) = 0$ </div>

            <p class="description">跳点格式 (Leapfrog Scheme) (显式,二阶):</p>
            <div class="math-formula"> $\frac{u_j^{n+1} - u_j^{n-1}}{2\tau} + c\frac{u_{j+1}^n - u_{j-1}^n}{2h} = 0$ </div>
        </section>
        
        <section class="notes-section">
            <h3><span class="material-icons-outlined" aria-hidden="true">sticky_note_2</span>说明:</h3>
            <ul>
                <li>$\tau$ (或 $\Delta t$) 通常表示时间步长,$h$ (或 $h_x, h_y$) 表示空间步长。</li>
                <li>$u_j^n$ 表示在空间点 $x_j$ (或二维中的 $(x_i,y_j)$) 和时间点 $t_n$ 的数值解。有时也用 $u_{i,j}^n$ 表示二维情况。</li>
                <li>$\delta_x^2 u_j^n = u_{j+1}^n - 2u_j^n + u_{j-1}^n$ 是关于空间变量 $x$ 的二阶中心差分算子。类似地,$\delta_y^2 u_{i,j}^n = u_{i,j+1}^n - 2u_{i,j}^n + u_{i,j-1}^n$。</li>
                <li>书中对于某些复杂方程或边界条件的处理,会基于这些基本格式进行调整或组合。</li>
                <li>迭代法 (如 SOR法、共轭梯度法、交替方向法 ADI) 主要用于求解由隐式差分格式产生的线性代数方程组。</li>
                <li>这份总结希望能帮助您理清思路。具体每个公式的详细推导、适用条件、稳定性及收敛性分析,请参考书中的对应章节。</li>
            </ul>
        </section>

    </div>
<script>
// Trigger MathJax typesetting after the page content is loaded.
document.addEventListener('DOMContentLoaded', function() {
  if (window.MathJax) {
    MathJax.typesetPromise();
  }
});
</script>
</body>
</html>

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.