+ All Categories
Home > Documents > Solution to Diffusion and Heat Conduction Equations

Solution to Diffusion and Heat Conduction Equations

Date post: 28-Apr-2015
Category:
Upload: jmckenziet
View: 168 times
Download: 3 times
Share this document with a friend
23
Viscous Flows Class Project Numerical and analytical Solutions to Diffusion and 2D Heat conduction Equations
Transcript
Page 1: Solution to Diffusion and Heat Conduction Equations

Viscous Flows Class Project

Numerical and analytical Solutions to

Diffusion and 2D Heat conduction Equations

Page 2: Solution to Diffusion and Heat Conduction Equations

|2

Table of Contents Diffusion Equation ........................................................................................................................................ 3

Numerical Schemes ................................................................................................................................... 3

Explicit Solution..................................................................................................................................... 4

Implicit Solution .................................................................................................................................... 5

2-D Heat Conduction Equation .................................................................................................................... 6

Numerical Schemes ................................................................................................................................... 6

Explicit Solution..................................................................................................................................... 7

Implicit Solution .................................................................................................................................... 8

Steady State 2-D Heat Conduction Equation ............................................................................................... 9

Analytical Solution .................................................................................................................................... 9

Appendices ................................................................................................................................................. 14

Appendix A – Diffusion Equation approximation .................................................................................... 14

Explicit Solution MATLAB Code ........................................................................................................... 14

Implicit Solution MATLAB Code ......................................................................................................... 16

Appendix B- 2-D Heat Conduction Approximation ................................................................................ 19

Explicit Solution MATLAB Code .......................................................................................................... 19

Implicit Solution MATLAB Code ......................................................................................................... 21

Table of Figures

Figure 1: Solution to diffusion scheme using explicit approximation……………….………………………………………2

Figure 2: Solution to diffusion scheme using implicit approximation……………………………………………………….2

Figure 3: Solution to 2-D Heat Conduction Equation using Explicit Approximation………………………………….2

Figure 4: Solution to 2-D Heat Conduction Equation using Implicit Approximation…………………..…………….2

Figure 5: Plot of Sinh(x) and Tanh(x) showing Sinh(x)-Tanh(x)………………………..……………………………………..2

Page 3: Solution to Diffusion and Heat Conduction Equations

|3

Diffusion Equation

Diffusion Equation given as

[1.1]

Subject to the initial condition

( ) for [1.2] And the boundary condition

( ) for [1.3]

Equation [1.1] can be discretized using explicit scheme

(

) [1.4]

Where

[1.5]

With an imposed constraint on

[1.6]

To avoid constrain on . Equation [1.1] can be discretized using implicit scheme as

( )

[1.7]

Analytical solution to equation [1.1]

(

√ ) [1.8]

Where

( )

√ ∫

[1.9]

Solutions to equation [1.1] using both explicit and implicit approximations, equations [1.4] and [1.8],

while compared with equation [1.8] are displayed in figures (1) and (2).

Page 4: Solution to Diffusion and Heat Conduction Equations

|4

Figure

1: So

lutio

n to

diffu

sion

eq

uatio

n u

sing e

xplicit ap

pro

ximatio

n w

ith Exa

ct solu

tion

o

verlaid

. dt=0

.01

dy=0

.00

5

Page 5: Solution to Diffusion and Heat Conduction Equations

|5

Figure

2: So

lutio

n to

diffu

sion

eq

uatio

n u

sing im

plicit ap

pro

ximatio

n w

ith E

xact solu

tion

o

verlaid

. dt=0

.1 d

y=0.0

01

Page 6: Solution to Diffusion and Heat Conduction Equations

|6

Heat Conduction Equation

2-D heat conduction equation given as

(

) [2.1]

Subject to the initial condition

( ) [2.2]

( ) [2.3]

( ) [2.4]

( ) ( ) [2.5]

And the boundary condition

( ) [2.6] Can be discretized using explicit scheme

( )

( ( )

( ) ( ) ( )

)

[2.7]

( )

( )

( )

( )

( )

)

Where

[2.8]

[2.9]

Can be discretized using implicit scheme as

( )

( )

( )

( )

( ( )

( ) ( ) ( )

)

[2.10]

( ) ( ) ( )

( )

( )

( )

( )

( )

)

Solutions to equation [2.1] using both explicit and implicit approximations, equations [2.7] and [2.10],

are displayed n figures (3) and (4)

Page 7: Solution to Diffusion and Heat Conduction Equations

|7

Figure

3: So

lutio

n to

2-D

He

at Co

nd

uctio

n Eq

uatio

n u

sing Exp

licit Ap

pro

ximatio

n. d

t=1

dx=d

y=0.1

Page 8: Solution to Diffusion and Heat Conduction Equations

|8

Figure

4: So

lutio

n to

2-D

He

at Co

nd

uctio

n Eq

uatio

n u

sing Im

plicit A

pp

roxim

ation

. d

t=10

0 d

x=dy=0

.01

Page 9: Solution to Diffusion and Heat Conduction Equations

|9

Steady State Heat Conduction Equation

Two-dimensional heat conduction equation is given as

(

) [3.1]

At steady state (

) equation [1] becomes

[3.2]

Equation [3.1] is subject to the following boundary conditions

( ) [3.3]

( ) [3.4]

( ) [3.5]

( ) ( ) [3.6]

( ) ( )

Introduce temperature variant to convert to homogenous boundary conditions

[3.7] Thus, equations [3.2]-[ 3.7] become

[3.8]

Equation [3.1] is subject to the following boundary conditions

( ) [3.9] ( ) [3.10] ( ) [3.11] ( ) ( ) [3.12]

Using method of separation of variables, equation [3.8] becomes

( ) ( ) ( ) [3.13]

Page 10: Solution to Diffusion and Heat Conduction Equations

|10

Substitute equation [3.13] into equation [3.2]

( ) ( )

( ) ( )

[3.14]

Equation [3.14] becomes

( )

( ) [3.15]

Introduce to convert PDE to two separate ODEs

( )

( )

[3.16]

Transform the boundary conditions

( ) ( ) ( )

( ) [3.17]

( ) ( ) ( )

( ) [3.18]

( ) ( ) ( )

( ) [3.19]

( ) ( ) ( ) ( )

( ) ( ) [3.20]

Equation [3.16] becomes two Sturm-Liouville problems

( ) [3.21]

( ) [3.22]

The general Solutions to equations [3.21] and [3.22] are

( ) ( ) ( ) [3.23]

( ) [3.24]

( ) ( ) ( ) [3.25]

Page 11: Solution to Diffusion and Heat Conduction Equations

|11

Substituting equation [3.17] into [3.23]

( ) ( ) ( )

[3.26]

Substituting equation [3.26] into [3.23]

( ) ( ) [3.27]

Substituting equation [3.18] and [3.26] into [3.23]

( ) ( )

( )

[3.28]

Form equation [3.28], eigenfunction for is

( ) ( ) [3.29] Substituting equation [3.17] into [3.24]

( ) ( )

[3.30]

Substituting equation [3.18] and [3.30] into [3.24]

( )

[3.31]

From equation [3.30] and [3.31] there are no eigenvalues for Substituting equation [3.19] into [3.25]

( ) ( ) ( )

( ) ( )

( ) [3.32]

Substituting equation [3.32] back into equation [3.23]

( ) ( )

( ( ) ( )) [3.33]

Page 12: Solution to Diffusion and Heat Conduction Equations

|12

From equation [3.33] and figure 5, there are no eigenvalues for which therefore implies

[3.34]

Substituting equation [3.34] into [3.25]

( ) ( ) [3.35]

Substituting equation [3.27] and [3.35] into [3.13]

( ) ( ) ( ) [3.36]

Where

[3.37] Since equation [3.34] is linear, the summation of

also satisfies the boundary conditions

( ) ∑ ( ) ( ) [3.38]

Substitute equation [3.20] into [3.38]

( ) ∑ ( ) ( ) ( ) [3.39]

Figure 5: Plot of Sinh(x) and Tanh(x) showing Sinh(x)-Tanh(x)

Page 13: Solution to Diffusion and Heat Conduction Equations

|13

To apply orthogonality, introduce

( ) [3.40]

Multiply [3.39] and [3.40] and integrate over (0,L) where L=1

∑ ∫ ( ) ( )

∫ ( ( ) ) ( )

[3.41]

The solution to the RHS of equation [3.41] When

∫ ( ) ( )

( ( ) ( ) ( ) ( )

( )

∫ ( ) ( )

[3.42]

When

∫ ( )

( )

∫ ( )

[3.43]

This implies

∫ ( ( ) ) ( )

∫ ( ( ) ) ( )

[3.44]

Change summation index of equation [3.44] back to

∫ ( ( ) ) ( )

[3.45]

Substitute equation [3.45] into [3.38] to obtain the temperature profile in the plate

( ) ∑ ( ) ( )∫ ( ( ) ) ( )

Page 14: Solution to Diffusion and Heat Conduction Equations

|14

Appendix A MATLAB Code – Diffusion Explicit

%%%%% DIFFUSION EQUATION APPRXIMATION USING EXPLICIT SCHEME %%%% clc clear all tic % using the Forward Time Centered Space (FTCS) scheme. Uo = 1; dt = 0.01; dy = 0.005; h = 0.20; v = 1.5*10^-5; d = v*dt/(dy^2); JM = 1+(h/dy); t = 60; %* Set initial and boundary conditions. u = zeros(JM,1); % Initialize velocity to zero at all points u(1)= Uo; u(JM)= 0; unew = zeros(JM,1); unew(1)=Uo; unew(JM)= 0;

plotu = zeros(JM,4); %% p=1; for t=dt:dt:60 for j=2:JM-1 unew(j) = u(j)+d*(u(j+1)-2*u(j)+u(j-1)); end u=unew; if (t==1)||(t==2)||(t==5)||(t==10) plotu(:,p)=u; p=p+1; end end

h = 0; for i = 2:JM y(1)=0; y(i) = h+dy; h = y(i); end

hold on

plot(plotu(:,1),y,plotu(:,2),y,plotu(:,3),y,plotu(:,4),y) title('FTCS Implicit dt=0.01') xlabel('Velocity [m/s]') ylabel('height [m]') axis([0 1 0 .2]) legend('t=1','t=2','t=5','t=10') toc tic

Page 15: Solution to Diffusion and Heat Conduction Equations

|15

Appendix A MATLAB Code – Diffusion Explicit

%% ------------- Compare Solution --------------------------- %% syms x h y = exp(-x^2); a = 0; t = 1; b = h/(2*sqrt(v*t)); fnint = int(y,x,a,b); erf1 = (2/(sqrt(pi)))*fnint; U1 = (1-erf1); y = exp(-x^2); a = 0; t = 2; b = h/(2*sqrt(v*t)); fnint = int(y,x,a,b); erf2 = (2/(sqrt(pi)))*fnint; U2 = (1-erf2); y = exp(-x^2); a = 0; t = 5; b = h/(2*sqrt(v*t)); fnint = int(y,x,a,b); erf3 = (2/(sqrt(pi)))*fnint; U3 = (1-erf3); y = exp(-x^2); a = 0; t = 10; b = h/(2*sqrt(v*t)); fnint = int(y,x,a,b); erf4 = (2/(sqrt(pi)))*fnint; U4 = (1-erf4); h=0; for i = 2:10 y(1)=0; y(i) = h+dy; h = y(i); end h = y;

u1 = subs(U1); u1 = double(u1); u2 = subs(U2); u2 = double(u2); u3 = subs(U3); u3 = double(u3); u4 = subs(U4); u4 = double(u4);

plot(u1,h,'-.',u2,h,'-.',u3,h,'-.',u4,h,'-.') title('Explicit Approximation with Exact Solution') toc hold off

Page 16: Solution to Diffusion and Heat Conduction Equations

|16

Appendix A MATLAB Code – Diffusion Implicit

Appendix A

%%%%% DIFFUSION EQUATION APPRXIMATION USING IMPLICIT SCHEME %%%% clc clear all tic % using the Forward Time Centered Space (FTCS) scheme. Uo = 1; dt = 0.1; dy = 0.001 h = 0.20; v = 1.5*10^-5; d = v*dt/(dy^2); JM = 1+(h/dy); t = 60; %* Set initial and boundary conditions. u = zeros(JM,1); % Initialize velocity to zero at all points u(1)= Uo; u(JM)= 0;

unew = zeros(JM,1); unew(1)=Uo; unew(JM)= 0; plotu = zeros(JM,4);

% Thomas Alg. a = -d; b = 2*d+1; c = -d; p=1; for t=dt:dt:t for i=2:JM D(1) = u(1); D(i) = u(i);

H(1) = 0; H(i)=c/(b-a*H(i-1));

G(1) = Uo; G(i)=(D(i)-a*G(i-1))/(b-a*H(i-1)); end

for j=JM-1:-1:2 unew(j)=-H(j)*unew(j+1)+G(j); end u=unew; if (t==1)||(t==2)||(t==5)||(t==10) plotu(:,p)=u; p=p+1; end end h = 0; for i = 2:JM y(1)=0;

Page 17: Solution to Diffusion and Heat Conduction Equations

|17

Appendix A MATLAB Code – Diffusion Implicit

y(i) = h+dy; h = y(i); end

hold on plot(plotu(:,1),y,plotu(:,2),y,plotu(:,3),y,plotu(:,4),y) xlabel('Velocity [m/s]') ylabel('height [m]') axis([0 1 0 .2]) legend('t=1','t=2','t=5','t=10') toc tic %% ------------- Compare Solution --------------------------- %% syms x h y = exp(-x^2); a = 0; t = 1; b = h/(2*sqrt(v*t)); fnint = int(y,x,a,b); erf1 = (2/(sqrt(pi)))*fnint; U1 = (1-erf1);

y = exp(-x^2); a = 0; t = 2; b = h/(2*sqrt(v*t)); fnint = int(y,x,a,b); erf2 = (2/(sqrt(pi)))*fnint; U2 = (1-erf2);

y = exp(-x^2); a = 0; t = 5; b = h/(2*sqrt(v*t)); fnint = int(y,x,a,b); erf3 = (2/(sqrt(pi)))*fnint; U3 = (1-erf3);

y = exp(-x^2); a = 0; t = 10; b = h/(2*sqrt(v*t)); fnint = int(y,x,a,b); erf4 = (2/(sqrt(pi)))*fnint; U4 = (1-erf4);

h=0; for i = 2:10 y(1)=0; y(i) = h+dy; h = y(i); end

Page 18: Solution to Diffusion and Heat Conduction Equations

|18

Appendix A MATLAB Code – Diffusion Implicit

h = y; u1 = subs(U1); u1 = double(u1); u2 = subs(U2); u2 = double(u2); u3 = subs(U3); u3 = double(u3); u4 = subs(U4); u4 = double(u4);

plot(u1,h,'-.',u2,h,'-.',u3,h,'-.',u4,h,'-.') title('Implicit Approximation with Exact Solution') xlabel('Velocity [m/s]') ylabel('height [m]') axis([0 1 0 .2]) legend('t=1','t=2','t=5','t=10','(Exact) t=1',... '(Exact) t=2','(Exact) t=5','(Exact) t=10') toc hold off

Page 19: Solution to Diffusion and Heat Conduction Equations

|19

Appendix B MATLAB Code – Heat Conduction Explicit

%%%%% 2-D HEAT CONDUCTION APPRXIMATION USING EXPLICIT SCHEME %%%% clc clear all tic

% Domain Size x = 1; y = 1;

% Step Size dx = 0.1; dy = 0.1;

% Time Step dt = 1;

% Grid Size JM = 1+(y/dy); IM = 1+(x/dx);

% Thermal Diffusivity k = 1.5*10^-5; d1 = (1/2)*(k*dt/dx^2); d2 = (1/2)*(k*dt/dy^2);

% Initial Conditions T1 = 300; T3 = 300; T4 = 300;

%% Initialize Boundary Conditions T=300*ones(IM,JM); T(:,JM)=T3; T(IM,:)=T4; T(:,1)=T1;

Tx=300*ones(IM,JM); Tx(:,JM)=T3; Tx(IM,:)=T4; Tx(:,1)=T1;

Tnew=300*ones(IM,JM); Tnew(:,JM)=T3; Tnew(IM,:)=T4; Tnew(:,1)=T1;

Twall=zeros(JM);

% Preallocate vectors for Thomas algorithm H=zeros(IM); G=zeros(IM);

Page 20: Solution to Diffusion and Heat Conduction Equations

|20

Appendix B MATLAB Code – Heat Conduction Explicit

D=zeros(IM);

% Solve for T(0,y,t) y=0; for j=1:JM T2 = 300+500*sin(pi*y); y = y+dy; T(1,j)=T2; Tx(1,j)=T2; Tnew(1,j)=T2; Twall(j)=T2; end

errormax = 0.000001; % Define max error value error = 1; %Set initial error value iterations = 0; % Iteration count set to zero

%% Thomas Algorithm while error >= errormax;

% X sweep for j=2:JM-1 for i=2:IM-1 Tx(i,j) = d2*T(i,j+1)+(1-2*d2)*T(i,j)+d2*T(i,j-1); end end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

err=0; % Set error count to zero % Y sweep for i=2:IM-1 for j=2:JM-1 Tnew(i,j) = d1*Tx(i+1,j)+(1-2*d1)*Tx(i,j)+d1*Tx(i-1,j); end % Sum error for j=2:JM-1 sum = (abs(Tnew(i,j)-T(i,j))/(T(i,j))); sumerror = sum + err; err = sumerror; end end T = Tnew; % Update values for new time step iterations = iterations + 1 % Iteration count error=err % Determine total error end contour(Tnew) colorbar colormap gray title('2-D Heat Conduction Equation Explicit Approximation')

Page 21: Solution to Diffusion and Heat Conduction Equations

|21

Appendix B MATLAB Code – Heat Conduction Implicit

%%%%% 2-D HEAT CONDUCTION APPRXIMATION USING IMPLICIT SCHEME %%%% clc clear all tic

% Domain Size x = 1; y = 1;

% Step Size dx = 0.01; dy = 0.01;

% Time Step dt = 100;

% Grid Size JM = 1+(y/dy); IM = 1+(x/dx);

% Thermal Diffusivity k = 1.5*10^-5; d1 = (1/2)*(k*dt/dx^2); d2 = (1/2)*(k*dt/dy^2);

% Initial Conditions T1 = 300; T3 = 300; T4 = 300;

%% Initialize Boundary Conditions T=300*ones(IM,JM); T(:,JM)=T3; T(IM,:)=T4; T(:,1)=T1;

Tx=300*ones(IM,JM); Tx(:,JM)=T3; Tx(IM,:)=T4; Tx(:,1)=T1;

Tnew=300*ones(IM,JM); Tnew(:,JM)=T3; Tnew(IM,:)=T4; Tnew(:,1)=T1;

Twall=zeros(JM);

% Preallocate vectors for Thomas algorithm H=zeros(IM); G=zeros(IM);

Page 22: Solution to Diffusion and Heat Conduction Equations

|22

Appendix B MATLAB Code – Heat Conduction Implicit

D=zeros(IM);

% Solve for T(0,y,t) y=0; for j=1:JM T2 = 300+500*sin(pi*y); y = y+dy; T(1,j)=T2; Tx(1,j)=T2; Tnew(1,j)=T2; Twall(j)=T2; end errormax = 0.000001; % Define max error value error = 1; %Set initial error value iterations = 0; % Iteration count set to zero

%% Thomas Algorithm while error >= errormax; % X sweep for j=2:JM-1 for i=2:IM-1 a = -d1; b = 1+2*d1; c = -d1;

D(1) = T(1,j); D(i) = d2*T(i,j+1)+(1-2*d2)*T(i,j)+d2*T(i,j-1);

H(1) = 0; H(i)=c/(b-a*H(i-1));

G(1) = Twall(j); G(i)=(D(i)-a*G(i-1))/(b-a*H(i-1)); end Tx(IM,j)=T4; for i=IM-1:-1:2 Tx(i,j)=-H(i)*Tx(i+1,j)+G(i); end Tx(1,j)=Twall(j); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

err=0; % Set error count to zero

% Y sweep for i=2:IM-1 for j=2:JM-1 a = -d2; b = 1+2*d2; c = -d2;

Page 23: Solution to Diffusion and Heat Conduction Equations

|23

Appendix B MATLAB Code – Heat Conduction Implicit

D(1) = T(i,1);

D(j) = d1*Tx(i+1,j)+(1-2*d1)*Tx(i,j)+d1*Tx(i-1,j);

H(1) = 0; H(j) = c/(b-a*H(j-1));

G(1) = T1; G(j)=(D(j)-a*G(j-1))/(b-a*H(j-1)); end

Tnew(i,JM)=T3; for j=JM-1:-1:2 Tnew(i,j)=-H(j)*Tnew(i,j+1)+G(j); end Tnew(i,1)=T1;

% Sum error for j=2:JM-1 sum = (abs(Tnew(i,j)-T(i,j))/(T(i,j))); sumerror = sum + err; err = sumerror; end end

T = Tnew; % Update values for new time step iterations = iterations + 1 % Iteration count error=err % Determine total error end

for i=1:IM for j=1:JM Tnew(j,i)=T(i,j); end end

contour(Tnew) colorbar colormap gray title('2-D Heat Conduction Equation Implicit Approximation') xlabel('x [m]') ylabel('y [m]') set(gca,'XTick',[1:IM/5.05:IM] ); set(gca,'XTickLabel',[0:.2:x]); set(gca,'YTick',[1:JM/5.05:JM] ); set(gca,'YTickLabel',[0:.2:y]); toc


Recommended