⚠️由AI生成
二阶ODE
u′′(x)=f(x)
边界条件分配
何种边界条件适定?
先给结论:
- 两端都给值:适定 (well-posed)。
- 两端都给导数:按原样不适定。需要额外满足一个相容性条件 (compatibility condition);即使满足,解也只能确定到相差一个常数。加上归一化 (normalization) 之后,才适定。
- 一端给值、另一端给导数:适定。
一、为什么先看通解结构
方程是
u′′(x)=f(x).
它的通解是
u(x)=up(x)+C1+C2x.
这里 up 是任意一个特解,C1,C2 是两个自由常数。两个边界条件,本质上就是两个标量方程,用来定这两个常数。
- 给值,例如 u(0)=a,约束的是 C1 的组合。
- 给导数,例如 u′(0)=α,因为
u′(x)=up′(x)+C2,
它只约束 C2,完全看不见 C1。
这就是整件事的关键。
二、情形 1:两端都给值
边界条件:
u(0)=a,u(L)=b.
两个方程分别固定 C1 和 C2 的组合。显式解为
u(x)=a+Cx+∫0x(x−s)f(s)ds,
其中由 u(L)=b 定出
C=Lb−a−∫0L(L−s)f(s)ds.
因为 L>0,这个除法总是合法的,所以对任意 a,b,f 都有唯一解。解连续依赖于数据。离散化后矩阵是三对角且非奇异的。因此适定。
简单例子:u′′=0,u(0)=0,u(1)=1,解是 u=x,唯一。
三、情形 2:两端都给导数
边界条件:
u′(0)=α,u′(L)=β.
从积分形式看:
u′(x)=α+∫0xf(s)ds.
在 x=L 处必须满足
β=α+∫0Lf(s)ds.
于是有相容性条件
∫0Lf(s)ds=β−α.
如果这个条件不成立,方程无解:存在性失败。
如果它成立,解是
u(x)=c+αx+∫0x(x−s)f(s)ds,
其中 c 是任意常数。因为加一个常数不改变导数,所以两端导数条件完全不变。于是有无穷多个解,恰好构成一个单参数族:
u(x)=uparticular(x)+c.
因此唯一性失败。按原样,这个问题不适定。
要把它变适定,需要两步:
- 要求数据满足相容性条件;
- 加一个归一化条件,例如
∫0Lu(x)dx=0,
或者固定某一点的值,例如 u(0)=c0。
加上归一化后,常数 c 被唯一确定,解唯一且连续依赖于数据。这时我们说它在商空间 (quotient space) H1/R 上适定,或者说“适定到相差一个常数”。
物理图像:这相当于给一根杆两端都规定热流。若总热源与两端净热流不平衡,就没有稳态;若平衡,杆的整体温度水平仍然任意,因为热流只看见温度差,看不见绝对温度。几何图像:算子 −d2/dx2 带 Neumann 边界条件的零空间 (nullspace) 是常数函数。按 Fredholm 二择一 (Fredholm alternative),可解性要求右端项与零空间正交,这就给出上面的相容性条件。
离散化也完全对应。未知量 u0,…,uN+1 共 N+2 个,方程是两条边界差商方程加 N 条内部方程,看起来数量正好。但把内部方程求和会望远镜式抵消:
j=1∑N(uj+1−2uj+uj−1)=(uN+1−uN)−(u1−u0).
左边求和等于 h2∑jfj,右边等于 h(β−α)。于是离散系统是否可解,取决于
h2j=1∑Nfj=h(β−α),
这正是连续相容性条件的离散版本。若满足,矩阵奇异,零空间向量是 (1,1,…,1),对应“整体加常数”。
简单例子:u′′=0,u′(0)=1,u′(1)=1。相容性条件 0=0 成立,解是 u=x+c,单参数族。若改成 u′(0)=1,u′(1)=2,则 0=1 不成立,无解。
四、情形 3:一端给值、另一端给导数
边界条件:
u(0)=a,u′(L)=β.
现在积分得
u′(x)=C+∫0xf(s)ds.
右端导数条件定出
C=β−∫0Lf(s)ds.
于是
u(x)=a+(β−∫0Lf(s)ds)x+∫0x(x−s)f(s)ds.
这个解唯一,而且不需要任何相容性条件。原因是 u(0)=a 专门负责固定那个常数自由度,u′(L)=β 负责固定斜率自由度,两者各管一个,互不冲突。因此适定。
简单例子:u′′=0,u(0)=0,u′(1)=1,解是 u=x,唯一。
从能量方法看,这种混合边界条件下,测试函数在 x=0 处为零,可以用庞加莱不等式 (Poincaré inequality)
∫0Lv2dx≤L2∫0L(v′)2dx
来控制 v,从而由 Lax–Milgram 定理得到适定性。而两端都是 Neumann 时,测试函数可以取常数 v=1,庞加莱不等式失效,零空间出现,于是需要相容性和归一化。
五、和不可压缩 NS 压力问题的联系
这个 ODE 情形 2 的结构,和不可压缩 Navier–Stokes 中“全 Neumann 压力泊松方程”完全类似:
- 压力 p 只通过 ∇p 进入方程,所以 p+c 给出同一个流场,这就是压力规范自由度 (pressure gauge freedom),对应这里 u+c 的常数自由度。
- 全 Neumann 压力问题需要相容性条件;在投影法里,这对应速度场必须满足离散无散度条件。若不满足,压力方程无解。
- 数值上通常把压力归一化,例如令 ∫ΩpdV=0,对应这里令 ∫0Ludx=0。
所以“两端给导数”不是单纯多给一个条件的问题,而是这种边界条件组合天生看不见常数模式。
六、小结表
| 边界条件组合 |
存在性 |
唯一性 |
是否适定 |
| 两端给值 |
总是有解 |
唯一 |
适定 |
| 两端给导数 |
需相容性条件 |
差一个常数 |
原样不适定;相容化并归一化后适定 |
| 一端给值、一端给导数 |
总是有解 |
唯一 |
适定 |
最后提醒:以上结论针对的是最纯的算子 u′′。如果方程里还带零阶项,例如 −u′′+λu=f 且 λ>0,常数不再是零空间,Neumann 问题可能重新变得唯一可解。所以“Neumann 边界条件一定差一个常数”这句话,只在没有零阶项、即算子零空间确实包含常数时成立。