Problem 8:
A square plate x is at temperature . At time the temperature is increased to along one of the four sides while being held at along the other three sides, and heat then flows into the plate according to . When does the temperature reach at the center of the plate?
Solution:
This is a standard heat-equation problem with homogeneous boundary conditions. It will be slightly more convenient to take the plate as [0,2] x [0,2], and the side with will be taken as . The solution is obtained as the sum of a steady-state solution v with so that , and a solution of the equation with homogeneous boundary conditions, with so that .
> | aj:= int(5/sinh(j*Pi)*sin(j*Pi*y/2),y = 0 .. 2) assuming j::posint; |
> | bij:= -aj*int(sin(i*Pi*x/2)*sinh(j*Pi*x/2),x = 0 .. 2) assuming i::posint,j::posint; |
> | bij:= simplify(evalc(convert(%,exp))) assuming i::posint,j::posint; |
We want to evaluate this at x=1, y=1. By symmetry it is obvious that v(1,1) = 5/4.
As for , the factor for (some preliminary investigation assured us that the answer we want should be somewhere between about 1/4 and 1) if . So this approximation to should be accurate to approximately 30 decimals when :
> | U:= 5/4 + add(add(bij*sin(i*Pi*1/2)*sin(j*Pi*1/2)*exp(-Pi^2*(i^2+j^2)/4*t),j=1..floor(sqrt(116-i^2))),i=1..10); |
Now to solve :
> | Digits:= 40: fsolve(U=1,t=1/4 .. 1); |
This actually has 39 correct digits.