3. 边界条件类型与数学表述
在PINN中,偏微分方程本身只描述区域内部的物理规律,真正决定解“长什么样”的,是边界条件。同一个热传导方程,左端固定温度、右端绝热,与两端都固定温度,得到的温度场完全不同。因此,把边界条件写对、写全,并在损失函数中正确加权,是PINN建模中最容易出错也最值得投入精力的环节。本节围绕四类常见边界条件展开:Dirichlet、Neumann、Robin与周期边界条件,说明它们的数学定义、物理含义,以及在PINN损失函数中的具体表述方式。
一、四类边界条件的定义与物理角色
设求解区域为 Ω,边界为 ∂Ω,外法向单位向量为 n,待求场量为 u(x,t)。四类边界条件可统一写成如下形式:
- Dirichlet(第一类):直接给定边界上的场量值,u = gD。例如固定端温度 T = 373 K、入口速度 u = 1 m/s、壁面浓度 c = 0。它约束的是“值”本身。
- Neumann(第二类):给定边界上的法向导数,∂u/∂n = gN。最常见的是绝热边界 ∂T/∂n = 0,或给定热流密度 −k∂T/∂n = q。它约束的是“通量”。
- Robin(第三类):场量与法向导数的线性组合,αu + β∂u/∂n = gR。典型场景是对流换热 −k∂T/∂n = h(T − T∞),整理后即 hT + k∂T/∂n = hT∞。它描述边界与外界环境之间的交换能力。
- 周期边界条件:u(xL) = u(xR),且 ∂u/∂n|xL = ∂u/∂n|xR。用于环形域、重复单元、充分发展流动等场景,要求场量及其导数在两端“无缝衔接”。
从约束强度看,Dirichlet 最强,直接锁定数值;Neumann 约束变化率,允许整体平移(这也是纯Neumann问题解不唯一的原因);Robin 介于两者之间,把边界值“拉向”环境值;周期条件则是一种全局耦合约束,两端互相牵制。理解这一点,对后续损失权重设计非常关键。
二、在PINN损失函数中的具体表述
PINN的核心思想是把边界条件转化为可微的惩罚项,与PDE残差一起构成总损失。设网络输出为 uθ(x),在边界上采样 NB 个配点 {xi},四类条件对应的损失项分别为:
L_D = (1/N_B) Σ |u_θ(x_i) − g_D(x_i)|²
L_N = (1/N_B) Σ |∂u_θ/∂n (x_i) − g_N(x_i)|²
L_R = (1/N_B) Σ |α·u_θ(x_i) + β·∂u_θ/∂n (x_i) − g_R(x_i)|²
L_P = (1/N_B) Σ [ |u_θ(x_L) − u_θ(x_R)|² + |∂u_θ/∂n(x_L) − ∂u_θ/∂n(x_R)|² ]
总损失通常写成 L = LPDE + λDLD + λNLN + λRLR + λPLP。其中法向导数 ∂uθ/∂n 通过自动微分对输入坐标求梯度再与法向量做内积得到,无需手工差分。这一点是PINN相对传统数值方法的便利之处,但也意味着法向量的方向定义必须与坐标约定严格一致,否则正负号会整体反号。
三、一个可执行的示例:一维稳态热传导
考虑长度 L = 1 m 的杆,导热系数 k = 1 W/(m·K),无内热源,控制方程 d²T/dx² = 0。设定混合边界:左端 x = 0 固定温度 T = 373 K(Dirichlet),右端 x = 1 对流换热,环境温度 T∞ = 293 K,换热系数 h = 10 W/(m²·K)(Robin)。右端条件写作:
−k·dT/dx |_(x=1) = h·(T(1) − T∞)
即 10·T(1) + 1·dT/dx|_(x=1) = 10 × 293 = 2930
该问题的解析解为线性分布 T(x) = a + bx,代入两端条件可解得 b = −h(T(0) − T∞)/(k + hL) = −10×80/11 ≈ −72.73 K/m,a = 373 K。于是 T(1) ≈ 300.27 K。这个解析结果可作为PINN训练后的对照基准。
在实现上,边界配点建议单独构造:左端取若干点(一维下即 x = 0 重复采样或加微小扰动),右端取若干点,分别计算 LD 与 LR。训练中可观察三个量:PDE残差损失是否持续下降、边界损失是否收敛到 10−4 量级以下、以及预测的 T(1) 是否逼近 300.27 K。若边界损失下降但PDE残差停滞,通常是边界权重过大,网络把精力全放在满足边界而牺牲了内部方程;反之则边界约束不足,解在边界附近出现明显偏移。
四、选择与组合时的实践要点
第一,避免纯Neumann问题。若整个边界只给法向导数,解在常数平移下不唯一,PINN会收敛到一个任意平移的解。解决办法是在某一点补一个Dirichlet条件,或固定参考值。
第二,Robin条件的系数要归一化。α 与 β 量纲不同时,损失项中两项数值尺度可能相差几个数量级,建议先除以 max(|α|,|β|) 再进入损失,避免优化被大系数项主导。
第三,周期条件的采样要成对。左右两端配点应一一对应(相同 y 坐标或相同参数位置),否则“逐点相等”的约束会退化为统计意义上的近似,端部可能出现细微错位。
第四,边界权重 λ 需要标定。常用做法是先令各 λ = 1 训练若干步,观察各损失项量级,再按量级反比调整,使各项对总损失的贡献大致相当。这不是唯一策略,但对多数入门问题足够稳健。
把边界条件写对,本质上是在告诉网络“物理世界的边界在哪里、以什么方式被约束”。四类条件各有其数学形式与物理语义,在损失函数中对应不同的残差表达式,理解它们的差异与组合规则,是构建可靠PINN模型的基础。