有界杆上的温度分布 | 分离变量法(五)| 偏微分方程(十七)

长为l的导热细杆,杆身侧面绝热,内部无热源。杆的一段绝热,杆的另一端与外界温度保持零度的介质自由热交换,杆的初始温度已知,求此有界杆上的温度分布。

:设杆上各点的温度为 u ( t , x ) u(t,x) u(t,x),则u满足定解问题
{ ∂ u ∂ t = a 2 ∂ 2 u ∂ x 2 , t > 0 , 0 < x < l ∂ u ∂ x ∣ x = 0 = 0 , ( ∂ u ∂ x + γ u ) ∣ x = 1 = 0 u ∣ t = 0 = φ ( x ) (12) \begin{cases} \frac{\partial u}{\partial t}=a^2\frac{\partial^2u}{\partial x^2},\quad t>0,0<x<l \\ \frac{\partial u}{\partial x}|_{x=0}=0, \quad (\frac{\partial u}{\partial x}+\gamma u)|_{x=1}=0 \\ u|_{t=0}=\varphi(x) \tag{12} \end{cases} tu=a2x22u,t>0,0<x<lxux=0=0,(xu+γu)x=1=0ut=0=φ(x)(12)
其中, γ = h k \gamma = \frac{h}{k} γ=kh,k为杆身的热传导系数,h为杆端与外界的热交换系数。

u ( t , x ) = T ( t ) X ( x ) u(t,x)=T(t)X(x) u(t,x)=T(t)X(x),代入方程和边界条件,分离得固有值问题
{ X ′ ′ ( x ) + λ X ( x ) = 0 , 0 < x < l , X ′ ( 0 ) = X ′ ( l ) + γ X ( l ) = 0 \begin{cases} X''(x)+\lambda X(x)=0, \quad 0<x<l, \\ X'(0)=X'(l)+\gamma X(l)=0 \end{cases} {X(x)+λX(x)=0,0<x<l,X(0)=X(l)+γX(l)=0
和常微分方程
T ′ ( t ) + a 2 λ T ( t ) = 0 T'(t)+a^2\lambda T(t)=0 T(t)+a2λT(t)=0
上述固有值问题中的方程时S-L型的, k ( x ) ≡ 1 , q ( x ) ≡ 0 , ρ ( x ) ≡ 1 k(x)\equiv 1,q(x)\equiv 0,\rho(x)\equiv 1 k(x)1,q(x)0,ρ(x)1。两端 x = 0 , x = l x=0,x=l x=0,x=l均为方程的常点,分别配以第II、III类齐次边界条件。由S-L定理得,固有值 λ > 0 \lambda>0 λ>0

λ = ω 2 > 0 \lambda=\omega^2>0 λ=ω2>0,解得
X ( x ) = A c o s ω x + B s i n ω x X(x)=Acos\omega x+Bsin\omega x X(x)=Acosωx+Bsinωx
代入 x = 0 x=0 x=0端边界条件
X ′ ( 0 ) = B ω = 0 X'(0)=B\omega =0 X(0)=Bω=0
B = 0 B=0 B=0,代入 x = l x=l x=l端边界条件
X ′ ( l ) + γ X ( l ) = − A ω s i n ω l + A γ c o s ω l = 0 X'(l)+\gamma X(l)=-A\omega sin\omega l+A\gamma cos\omega l=0 X(l)+γX(l)=Aωsinωl+Aγcosωl=0

t a n ω l = γ ω tan\omega l=\frac{\gamma}{\omega} tanωl=ωγ
在这里插入图片描述
由图可见,此超越方程有无穷多个正实根。记第n个正实根为 ω n \omega_n ωn,则得固有值
λ n = w n 2 , n = 1 , 2 , ⋯ \lambda_n=w_n^2,\quad n=1,2,\cdots λn=wn2,n=1,2,
和相应的固有函数
X n ( x ) = c o s ω n x X_n(x)=cos\omega_nx Xn(x)=cosωnx
此固有函数的模平方为
∣ ∣ X n ( x ) ∣ ∣ 2 = ∫ 0 l c o s 2 ω n x d x = 1 2 ∫ 0 l ( 1 + c o s 2 ω n x ) d x = 1 2 ( l + γ ω n 2 + γ 2 ) ||X_n(x)||^2=\int_0^lcos^2\omega_nxdx=\frac{1}{2}\int_0^l(1+cos2\omega_nx)dx =\frac{1}{2}(l+\frac{\gamma}{\omega_n^2+\gamma^2}) Xn(x)2=0lcos2ωnxdx=210l(1+cos2ωnx)dx=21(l+ωn2+γ2γ)
T ( t ) T(t) T(t)的方程,解得相应于 λ n = ω n 2 \lambda_n=\omega_n^2 λn=ωn2
T n ( t ) = e − a 2 ω n 2 t T_n(t)=e^{-a^2\omega^2_nt} Tn(t)=ea2ωn2t
u ( t , x ) = ∑ n = 1 + ∞ C n e − a 2 ω n 2 t c o s ω n x u(t,x)=\sum_{n=1}^{+\infty}C_ne^{-a^2\omega_n^2t}cos\omega_nx u(t,x)=n=1+Cnea2ωn2tcosωnx代入(12)的初始条件
u ∣ t = 0 = ∑ n = 1 + ∞ C n c o s w n x = φ ( x ) u|_{t=0}=\sum_{n=1}^{+\infty}C_ncosw_nx=\varphi(x) ut=0=n=1+Cncoswnx=φ(x)
这是 φ ( x ) \varphi(x) φ(x)按固有函数系 { c o s ω n x } \{cos\omega_nx\} {cosωnx}的展开式,由S-L定理中公式(11)得
C n = 1 ∣ ∣ X n ( x ) ∣ ∣ 2 ∫ 0 l φ ( x ) c o s ω n x d x = 2 l + γ w n 2 + γ 2 ∫ 0 l φ ( x ) c o s ω n x d x C_n=\frac{1}{||X_n(x)||^2}\int_0^l\varphi(x)cos\omega_nxdx=\frac{2}{l+\frac{\gamma}{w_n^2+\gamma^2}}\int_0^l\varphi(x)cos\omega_nxdx Cn=Xn(x)210lφ(x)cosωnxdx=l+wn2+γ2γ20lφ(x)cosωnxdx
最后得问题(12)式的形式解
u ( t , x ) = ∑ n = 1 + ∞ [ 1 2 ( l + γ ω n 2 + γ 2 ) ] − 1 ∫ 0 l φ ( ξ ) c o s ω n ξ d ξ e − a 2 w n 2 t c o s w n x u(t,x)=\sum_{n=1}^{+\infty}[\frac{1}{2}(l+\frac{\gamma}{\omega_n^2+\gamma^2})]^{-1}\int_0^l\varphi(\xi)cos\omega_n\xi d\xi e^{-a^2wn^2t}cosw_nx u(t,x)=n=1+[21(l+ωn2+γ2γ)]10lφ(ξ)cosωnξdξea2wn2tcoswnx

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
热传导方程是一个二阶偏微分方程,用于描述物体内部温度随时间和位置的变化。利用前向差分可以将热传导方程离散化,并通过迭代计算得到数值解。 首先,假设我们要求解的物体是一个延直线的杆,长度为L。将杆分为N个小段,每段的长度为Δx=L/N。设第i段杆上的温度为u(i),时间变量为t。热传导方程可以表示为: ∂u/∂t = α * ∂²u/∂x²     (1) 其中α是热扩散系数。上式中,∂²u/∂x²表示杆内温度的曲率。 将上式进行离散化,我们可以得到以下近似形式: (u(i,t+Δt) - u(i,t)) / Δt = α * (u(i-1,t) - 2u(i,t) + u(i+1,t)) / Δx²     (2) 其中u(i,t)表示第i段杆上的温度。 如果我们已知初始条件u(i,0),以及边界条件u(0,t)和u(N,t),我们可以使用迭代方求解热传导方程的数值解。 具体的matlab程序如下: N = 100; % 将杆分为100个小段 L = 1; % 杆的长度为1 dx = L / N; % 每个小段的长度 alpha = 0.01; % 热扩散系数 dt = dx^2 / (4 * alpha); % 时间步长 T = 1; % 总的模拟时间 M = round(T / dt); % 总的时间步数 % 初始化温度矩阵 u = zeros(N+1, M+1); u(:,1) = sin(pi * (0:N) / N); % 初始条件为sin函数 for j = 1:M for i = 2:N u(i,j+1) = u(i,j) + alpha * dt / dx^2 * (u(i-1,j) - 2 * u(i,j) + u(i+1,j)); end end % 绘制温度随时间的变化曲线 x = linspace(0, L, N+1); t = linspace(0, T, M+1); [X, T] = meshgrid(x, t); surf(X, T, u'); xlabel('位置'); ylabel('时间'); zlabel('温度'); 上述程序首先定义了问题的参数,包括杆的长度、迭代的步数等。然后进行初始化,将初始温度设置为sin函数。利用两层循环,通过迭代计算得到杆内不同位置的温度随时间的变化。最后使用surf函数绘制温度随时间的变化曲线。 通过运行上述程序,可以得到热传导方程的数值解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值