18.303 Problem Set 4 Solutions Problem 1: (10+10+10) T −T (a) If we let T0 = Tb + g L b z, and write T = T0 + ∆T where ∆T |z=0,L = 0 and ∆T has ∂ Neumann conditions on the sides, then (similar to class) we obtain the equation ∂t (∆T ) = ∂T0 ∂T0 κ κ κ 2 2 2 2 ∇ (∆T ) + ∇ T − = ∇ (∆T ) − ≈ ∇ (∆T ) ≈ 0 in approximate steady state if 0 cρ ∂t cρ ∂t cρ we neglect ∂Tg /∂t as suggested. The solution is simply ∆T = 0, the only function in N (∇2 ) Tg − Tb with these boundary conditions. Hence, T (x, y, z) = Tb + z : a separable solution L consisting of a linear ramp in z multiplied by a constant function in xy. Tb − Tg a . (Note that we L have to be careful of the sign: heat flows in the −κ∇T direction, as discussed in class, from dT T −T hot to cold, so that q > 0 if Tb > Tg .) Since cg ρg Vg dtg = κ b L g a, we can solve this to obtain −tκa/cg ρg Vg L Tg (t) = Tb + Ce . (We can solve this in a variety of ways, but the simplest is by inspection: Tg must contain an exponential to get the −Tg term on the right hand side, and a constant to get the Tb term.) C is determined by the initial condition Tg (0), giving: (b) ∇T = Tg −Tb L ẑ. The heat flux into the glass is then simply q = κ Tg (t) = Tb + [Tg (0) − Tb ]e−tκa/cg ρg Vg L . Solving for the time t, we find: t= cg ρg Vg L Tg (0) − Tb 4000 · 1000 · 0.00025 · 0.07 25 − 8 ln = ln s ≈ 779000 s ≈ 9.01 days . κa Tg (t) − Tb 1.1 · 0.0001 25 − 20 Clearly, this is much longer than a real glass takes to warm, which means that most of the heat transfer does not occur through the stem (it exchanges heat with the air by convection and radiation). (c) The timescale of diffusion (the time for ∆T → 0) will be determined by the smallest-magnitude eigenvalue, corresponding to the slowest decay. If we look for separable eigenfunctions ∆T = X(x, y)Z(z) satisfying these boundary conditions, the smallest-magnitude eigenvalue will be the least-oscillatory such function, and this is clearly when X = 1 (the least-oscillatory function satisfying the Neumann boundaries in x, y). The problem then reduces to a 1d problem in Z with Dirichlet boundaries, and as in class we then get Z(z) = sin(πz/L) for the smallestπ2 κ magnitude λ = − cρL 2 . Note that λ has units of 1/sec (as it must since the time dependence is cρL2 800 · 3100 · (0.07)2 = sec ≈ 1119 sec . 2 π κ π 2 1.1 This is almost 1000× faster than the timescale of the cooling process in the previous part, so our assumption was justified: to a good approximation, the temperatures within the stem instantaneously reach steady state as the temperature in the glass changes. e−λt ), so 1/|λ| gives a timescale for the diffusion: 1 Problem 2: (10+5+5+10) E e (a) Consider the inner product for some arbitrary vector fields u = and v = : B b ´ hu, vi = Ω (Ē · e + B̄ · b). Then, to get Â∗ , we integrate ∇× by parts using the results of pset 3: ˆ hu, Âvi = [Ē · (∇ × b) − B̄ · (∇ × e)] Ω ˆ ‹ [(∇ × Ē) · b − (∇ × B̄) · e] + = Ω [Ē × b − B̄ × e] · dS ∂Ω = h−Âu, vi, where the surface integral is zero since E (and e) is in the normal direction on ∂Ω. Hence Â∗ = − :  is anti-Hermitian (or skew-Hermitian). Identical to the proof in pset 1, this means that the eigenvalues λ are purely imaginary. (Alternative proof: i is self-adjoint, so i has real eigenvalues and hence  has imaginary eigenvalues.) This indeed corresponds to oscillating solutions, since if λ = iω then eλt = cos(ωt) + i sin(ωt). ∂u ∂ (b) This is easily shown directly: ∂ρ ∂t = ∂t Ĉu = Ĉ ∂t = Ĉ Âu = ∇ · (∇ × B) − ∇ · (∇ × E) = 0, since the divergence of a curl is zero. ∇φ (c) By inspection, N (Â) = { for any (sufficiently differentiable) scalar fields φ, ψ}, since ∇ψ this is what gives zero curls in each component. And N (Â∗ ) = N (−Â) = N (Â), since multiplying  by any nonzero constant doesn’t change the null space. However, we must be careful: N (Â) must contain only functions in our vector space, i.e. functions that satisfy the boundary conditions. In particular, the requirement that ∇φ × n = 0 on ∂Ω means that φ can have no derivative in any direction parallel to the surface: φ must be some constant on the surface. Without loss of generality, we can therefore require φ|∂Ω = 0 (since adding any constant to φ doesn’t change ∇φ). Conversely, B · n|∂Ω = 0 means that ψ has a Neumann boundary condition: n · ∇ψ|∂Ω = 0 . (d) Let v = ∇φ ∇ψ ∈ N (Â∗ ). Therefore, ∂ hv, ui = 0 ∂t ˆ ∂ = [∇φ̄ · E + ∇ψ̄ · B] ∂t Ω ˆ ‹ ∂ ∂ =− [φ̄∇ · E + ψ̄∇ · B] + [ φ̄E + ψ̄B] · dS ∂t Ω ∂t ∂Ω ˆ ∂ =− [φ̄∇ · E + ψ̄∇ · B], ∂t Ω where in the second line we have used the divergence theorem to integrate by parts as in class, and in the third line we have used the boundary conditions on φ and B. But since this is ∂ ∂ ∇ · E and ∂t ∇ · B are zero (excluding true for any such φ and ψ, it must be the case that ∂t isolated points, as usual). Q.E.D. 2 Problem 3: (5+5+5+5+5+5+5) (a) The equations for continuity of u and ∂u/∂r at interior interfaces Rn (n < N ) are: αn Jm (kn Rn ) + βn Ym (kn Rn ) = αn+1 Jm (kn+1 Rn ) + βn+1 Ym (kn+1 Rn ) 0 0 αn kn Jm (kn Rn ) + βn0 kn Ym (kn Rn ) = αn+1 kn+1 Jm (kn+1 Rn ) + βn+1 kn+1 Ym (kn+1 Rn ), which can be written in matrix form as Jm (kn Rn ) Ym (kn Rn ) αn Jm (kn+1 Rn ) Ym (kn+1 Rn ) αn+1 = , 0 0 kn Jm (kn Rn ) kn Ym0 (kn Rn ) βn kn+1 Jm (kn+1 Rn ) kn+1 Ym0 (kn+1 Rn ) βn+1 and hence Jm (kn+1 Rn ) Ym (kn+1 Rn ) 0 kn+1 Jm (kn+1 Rn ) kn+1 Ym0 (kn+1 Rn ) Mn = where kn = p −λ/cn and kn+1 = p −1 Jm (kn Rn ) Ym (kn Rn ) 0 kn Jm (kn Rn ) kn Ym0 (kn Rn ) , −λ/cn+1 . (b) This boundary condition is αN Jm (kN RN ) + βN Ym (kN RN ) = 0, or mN = Jm (kN RN ) Ym (kN RN ) . αN α1 α1 = MN −1 MN −2 · · · M2 M1 , and hence mTN MN −1 MN −2 · · · M2 M1 = βN 0 0 0. We can divide through by α1 (6= 0 since eigenfunctions must be nonzero) to obtain fm (λ) = 0 where 1 fm (λ) = mTN MN −1 MN −2 · · · M2 M1 . 0 (c) We can write (d) The Matlab code that I used is given below, and the function f0 (λ) is plotted from −200 to 0 in figure 1, showing three zeros at ≈ −10, −70, −140. function val = f0(lambdas) c1 = 5; c2 = 1; R1 = 0.5; R2 = 1; val = zeros(size(lambdas)); for i = 1:length(lambdas) lambda = lambdas(i); k1 = sqrt(-lambda / c1); k2 = sqrt(-lambda / c2); C = [ besselj(0,k2*R1), bessely(0,k2*R1); ... -k2*besselj(1,k2*R1), -k2*bessely(1,k2*R1) ]; D = [ besselj(0,k1*R1), bessely(0,k1*R1); ... -k1*besselj(1,k1*R1), -k1*bessely(1,k1*R1) ]; M1 = C \ D; % same as inv(C) * D, but more efficient m2 = [ besselj(0, k2*R2); bessely(0, k2*R2) ]; val(i) = m2’ * M1 * [1;0]; end (e) Using fzero(@f0, -10), fzero(@f0, -70), and fzero(@f0,-140), we find the first three eigenvalues λ1 ≈ −10.842, λ2 ≈ −67.150, and λ3 ≈ −136.23. (Actually, Matlab computes many more decimal places than this, but doesn’t print them unless you type format long.) 3 1 f0(λ) 0.5 0 −0.5 −200 −180 −160 −140 −120 −100 λ −80 −60 −40 −20 0 Figure 1: Plot of f0 (λ), which is zero when all the boundary conditions and continuity conditions are satisfied. The zeros of this function correspond to m = 0 eigenvalues λ. (f) Solve for the smallest-magnitude three eigenvalues λ for m = 0. You can use the Matlab fzero function to help you find zeros, once you know their approximate locations from your plot in the previous part. e.g. to find the zero closest to −1, you could use fzero(@f0, -1). (g) These three eigenfunctions are plotted in figure 2, using code for u0 (λ, r) given below. Indeed they are continuous, with continuous slope, and satisfy the Dirichlet boundary condition at R2 ! (However, they have a jump in their second derivatives at R1 .) [It is also interesting to check orthogonality: they should be orthogononal in the weighted ´ R u (λ ,r) u (λ ,r) inner-product sense that 0 2 0 i c(r)0 j rdr = 0 for i 6= j, and this is easily verified by numeric integration with quadl.] function val = u0(lambda, r) c1 = 5; c2 = 1; R1 = 0.5; R2 = 1; k1 = sqrt(-lambda / c1); k2 = sqrt(-lambda / c2); C = [ besselj(0,k2*R1), bessely(0,k2*R1); ... -k2*besselj(1,k2*R1), -k2*bessely(1,k2*R1) ]; D = [ besselj(0,k1*R1), bessely(0,k1*R1); ... -k1*besselj(1,k1*R1), -k1*bessely(1,k1*R1) ]; M1 = C \ D; % same as inv(C) * D, but more efficient a2 = M1(1,:) * [1;0]; % first row b2 = M1(2,:) * [1;0]; % second row % be a little fancy: use array operations rather than loops val = zeros(size(r)); r1 = r(r < R1); r2 = r(r >= R1); val(r < R1) = besselj(0, k1*r1); val(r >= R1) = a2 * besselj(0, k2*r2) + b2 * bessely(0, k2*r2); 4 1 λ1 λ2 λ3 0.8 eigenfunction u(r,θ) 0.6 0.4 0.2 0 −0.2 −0.4 0 0.1 0.2 0.3 0.4 0.5 r/R 0.6 0.7 0.8 0.9 1 Figure 2: First three m = 0 eigenfunctions u(r, θ) = ρ(r) versus r, for eigenvalues λ computed by fzero. Note that they are continuous, with continuous slope, and satisfy the Dirichlet boundary condition at R2 = R = 1. 5