PHYSICAL-BASIS PROJECTION · 从零开始

每一行公式,
都解释到为什么

从“导数就是斜率”讲起,不跳步地求解一个带齐次 Neumann 边界的二维 Poisson 方程。你可以改变模态与振幅,整套推导会同步更新。

从第 0 步开始
✓ 不省略中间步骤✓ 公式规范排版✓ 每步都有白话解释
今天要求解的题目Ω=[0,1]×[0,1]
(2ux2+2uy2)=5π2cos(1πx)cos(2πy)
四条边界:法向导数 ∂u/∂n = 0
最终会严格推出
u(x,y)=1cos(1πx)cos(2πy)+C
A
改变例题推导中的数字会自动更新
READ THIS FIRST

先认清 8 个符号

u(x,y)
我们要寻找的未知函数,可理解成温度或势能。
f(x,y)
已经知道的源项,告诉系统哪里在“产生”或“消耗”。
∂u/∂x
固定 y,只沿 x 方向看 u 的斜率。
∂²u/∂x²
斜率变化得有多快,也就是曲率。
Δu
拉普拉斯算子:uxx+uyy
φkl
第 (k,l) 个基函数,一块可拼装答案的“积木”。
λkl
基函数对应的特征值,表示这个模态被 −Δ 放大的倍数。
⟨f,φ⟩
内积,也就是把两个函数相乘后在全区域积分。
THE FULL DERIVATION

11 步完整推导

每一步都回答三个问题:正在做什么、为什么能这样做、这一步留下了什么结果。

00
STEP 00

先认识题目

这一步在做什么?

把一句紧凑的偏微分方程拆成定义域、已知量、未知量和边界条件四部分。

在单位正方形 Ω=[0,1]×[0,1] 内,我们寻找未知函数 u(x,y)。右边的 f(x,y) 是已知源项:

Δu=f=5π2cos(1πx)cos(2πy)

“−Δu”是 −(uxx+uyy) 的缩写。边界条件 ∂u/∂n=0 表示:沿着每条边向外的方向,u 的斜率都是 0。

为什么可以这样做

做题前先分清哪些东西已知、哪些东西要求,后面每个符号才不会混乱。

到这里你已经得到一个定义清楚的 Neumann–Poisson 问题
01
STEP 01

把边界条件翻译成斜率

这一步在做什么?

把抽象的法向导数写成正方形四条边上能够直接计算的式子。

ux(0,y)=ux(1,y)=0
uy(x,0)=uy(x,1)=0

高中几何里,导数就是切线斜率。因此这个边界不是说 u=0,而是说曲面走到边缘时“变平了”。

为什么可以这样做

正方形左右两边的法向沿 x 轴,上下两边的法向沿 y 轴。

到这里你已经得到四个端点斜率条件
02
STEP 02

从边界推导一维余弦基

这一步在做什么?

先只看一条长度为 1 的线段,寻找两端斜率都为 0 的函数。

试正弦 ψ(s)=sin(βs):ψ′(0)=β,一般不等于 0,所以正弦不适合当前边界。

再试余弦 ψ(s)=cos(βs):

ψ(s)=βsin(βs)

s=0 时,sin(0)=0,左端自动满足。要让 s=1 也满足,就要 sin(β)=0,因此 β=nπ,n=0,1,2,…。

为什么可以这样做

二维问题可以先分别解决 x 和 y 方向,再把两个一维结果相乘。

到这里你已经得到φₙ(s)=cos(nπs) 的形状
03
STEP 03

把基函数归一化

这一步在做什么?

给每块“函数积木”统一长度,使它们的内积等于 1。

01cos2(nπs)ds=12,n1

余弦平方的积分是 1/2,所以乘上 √2 后,平方积分变成 1:

φ0(s)=1,φn(s)=2cos(nπs),n1
为什么可以这样做

统一长度后,投影系数可以直接由内积读出,公式最干净。

到这里你已经得到单位长度的一维正交基
04
STEP 04

拼成二维基函数

这一步在做什么?

把 x 方向的积木与 y 方向的积木相乘,得到铺满正方形的二维波纹。

φkl(x,y)=φk(x)φl(y)

因为当前 p、q 都大于 0,所以两个 √2 相乘得到 2:

φ12=2cos(1πx)cos(2πy)

对它求两次偏导,会回到自身,只多出一个常数倍:

Δφkl=λklφkl,λkl=π2(k2+l2)
为什么可以这样做

长方形区域与 Laplace 算子都能按 x、y 分离,乘积基会保持正交。

到这里你已经得到当前例题的基函数 φ12
05
STEP 05

先检查方程有没有解

这一步在做什么?

在投入计算前,检查源项总量是否与零通量边界相容。

ΩfdΩ=Ωunds=0

我们的源项含 cos(pπx) 和 cos(qπy)。任意正整数 p、q 都满足:

01cos(1πx)dx=0,01cos(2πy)dy=0

所以 f 在整个正方形上的正负部分正好抵消,方程确实有解。

为什么可以这样做

四条边都不允许净通量流出,所以区域内部源项的总和必须为 0。

到这里你已经得到Neumann 问题的可解性条件成立
06
STEP 06

把未知函数拆成模态

这一步在做什么?

假设未知函数可以由所有二维基函数叠加而成,每个基函数前有一个待求数字。

u(x,y)=k=0l=0uklφklf(x,y)=k=0l=0fklφkl

ukl 与 fkl 都只是普通数字。复杂的“求函数”问题,将变成逐个寻找这些数字。

为什么可以这样做

正交基就像坐标轴;平面向量能拆成 x、y 分量,函数也能拆成无穷多个正交模态。

到这里你已经得到把求函数变成求一串数字 uₖₗ
07
STEP 07

把源项投影到基上

这一步在做什么?

用内积测量源项在每个基函数方向上有多少分量。

fkl=f,φkl=ΩfφkldΩ

对当前唯一匹配的 (1,2) 模态:

f12=1λ12×2×12×12=1λ122

其中“2”来自二维归一化基,两个“1/2”来自 x、y 方向的余弦平方积分。

为什么可以这样做

正交性会让不匹配的频率全部积分为零,像筛子一样只留下相同模态。

到这里你已经得到只有 f12 非零
08
STEP 08

把微分移到基函数上

这一步在做什么?

通过两次分部积分,把难处理的 −Δu 换成已经知道结果的 −Δφₖₗ。

一维的分部积分公式是 ∫v″w=[v′w]−∫v′w′。对剩余积分再做一次,就能把二阶导数从 v 移到 w。

Δu,φkl=u,Δφkl

第 04 步已经知道 −Δφklklφkl,所以:

λklukl=fkl

这就是方法的核心:微分运算被“对角化”,每个模态之间不再互相干扰。

为什么可以这样做

u 与 φ 的法向导数都在边界为 0,所以分部积分产生的边界项全部消失。

到这里你已经得到微分方程变成 λₖₗuₖₗ=fₖₗ
09
STEP 09

求出唯一的非零系数

这一步在做什么?

把第 07 步得到的 fₚq 除以第 04 步得到的特征值 λₚq。

λ12=π2(12+22)=5π2
u12=f12λ12=1λ122λ12=0.5

λ 在分子、分母中完全约掉。其余模态的 fkl=0,所以对应的 ukl 也全是 0。

为什么可以这样做

对所有非零模态,λₖₗ>0,因此可以安全地相除。

到这里你已经得到u12=0.5
10
STEP 10

重构答案并逐项验算

这一步在做什么?

把求出的系数乘回基函数,再检查方程、四条边界和 Neumann 解的不唯一性。

u(x,y)=u12φ12+C=1cos(1πx)cos(2πy)+C
验方程uxx=−A p²π² cos(pπx)cos(qπy),uyy=−A q²π² cos(pπx)cos(qπy),所以 −Δu=f。
验左右边界ux 含 sin(pπx)。x=0 或 1 时,sin(0)=sin(pπ)=0。
验上下边界uy 含 sin(qπy)。y=0 或 1 时同样为 0。
解释常数 C常数的导数和二阶导数都是 0,所以任何 C 都成立。若规定 u 的平均值为 0,就取 C=0。
为什么可以这样做

一个候选函数只有同时满足方程和全部边界条件,才是真正的解。

到这里你已经得到u=1cos(1πx)cos(2πy)+C
WHERE ELSE?

这种方法还能推导哪些方程?

关键不是记住某一道题,而是找到“符合边界的正交基”,再让微分算子在这组基上变成特征值。

Δu=f
投影以后 ↓
λnun=fn

每个模态都是一次除法:un=fnn。Laplace 方程就是 f=0 的特殊情况。

直接适用

规则区域 + 线性方程

  • 一维区间、二维矩形、三维长方体
  • 齐次 Neumann、Dirichlet 或周期边界
  • Poisson、Helmholtz、热传导、波动方程
需要改造

仍可用,但不再是一行除法

  • 非齐次边界:先构造“边界提升函数”
  • 变系数方程:不同模态会形成矩阵耦合
  • 多个源项:分别投影后再叠加
不建议直接套用

需要别的数值工具

  • 不规则或带孔区域
  • 强非线性方程与激波
  • 复杂材料界面;通常转向有限元或有限体积法

边界条件一变,基函数也要变

Neumann:端点斜率为 0余弦基 cos(nπx/L)Dirichlet:端点函数值为 0正弦基 sin(nπx/L)周期边界:首尾相接Fourier 基 ei2πnx/L
ORIGIN & LITERATURE

这套解法从哪里来?

结论先说:文献非常丰富,但“物理基投影法”不是国际通行的固定名称,也不能只归功于一个人。对这个网页中的矩形、齐次 Neumann–Poisson 问题,更标准的说法是:

余弦特征函数展开法Fourier cosine series method谱 Galerkin 投影法eigenfunction expansion
最早是谁?

要看你问的是哪一层思想

同一套算法里,包含了“模态叠加”“特征函数理论”“边界恒等式”和“残差投影”四条不同的历史线。

如果问“把解拆成许多振动模态”Daniel Bernoulli,1753

他在弦振动问题中明确使用正常模态的叠加;但当时还没有今天完整的函数空间与收敛理论。

如果问“系统地用三角级数解 PDE”Joseph Fourier,1822

这与网页中的余弦展开最直接相连。Fourier 把任意数据展开成三角级数并用于热方程。

如果问“残差正交投影的通用规则”Bubnov 1913;Galerkin 1915

Bubnov 有更早且非常接近的表述;国际文献沿用更广的名称仍是 Galerkin method。

边界与通量Green · Neumann决定相容条件与边界项
模态与正交基Bernoulli · Fourier · Sturm–Liouville决定用哪些函数展开
投影规则Ritz · Bubnov · Galerkin把微分方程变成系数方程
网页中的方法Neumann 余弦谱 Galerkin 法逐模态相除并重构答案
CHRONOLOGY

从正常模态到高效谱求解器

下面不是“谁取代了谁”,而是几条思想逐步汇合的过程。每一项都附原始论文、原著扫描或正式出版页。

  1. 1747–1753
    d’Alembert、Euler、D. Bernoulli

    正常模态与叠加思想出现

    弦振动争论建立了早期偏微分方程理论。Bernoulli 用许多简谐振动叠加解释一条弦的运动,这是“把复杂解拆成模态”的直接前史。

    读 Bernoulli 原文译本
  2. 1822
    Joseph Fourier

    把三角级数系统用于偏微分方程

    Fourier 在热传导问题中系统展开初始数据与解。今天网页里的正弦、余弦展开,最直接的经典源头就在这里。

    看 1822 年原书扫描
  3. 1828
    George Green

    边界积分与分部积分被系统化

    Green 的论文把区域内部的微分与边界上的通量联系起来。第 05、08 步里的相容条件和“把微分移到基函数上”,都沿着这条线发展。

    看 1828 年初版档案
  4. 1836–1837
    Sturm 与 Liouville

    特征值、正交性与完备展开

    他们研究带边界条件的二阶微分算子,说明不同特征函数彼此正交,并可用来展开函数。这给“为什么这些基函数足够拼出答案”提供了理论骨架。

    读 1837 年原文
  5. 1877
    Carl Neumann

    第二类边值问题进入势论体系

    指定法向导数的边界问题后来以 Neumann 命名。零模态、总源量相容条件与“解只差一个常数”,正是这类问题的结构特征。

    看 Neumann 原著扫描
  6. 1909
    Walther Ritz

    用有限组基函数近似无限维问题

    Ritz 把变分问题限制在有限维试探空间里求解。它与后来的 Galerkin 法在自伴随问题上紧密相连,也通向有限元方法。

    读 Ritz 原论文
  7. 1913 / 1915
    Ivan Bubnov / Boris Galerkin

    残差正交成为通用投影规则

    Bubnov 在 1913 年已有非常接近的做法;Galerkin 1915 年的论文使这种“残差对每个试验函数正交”的方法广为流传。国际文献通常简称 Galerkin 法。

    看优先权与原论文书目
  8. 1965
    Cooley 与 Tukey

    FFT 让大规模 Fourier 投影变快

    快速 Fourier 变换把许多离散模态系数的计算量从平方级降到近似 N log N,使谱方法真正适合大规模计算。余弦变换可视作同一家族中的实数变体。

    读 1965 年算法论文
  9. 1969–1977
    Steven Orszag;Gottlieb 与 Orszag

    现代谱方法形成

    Orszag 把 Fourier / Galerkin 展开、快速变换与流体计算系统结合;1977 年专著进一步建立稳定性、收敛性和误差分析框架。

    读 1971 年谱 Galerkin 论文
  10. 1988–1994
    Canuto 等;Jie Shen

    理论成熟并出现高效直接求解器

    谱方法被整理为完整的 PDE 数值体系;随后通过精心构造满足边界的基函数,离散矩阵可以变得稀疏,平滑问题还可获得指数型收敛。

    读 1994 年高效谱 Galerkin 论文
WHERE THIS PAGE SITS

网页中的 11 步分别继承了什么?

步骤 01–04
Neumann 边界 + Sturm–Liouville 特征函数 + Fourier 余弦展开
步骤 05、08
Green 恒等式、散度定理与 Neumann 问题的相容条件
步骤 06–09
Galerkin 正交投影;在特征函数基上,算子矩阵恰好对角化
步骤 10
Fourier / 谱方法的模态重构;常数零模态解释解的不唯一性

因此,这个例题不是一种脱离既有理论的“新解法”。它是经典特征函数展开的教学化重述;若写论文,建议用“基于 Neumann 特征函数的余弦谱 Galerkin 方法”作为可检索名称,再把“物理基投影法”保留为中文教学名称。

PRIMARY & FOUNDATIONAL SOURCES

原始与奠基文献

点击条目可打开扫描件、档案记录或出版社页面。历史年份按首次发表时间书写。

  1. [1]
    D. Bernoulli

    Réflexions et éclaircissemens…(1753,现代论文内含原文译本)

    原文 ↗
  2. [2]
    J. Fourier

    Théorie analytique de la chaleur(1822)

    原文 ↗
  3. [3]
    G. Green

    An Essay on the Application of Mathematical Analysis…(1828)

    原文 ↗
  4. [4]
    C. Sturm & J. Liouville

    Extrait d’un Mémoire sur le développement des fonctions…(1837)

    原文 ↗
  5. [5]
    C. Neumann

    Untersuchungen über das logarithmische und Newton’sche Potential(1877)

    原文 ↗
  6. [6]
    W. Ritz

    Über eine neue Methode zur Lösung gewisser Variationsprobleme…(1909)

    原文 ↗
  7. [7]
    B. G. Galerkin

    Series in Some Questions of Elastic Equilibrium of Rods and Plates(1915;书目信息与历史说明)

    原文 ↗
  8. [8]
    J. W. Cooley & J. W. Tukey

    An Algorithm for the Machine Calculation of Complex Fourier Series(1965)

    原文 ↗
  9. [9]
    S. A. Orszag

    Numerical Simulation… I. Galerkin (Spectral) Representations(1971)

    原文 ↗
  10. [10]
    D. Gottlieb & S. A. Orszag

    Numerical Analysis of Spectral Methods(1977)

    原文 ↗
  11. [11]
    C. Canuto et al.

    Spectral Methods in Fluid Dynamics(1988)

    原文 ↗
  12. [12]
    J. Shen

    Efficient Spectral-Galerkin Method I(1994)

    原文 ↗