Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scientific Computing Partial Differential Equations Implicit Solution of Heat Equation.

Similar presentations


Presentation on theme: "Scientific Computing Partial Differential Equations Implicit Solution of Heat Equation."— Presentation transcript:

1 Scientific Computing Partial Differential Equations Implicit Solution of Heat Equation

2 Explicit vs Implicit Methods Explicit methods have problems relating to stability Implicit methods overcome this but at the expense of introducing a more complicated algorithm In the implicit algorithm, we develop simultaneous equations for u at the j-th and (j+1)-st time steps

3 Explicit Method We use the centered-difference approximation for u xx at time step j: grid point involved with space difference grid point involved with time difference

4 Implicit Method We use the centered-difference approximation for u xx at step (j+1) : grid point involved with space difference grid point involved with time difference

5 We use the forward-difference formula for the time derivative and the centered-difference formula for the space derivative at time step (j+1): Implicit Method

6 Then the heat equation (u t =cu xx ) can be approximated as Or, Let r = (ck/h 2 ) Solving for u i,j we get: Implicit Method

7 Putting in the boundary conditions, we get the following equations for the (implicit) solution to the heat equation is: Implicit Method

8 Matrix Form of Solution

9 This is of the form To solve for u(:,j) we need to use a linear systems method. Since we have to solve this system repeatedly, a good choice is the LU decomposition method. Matrix Form of Solution

10 function z = implicitHeat(f, g0, g1, T, n, m, c) %Simple Implicit solution of heat equation % Constants h = 1/n; k = T/m; r = c*k/h^2; % x and t vectors x = 0:h:1; t = 0:k:T; % Boundary conditions u(1:n+1, 1) = f(x)'; u(1, 1:m+1) = g0(t); u(n+1, 1:m+1) = g1(t); Matlab Implementation

11 % Set up tri-diagonal matrix for interior points of the grid A = zeros(n-1, n-1); % 2 less than x grid size for i= 1: n-1 A(i,i)= (1+2*r); if i ~= n-1 A(i, i+1) = -r; end if i ~= 1 A(i, i-1) = -r; end % Find LU decomposition of A [LL UU] = lu_gauss(A); % function included below Matlab Implementation

12 % Solve for u(:, j+1); for j = 1:m % Set up vector b to solve for in Ax=b b = zeros(n-1,1); b = u(2:n, j)'; % Make a column vector for LU solver b(1) = b(1) + r*u(1,j+1); b(n-1) = b(n-1) + r*u(n+1,j+1); u(2:n, j+1) = luSolve(LL, UU, b); end z=u'; % plot solution in 3-d mesh(x,t,z); end Matlab Implementation

13 Usage: f = inline(‘x.^4’); g0 = inline(‘0*t’); g1 = inline(‘t.^0’); n=5; m=5; c=1; T=0.5; z = implicitHeat(f, g0, g1, T, n, m, c); Matlab Implementation

14 Calculated solution appears stable: Matlab Implementation

15 To analyze the stability of the method, we again have to consider the eigenvalues of A for the equation We have Using the Gershgorin Theorem, we see that eigenvalues are contained in circles centered at (1+2r) with max radius of 2r Stability

16 Thus, if λ is an eigenvalue of A, we have Thus, all eigenvalues are at least 1. In solving for u(:,j+1) in we have Since the eigenvalues of A -1 are the reciprocal of the eigenvalues of A, we have that the eigenvalues of A -1 are all <= 1. Thus, the implicit algorithm yields stable iterates – they do not grow without bound. Stability

17 Convergence means that as  x and  t approach zero, the results of the numerical technique approach the true solution Stability means that the errors at any stage of the computation are attenuated, not amplified, as the computation progresses Truncation Error refers to the error generated in the solution by using the finite difference formulas for the derivatives. Convergence and Stability

18 Example : For the explicit method, it will be stable if r<= 0.5 and will have truncation error of O(k+h 2 ). Implicit Method is stable for any choice of r and will again have truncation error of O(k+h 2 ). It would be nice to have a method that is O(k 2 +h 2 ). The Crank-Nicholson method has this nice feature. Convergence and Stability

19 Crank-Nicholson Method We average the centered-difference approximation for u xx at time steps j and j+1: grid point involved with space difference grid point involved with time difference

20 Crank-Nicholson Method We get the following

21 Putting in the boundary conditions, we get the following equations for the (C-N) solution to the heat equation is: Crank-Nicholson Method

22 Class Project: Determine the matrix for the C-N method and revise the Matlab implicitHeat function to implement C-N. Crank-Nicholson Method


Download ppt "Scientific Computing Partial Differential Equations Implicit Solution of Heat Equation."

Similar presentations


Ads by Google