Example 8.11.mw

Example 8.11 Diffusion in a Slab with Nonhomogeneous Flux Boundary Condtions during the Charging of a Battery 

Equation (8.1.27) is solved in Maple and the results are given 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):=0;
 

0 (2)
 

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

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

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

diff(u(x, t), x) = delta (4)
 

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

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

`*`(s, `*`(U(x))) = 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) = `/`(`*`(delta), `*`(s)) (7)
 

> dsolve(eqs,U(x));
 

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

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

`+`(`*`(c[1], `*`(cosh(`*`(`^`(s, `/`(1, 2)), `*`(x))))), `*`(c[2], `*`(sinh(`*`(`^`(s, `/`(1, 2)), `*`(x)))))) (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));
 

`/`(`*`(delta, `*`(cosh(`*`(`^`(s, `/`(1, 2)), `*`(x))))), `*`(sinh(`*`(`^`(s, `/`(1, 2)))), `*`(`^`(s, `/`(3, 2))))) (10)
 

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

`/`(`*`(delta, `*`(cosh(`*`(`^`(s, `/`(1, 2)), `*`(x))))), `*`(sinh(`*`(`^`(s, `/`(1, 2)))), `*`(`^`(s, `/`(3, 2))))) (11)
 

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

`*`(delta, `*`(cosh(`*`(`^`(s, `/`(1, 2)), `*`(x))))) (12)
 

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

`*`(sinh(`*`(`^`(s, `/`(1, 2)))), `*`(`^`(s, `/`(3, 2)))) (13)
 

> solve(Q(s),s);
 

0 (14)
 

> _EnvAllSolutions := true;
 

true (15)
 

> solve(Q(s),s);
 

`+`(`-`(`*`(`^`(Pi, 2), `*`(`^`(_Z1, 2))))), 0 (16)
 

> 0,0,-n^2*Pi^2;
 

0, 0, `+`(`-`(`*`(`^`(n, 2), `*`(`^`(Pi, 2))))) (17)
 

> mu0:=0;
 

0 (18)
 

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

`/`(`*`(`^`(s, `/`(1, 2)), `*`(delta, `*`(cosh(`*`(`^`(s, `/`(1, 2)), `*`(x)))))), `*`(sinh(`*`(`^`(s, `/`(1, 2)))))) (19)
 

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

delta (20)
 

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

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

`+`(`*`(`/`(1, 2), `*`(delta, `*`(`^`(x, 2)))), `-`(`*`(`/`(1, 6), `*`(delta)))) (21)
 

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

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

`+`(`/`(`*`(2, `*`(delta, `*`(cosh(`*`(`^`(mu, `/`(1, 2)), `*`(x)))))), `*`(`+`(`*`(cosh(`*`(`^`(mu, `/`(1, 2)))), `*`(mu)), `*`(3, `*`(sinh(`*`(`^`(mu, `/`(1, 2)))), `*`(`^`(mu, `/`(1, 2))))))))) (22)
 

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

> vars:={cos(n*Pi)=(-1)^n,sin(n*Pi)=0};
 

{cos(`*`(n, `*`(Pi))) = `^`(-1, n), sin(`*`(n, `*`(Pi))) = 0} (23)
 

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

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

`+`(`/`(`*`(2, `*`(`^`(-1, `+`(1, `-`(n))), `*`(delta, `*`(cos(`*`(n, `*`(Pi, `*`(x)))))))), `*`(`^`(n, 2), `*`(`^`(Pi, 2))))) (24)
 

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

`/`(`*`(`+`(`*`(`/`(1, 2), `*`(delta, `*`(`^`(x, 2)))), `-`(`*`(`/`(1, 6), `*`(delta))))), `*`(s)) (25)
 

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

`+`(`*`(`/`(1, 6), `*`(delta, `*`(`+`(`*`(3, `*`(`^`(x, 2))), `-`(1)))))) (26)
 

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

`/`(`*`(delta), `*`(`^`(s, 2))) (27)
 

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

`*`(delta, `*`(t)) (28)
 

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

`+`(`/`(`*`(2, `*`(`^`(-1, `+`(1, `-`(n))), `*`(delta, `*`(cos(`*`(n, `*`(Pi, `*`(x)))))))), `*`(`^`(n, 2), `*`(`^`(Pi, 2), `*`(`+`(s, `-`(mu))))))) (29)
 

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

`+`(`-`(`/`(`*`(2, `*`(`^`(-1, `+`(`-`(n))), `*`(delta, `*`(cos(`*`(n, `*`(Pi, `*`(x)))), `*`(exp(`*`(mu, `*`(t)))))))), `*`(`^`(n, 2), `*`(`^`(Pi, 2)))))) (30)
 

> unt:=subs(mu=-n^2*Pi^2,unt);
 

`+`(`-`(`/`(`*`(2, `*`(`^`(-1, `+`(`-`(n))), `*`(delta, `*`(cos(`*`(n, `*`(Pi, `*`(x)))), `*`(exp(`+`(`-`(`*`(`^`(n, 2), `*`(`^`(Pi, 2), `*`(t))))))))))), `*`(`^`(n, 2), `*`(`^`(Pi, 2)))))) (31)
 

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

`+`(`*`(`/`(1, 6), `*`(delta, `*`(`+`(`*`(3, `*`(`^`(x, 2))), `-`(1))))), `*`(delta, `*`(t)), Sum(`+`(`-`(`/`(`*`(2, `*`(`^`(-1, `+`(`-`(n))), `*`(delta, `*`(cos(`*`(n, `*`(Pi, `*`(x)))), `*`(exp(`+`(... (32)
 

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

> plot3d(subs(delta=1,u),x=0..1,t=0..0.5,axes=boxed,title="Figure Exp. 8.20.",labels=[x,t,"u"],orientation=[-135,60]);
 

Plot
 

>