特定边界条件下含振荡系数的一维非分离热对流微分方程求解
我来帮你梳理这个问题的求解思路——你选的变量替换方向是对的,但细节上的小偏差导致边界条件处理卡壳了,我们一步步拆解:
1. 先明确原问题的核心要素
我们需要求解的偏微分方程(PDE)是:
$$
\left[ \partial_x^2 - \alpha \left( \partial_t + v(t) \partial_x \right) \right] \tau(x,t) = f(x,t)
$$
其中:
- $\alpha > 0$ 是正的常数,
- $v(t)$ 是时间的振荡实函数,
- $f(x,t)$ 是空间和时间的振荡实函数,
- 空间范围为 $0 < x < l$,时间范围为 $t > 0$。
给定的边界条件(BC):
$$
\left. \partial_x \tau(x,t) \right|_{x=0} = P, \quad \tau(l,t) = \tau_c
$$
这里 $P$ 和 $\tau_c$ 都是常数。初始条件(IC)为:
$$
\tau(x,0) = \tau_c
$$
你提到优先需要振荡稳态解(忽略初始条件带来的暂态部分),我们先聚焦这个方向,再补充含初始条件的完整解思路。
2. 修正变量替换:完美消除对流项
你想用变量替换消除对流项的思路非常正确,但替换的符号需要调整,才能让对流项完全抵消:
定义拉格朗日移动坐标系:
$$
\xi = x - \nu(t), \quad \text{其中 } \nu(t) = \int_0^t v(s) ds
$$
($\nu(t)$ 是 $v(t)$ 的积分,满足 $\frac{d\nu}{dt} = v(t)$,刚好对应对流速度的累积位移)
令 $\tau(x,t) = u(\xi,t)$,通过链式法则转换偏导数:
- $\partial_x \tau = \partial_\xi u$
- $\partial_x^2 \tau = \partial_\xi^2 u$
- $\partial_t \tau = \partial_t u + \partial_\xi u \cdot \frac{d}{dt}(x - \xi) = \partial_t u - v(t) \partial_\xi u$
把这些代入原PDE,你会发现对流项直接抵消了:
$$
\partial_\xi^2 u - \alpha \left( \partial_t u - v(t) \partial_\xi u + v(t) \partial_\xi u \right) = f\left( \xi + \nu(t), t \right)
$$
最终得到标准的热方程形式:
$$
\partial_\xi^2 u - \alpha \partial_t u = F(\xi,t)
$$
这里 $F(\xi,t) = f\left( \xi + \nu(t), t \right)$,是转换后的非齐次项。
3. 边界条件的转换与简化
现在把原边界条件转换为 $u(\xi,t)$ 的边界条件:
- 当 $x=0$ 时,$\xi = -\nu(t)$,原BC $\partial_x \tau|{x=0} = P$ 等价于:
$$
\left. \partial\xi u(\xi,t) \right|_{\xi=-\nu(t)} = P
$$ - 当 $x=l$ 时,$\xi = l - \nu(t)$,原BC $\tau(l,t)=\tau_c$ 等价于:
$$
u\left( l - \nu(t), t \right) = \tau_c
$$
初始条件转换为:当 $t=0$ 时,$\nu(0)=0$,$\xi=x$,所以 $u(\xi,0) = \tau_c$。
关键技巧:构造辅助函数齐次化边界
因为边界位置随时间变化,直接用分离变量法会很麻烦,我们可以构造一个辅助函数 $h(\xi,t)$ 来满足边界条件,把问题转化为齐次边界的求解:
构造线性辅助函数:
$$
h(\xi,t) = \tau_c + P \cdot \left( \xi - (l - \nu(t)) \right)
$$
验证一下:
- 当 $\xi=l-\nu(t)$ 时,$h=\tau_c + P(0)=\tau_c$,完美满足第二个BC;
- $\partial_\xi h = P$,在整个ξ域都成立,自然满足第一个BC $\partial_\xi h|_{\xi=-\nu(t)}=P$。
令 $u(\xi,t) = w(\xi,t) + h(\xi,t)$,代入转换后的热方程:
$$
\partial_\xi^2 w + \partial_\xi^2 h - \alpha(\partial_t w + \partial_t h) = F(\xi,t)
$$
因为 $h$ 是ξ的线性函数,$\partial_\xi^2 h = 0$,计算 $\partial_t h = -P v(t)$,最终方程简化为:
$$
\partial_\xi^2 w - \alpha \partial_t w = F(\xi,t) - \alpha P v(t)
$$
此时 $w(\xi,t)$ 的边界条件变成齐次固定边界(是不是清爽多了!):
$$
\left. \partial_\xi w \right|_{\xi=-\nu(t)} = 0, \quad w\left( l - \nu(t), t \right) = 0
$$
4. 振荡稳态解的具体求解步骤
现在我们可以把移动的边界拉回固定区间,做变量替换:
$$
\zeta = \frac{\xi + \nu(t)}{l}
$$
这样 $\zeta \in (0,1)$(刚好对应原x∈(0,l)),令 $w(\xi,t) = \tilde{w}(\zeta,t)$,转换后方程变为:
$$
\frac{1}{l^2} \partial_\zeta^2 \tilde{w} - \alpha \left( \partial_t \tilde{w} + \frac{v(t)}{l} \partial_\zeta \tilde{w} \right) = F\left( l\zeta - \nu(t), t \right) - \alpha P v(t)
$$
边界条件变为固定齐次边界:
$$
\left. \partial_\zeta \tilde{w} \right|_{\zeta=0} = 0, \quad \tilde{w}(1,t) = 0
$$
用傅里叶余弦级数+谐波平衡法求解
因为边界条件是ζ=0处导数为0,ζ=1处函数为0,对应的特征函数是:
$$
\phi_n(\zeta) = \cos\left( \frac{(2n-1)\pi}{2} \zeta \right), \quad n=1,2,\dots
$$
这些函数满足正交性,我们可以把 $\tilde{w}(\zeta,t)$ 和方程右边的非齐次项都展开为这个级数:
$$
\tilde{w}(\zeta,t) = \sum_{n=1}^\infty c_n(t) \phi_n(\zeta)
$$
$$
R(\zeta,t) = F\left( l\zeta - \nu(t), t \right) - \alpha P v(t) = \sum_{n=1}^\infty r_n(t) \phi_n(\zeta)
$$
其中 $r_n(t)$ 可以通过正交积分计算:
$$
r_n(t) = 2 \int_0^1 R(\zeta,t) \phi_n(\zeta) d\zeta
$$
代入方程后得到关于 $c_n(t)$ 的常微分方程组。因为 $v(t)$ 和 $f(x,t)$ 都是振荡函数,我们用谐波平衡法:假设所有振荡项都是单一频率ω的,设 $c_n(t) = A_n \cos\omega t + B_n \sin\omega t$,代入后比较余弦、正弦项的系数,解出 $A_n$ 和 $B_n$ 即可得到稳态解。
5. 含初始条件的完整解
如果要包含初始条件,我们需要在稳态解基础上加上暂态解。暂态解满足齐次热方程:
$$
\partial_\xi^2 w_t - \alpha \partial_t w_t = 0
$$
以及齐次边界条件和初始条件 $w_t(\xi,0) = \tau_c - h(\xi,0) = -P(\xi - l)$。
同样用特征函数展开,暂态解可以表示为:
$$
w_t(\zeta,t) = \sum_{n=1}^\infty d_n e^{-\lambda_n t} \phi_n(\zeta)
$$
其中 $\lambda_n = \frac{(2n-1)2\pi2}{4 \alpha l^2}$,系数 $d_n$ 由初始条件确定:
$$
d_n = 2 \int_0^1 \left( -P(l\zeta - l) \right) \phi_n(\zeta) d\zeta = 2Pl \int_0^1 (1-\zeta) \cos\left( \frac{(2n-1)\pi}{2} \zeta \right) d\zeta
$$
6. 转换回原坐标系
最后把所有转换逆推回去,得到原变量 $\tau(x,t)$:
- 从 $\tilde{w}(\zeta,t)$ 得到 $w(\xi,t) = \tilde{w}\left( \frac{\xi + \nu(t)}{l}, t \right)$
- 得到 $u(\xi,t) = w(\xi,t) + h(\xi,t)$
- 代入 $\xi = x - \nu(t)$,你会发现 $h(\xi,t)$ 转换后和时间无关:
$$
\tau(x,t) = \tilde{w}\left( \frac{x}{l}, t \right) + \tau_c + P(x - l)
$$
备注:内容来源于stack exchange,提问作者Fefetltl

