Example 8.13.mw

Example 8.13 Heat Conduction in a Slab with Radiation Boundary Conditions 

Equation (8.1.29) is solved in Maple below: 

> restart:with(inttrans):with(plots):
 

> eq:=diff(u(x,t),t)=diff(u(x,t),x$2);
 

diff(u(x, t), t) = diff(diff(u(x, t), x), x) (1)
 

> u(x,0):=1;
 

1 (2)
 

> bc1:=diff(u(x,t),x)=0;
 

diff(u(x, t), x) = 0 (3)
 

> bc2:=diff(u(x,t),x)+u(x,t)=0;
 

`+`(diff(u(x, t), x), u(x, t)) = 0 (4)
 

> eqs:=laplace(eq,t,s):
 

> eqs:=subs(laplace(u(x,t),t,s)=U(x),eqs);
 

`+`(`*`(s, `*`(U(x))), `-`(1)) = diff(diff(U(x), x), x) (5)
 

> bc1:=laplace(bc1,t,s):
 

> bc1:=subs(laplace(u(x,t),t,s)=U(x),bc1);
 

diff(U(x), x) = 0 (6)
 

> bc2:=laplace(bc2,t,s):
 

> bc2:=subs(laplace(u(x,t),t,s)=U(x),bc2);
 

`+`(diff(U(x), x), U(x)) = 0 (7)
 

> dsolve(eqs,U(x));
 

U(x) = `+`(`*`(exp(`*`(`^`(s, `/`(1, 2)), `*`(x))), `*`(_C2)), `*`(exp(`+`(`-`(`*`(`^`(s, `/`(1, 2)), `*`(x))))), `*`(_C1)), `/`(1, `*`(s))) (8)
 

> U(x):=c[1]*cosh(s^(1/2)*x)+c[2]*sinh(s^(1/2)*x)+1/s;
 

`+`(`*`(c[1], `*`(cosh(`*`(`^`(s, `/`(1, 2)), `*`(x))))), `*`(c[2], `*`(sinh(`*`(`^`(s, `/`(1, 2)), `*`(x))))), `/`(1, `*`(s))) (9)
 

> eq0:=eval(subs(x=0,bc1)):
 

> eq1:=eval(subs(x=1,bc2)):
 

> con:=solve({eq0,eq1},{c[1],c[2]}):
 

> U(x):=subs(con,U(x)):
 

> U(x):=factor(simplify(U(x)));
 

`+`(`-`(`/`(`*`(`+`(cosh(`*`(`^`(s, `/`(1, 2)), `*`(x))), `-`(`*`(sinh(`*`(`^`(s, `/`(1, 2)))), `*`(`^`(s, `/`(1, 2))))), `-`(cosh(`*`(`^`(s, `/`(1, 2))))))), `*`(s, `*`(`+`(`*`(sinh(`*`(`^`(s, `/`(1,... (10)
 

> P(s):=numer(U(x));
 

`+`(`-`(cosh(`*`(`^`(s, `/`(1, 2)), `*`(x)))), `*`(sinh(`*`(`^`(s, `/`(1, 2)))), `*`(`^`(s, `/`(1, 2)))), cosh(`*`(`^`(s, `/`(1, 2))))) (11)
 

> Q(s):=denom(U(x));
 

`*`(s, `*`(`+`(`*`(sinh(`*`(`^`(s, `/`(1, 2)))), `*`(`^`(s, `/`(1, 2)))), cosh(`*`(`^`(s, `/`(1, 2))))))) (12)
 

Maple cannot find the eigenvalues directly. 

> solve(Q(s),s);
 

0, `*`(`^`(RootOf(`+`(`*`(_Z, `*`(`^`(exp(_Z), 2))), `-`(_Z), `*`(`^`(exp(_Z), 2)), 1)), 2)) (13)
 

> eig:=sinh(s^(1/2))*s^(1/2)+cosh(s^(1/2));
 

`+`(`*`(sinh(`*`(`^`(s, `/`(1, 2)))), `*`(`^`(s, `/`(1, 2)))), cosh(`*`(`^`(s, `/`(1, 2))))) (14)
 

For convenience s=-λ2 is substituted to find the eigenvalues. 

> eiglambda:=simplify(subs(s^(1/2)=I*lambda,s=-lambda^2,eig));
 

`+`(`-`(`*`(sin(lambda), `*`(lambda))), cos(lambda)) (15)
 

> plot(eiglambda,lambda=0..20,thickness=3,title="Figure 8.23.",axes=boxed);
 

Plot_2d
 

The roots are: 

> 0,0,-lambda^2;
 

0, 0, `+`(`-`(`*`(`^`(lambda, 2)))) (16)
 

> fsolve(eiglambda,lambda=1);
 

.8603335890 (17)
 

The first 20 eigenvalues are obtained numerically. 

> N:=20;
 

20 (18)
 

> l[1]:=fsolve(eiglambda,lambda=0..2);
 

.8603335890 (19)
 

> for i from 2 to N do l[i]:=fsolve(eiglambda,lambda=l[i-1]..l[i-1]+4);od:
 

> seq(l[i],i=1..N);
 

.8603335890, 3.425618459, 6.437298179, 9.529334405, 12.64528722, 15.77128487, 18.90240996, 22.03649673, 25.17244633, 28.30964285, 31.44771464, 34.58642422, 37.72561283, 40.86517033, 44.00501792, 47.14...
.8603335890, 3.425618459, 6.437298179, 9.529334405, 12.64528722, 15.77128487, 18.90240996, 22.03649673, 25.17244633, 28.30964285, 31.44771464, 34.58642422, 37.72561283, 40.86517033, 44.00501792, 47.14...
.8603335890, 3.425618459, 6.437298179, 9.529334405, 12.64528722, 15.77128487, 18.90240996, 22.03649673, 25.17244633, 28.30964285, 31.44771464, 34.58642422, 37.72561283, 40.86517033, 44.00501792, 47.14...
(20)
 

 

> mu0:=0;
 

0 (21)
 

> b[2]:=(s-mu0)^2*P(s)/Q(s);
 

`/`(`*`(s, `*`(`+`(`-`(cosh(`*`(`^`(s, `/`(1, 2)), `*`(x)))), `*`(sinh(`*`(`^`(s, `/`(1, 2)))), `*`(`^`(s, `/`(1, 2)))), cosh(`*`(`^`(s, `/`(1, 2))))))), `*`(`+`(`*`(sinh(`*`(`^`(s, `/`(1, 2)))), `*`(... (22)
 

> B[2]:=limit(b[2],s=0);
 

0 (23)
 

> b[1]:=diff(b[2],s):
 

> B[1]:=limit(b[1],s=0);
 

0 (24)
 

> A(s):=P(s)/diff(Q(s),s):
 

> A[n]:=simplify(subs(s=mu,A(s)));
 

`+`(`-`(`/`(`*`(2, `*`(`+`(cosh(`*`(`^`(mu, `/`(1, 2)), `*`(x))), `-`(`*`(sinh(`*`(`^`(mu, `/`(1, 2)))), `*`(`^`(mu, `/`(1, 2))))), `-`(cosh(`*`(`^`(mu, `/`(1, 2)))))), `*`(`^`(mu, `/`(1, 2))))), `*`(... (25)
 

> A[n]:=simplify(subs(mu^(1/2)=I*lambda,mu^(3/2)=-I*lambda^3,mu=-lambda^2,A[n]));
 

`+`(`/`(`*`(2, `*`(`+`(cos(`*`(lambda, `*`(x))), `*`(sin(lambda), `*`(lambda)), `-`(cos(lambda))))), `*`(`+`(`*`(4, `*`(sin(lambda), `*`(lambda))), `-`(`*`(2, `*`(cos(lambda)))), `*`(`^`(lambda, 2), `... (26)
 

> vars:={cos(lambda)=lambda*sin(lambda)};
 

{cos(lambda) = `*`(sin(lambda), `*`(lambda))} (27)
 

> A[n]:=simplify(subs(vars,expand(A[n])));
 

`+`(`/`(`*`(2, `*`(cos(`*`(lambda, `*`(x))))), `*`(sin(lambda), `*`(lambda, `*`(`+`(2, `*`(`^`(lambda, 2)))))))) (28)
 

> b1s:=B[1]*subs(mu0=0,1/(s-mu0));
 

0 (29)
 

> b1t:=invlaplace(b1s,s,t);
 

0 (30)
 

> b2s:=B[2]*subs(mu0=0,1/(s-mu0)^2);
 

0 (31)
 

> b2t:=invlaplace(b2s,s,t);
 

0 (32)
 

> uns:=A[n]/(s-mu);
 

`+`(`/`(`*`(2, `*`(cos(`*`(lambda, `*`(x))))), `*`(sin(lambda), `*`(lambda, `*`(`+`(2, `*`(`^`(lambda, 2))), `*`(`+`(s, `-`(mu)))))))) (33)
 

> unt:=invlaplace(uns,s,t);
 

`+`(`/`(`*`(2, `*`(cos(`*`(lambda, `*`(x))), `*`(exp(`*`(mu, `*`(t)))))), `*`(sin(lambda), `*`(lambda, `*`(`+`(2, `*`(`^`(lambda, 2)))))))) (34)
 

> unt:=subs(mu=-l[n]^2,lambda=l[n],unt);
 

`+`(`/`(`*`(2, `*`(cos(`*`(l[n], `*`(x))), `*`(exp(`+`(`-`(`*`(`^`(l[n], 2), `*`(t)))))))), `*`(sin(l[n]), `*`(l[n], `*`(`+`(2, `*`(`^`(l[n], 2)))))))) (35)
 

The solution obtained can then be plotted. 

> U:=b1t+b2t+Sum(unt,n=1..infinity);
 

Sum(`+`(`/`(`*`(2, `*`(cos(`*`(l[n], `*`(x))), `*`(exp(`+`(`-`(`*`(`^`(l[n], 2), `*`(t)))))))), `*`(sin(l[n]), `*`(l[n], `*`(`+`(2, `*`(`^`(l[n], 2)))))))), n = 1 .. infinity) (36)
 

> u:=piecewise(t=0,1,t>0,subs(infinity=20,U)):
 

> u:=evalf(u):
 

> plot3d(u,x=0..1,t=0..0.5,axes=boxed,title="Figure 8.24.",labels=[x,t,"u"],orientation=[45,60]);
 

Plot
 

> plot([subs(t=0,u),subs(t=0.1,u),subs(t=0.2,u),subs(t=0.5,u)],x=0..1,title="Figure 8.25.",axes=boxed,thickness=5,labels=[x,"u"]);
 

Plot_2d
 

>