1 Two-dimensional heat equation with FD



Similar documents
1 Finite difference example: 1D implicit heat equation

440 Geophysics: Heat flow with finite differences

Feature Commercial codes In-house codes

Lecture 16 - Free Surface Flows. Applied Computational Fluid Dynamics

Diffusion: Diffusive initial value problems and how to solve them

An Introduction to Partial Differential Equations

WEEK #3, Lecture 1: Sparse Systems, MATLAB Graphics

Part II: Finite Difference/Volume Discretisation for CFD

Introduction to the Finite Element Method

Scientic Computing 2013 Computer Classes: Worksheet 11: 1D FEM and boundary conditions

Module 1 : Conduction. Lecture 5 : 1D conduction example problems. 2D conduction

COMPARISON OF SOLUTION ALGORITHM FOR FLOW AROUND A SQUARE CYLINDER

CFD SIMULATION OF SDHW STORAGE TANK WITH AND WITHOUT HEATER

The Heat Equation. Lectures INF2320 p. 1/88

Model Order Reduction for Linear Convective Thermal Flow

arxiv: v1 [quant-ph] 3 Mar 2016

Lagrangian representation of microphysics in numerical models. Formulation and application to cloud geo-engineering problem

Stability of Evaporating Polymer Films. For: Dr. Roger Bonnecaze Surface Phenomena (ChE 385M)

Second Order Linear Partial Differential Equations. Part I

EXIT TIME PROBLEMS AND ESCAPE FROM A POTENTIAL WELL

Numerical methods for American options

General Framework for an Iterative Solution of Ax b. Jacobi s Method

SOLUTION OF Partial Differential Equations. (PDEs)

Chapter 6: Solving Large Systems of Linear Equations

Heavy Parallelization of Alternating Direction Schemes in Multi-Factor Option Valuation Models. Cris Doloc, Ph.D.

THERMAL STRATIFICATION IN A HOT WATER TANK ESTABLISHED BY HEAT LOSS FROM THE TANK

Creating a Crust on Bread.

TWO-DIMENSIONAL FINITE ELEMENT ANALYSIS OF FORCED CONVECTION FLOW AND HEAT TRANSFER IN A LAMINAR CHANNEL FLOW

Trace Layer Import for Printed Circuit Boards Under Icepak

Abaqus/CFD Sample Problems. Abaqus 6.10

CONSERVATION LAWS. See Figures 2 and 1.

O.Jagoutz. We know from ~ borehole measurements that the Earth continuously emits ~ 44TW

Numerical Analysis Lecture Notes

Figure 1 - Unsteady-State Heat Conduction in a One-dimensional Slab

OPTION PRICING WITH PADÉ APPROXIMATIONS

Overview and Cloud Cover Parameterization

Data Mining: Algorithms and Applications Matrix Math Review

Introduction to Finite Difference Methods

5.4 The Heat Equation and Convection-Diffusion

1 The basic equations of fluid dynamics

AN EFFECT OF GRID QUALITY ON THE RESULTS OF NUMERICAL SIMULATIONS OF THE FLUID FLOW FIELD IN AN AGITATED VESSEL

Physics of the Atmosphere I

Interactive simulation of an ash cloud of the volcano Grímsvötn

Chapter 12 IVP Practice Problems

BINOMIAL OPTIONS PRICING MODEL. Mark Ioffe. Abstract

Exam 2 Practice Problems Part 1 Solutions

Matrix Multiplication

Convection in water (an almost-incompressible fluid)

Limitations of Equilibrium Or: What if τ LS τ adj?

ME6130 An introduction to CFD 1-1

CFD Based Air Flow and Contamination Modeling of Subway Stations

Fourth-Order Compact Schemes of a Heat Conduction Problem with Neumann Boundary Conditions

To give it a definition, an implicit function of x and y is simply any relationship that takes the form:

ALL GROUND-WATER HYDROLOGY WORK IS MODELING. A Model is a representation of a system.

Numerical Resolution Of The Schrödinger Equation

Code_Aster. HSNV129 - Test of compression-thermal expansion for study of the coupling thermal-cracking

Iterative Solvers for Linear Systems

3. Diffusion of an Instantaneous Point Source

CBE 6333, R. Levicky 1 Differential Balance Equations

7. DYNAMIC LIGHT SCATTERING 7.1 First order temporal autocorrelation function.

POISSON AND LAPLACE EQUATIONS. Charles R. O Neill. School of Mechanical and Aerospace Engineering. Oklahoma State University. Stillwater, OK 74078

Sheet Resistance = R (L/W) = R N L

Integration of a fin experiment into the undergraduate heat transfer laboratory

Lecture 3 Fluid Dynamics and Balance Equa6ons for Reac6ng Flows

Differential Balance Equations (DBE)

Numerical Methods for Differential Equations

Euler s Method and Functions

Nonlinear Algebraic Equations Example

Eco Pelmet Modelling and Assessment. CFD Based Study. Report Number R1D1. 13 January 2015

Black Scholes Option Valuation for Scientific Computing Students

4. Introduction to Heat & Mass Transfer

HEAT TRANSFER CODES FOR STUDENTS IN JAVA

Domain decomposition techniques for interfacial discontinuities

Mesh Moving Techniques for Fluid-Structure Interactions With Large Displacements

Introduction to COMSOL. The Navier-Stokes Equations

A Semi-Lagrangian Approach for Natural Gas Storage Valuation and Optimal Operation

Lecture 3: Finding integer solutions to systems of linear equations

Finite Difference Approach to Option Pricing

Mass flux fluctuation in a cloud resolving simulation with diurnal forcing

Supporting document to NORSOK Standard C-004, Edition 2, May 2013, Section 5.4 Hot air flow

Math Quizzes Winter 2009

Introductory FLUENT Training

6 Scalar, Stochastic, Discrete Dynamic Systems

Layers of the Earth s Interior

Metric Spaces. Chapter Metrics

LECTURE 2: Stress Conditions at a Fluid-fluid Interface

MEL 807 Computational Heat Transfer (2-0-4) Dr. Prabal Talukdar Assistant Professor Department of Mechanical Engineering IIT Delhi

Engaging Students Through Interactive Activities In General Education Classes

ABS TECHNICAL PAPERS 2008 A STERN SLAMMING ANALYSIS USING THREE-DIMENSIONAL CFD SIMULATION. Suqin Wang SWang@eagle.org

CAE -Finite Element Method

Introduction To Materials Science FOR ENGINEERS, Ch. 5. Diffusion. MSE 201 Callister Chapter 5

Introduction to CFD Analysis

Overset Grids Technology in STAR-CCM+: Methodology and Applications

Method of Green s Functions

Finite cloud method: a true meshless technique based on a xed reproducing kernel approximation

Transcription:

i+1,j -1 +1 H z i-1,j z x x L Figure 1: Finite difference discretization of the 2D heat problem. 1 Two-dimensional heat equation with FD We now revisit the transient heat equation, this time with sources/sinks, as an example for two-dimensional FD problem. In 2D {x, z} space), we can write t = ) k x + ) k z + Q 1) x x z z where, ρ is density, c p heat capacity, k x,z the thermal conductivities in x and z direction, and Q radiogenic heat production. If the thermal conductivity is isostropic k x = k z ) and constant, we can rewrite t = 2 ) κ T x 2 + 2 T z 2 + Q. 2) 1.1 Explicit method The simplest way to discretize eq. 2) on a domain, e.g. a box with width L and height H, is to employ an FTCS, explicit method like in 1-D t T n = κ T n +1 2T n + Tn 1 x) 2 + Tn i+1,j 2Tn + ) Tn i 1,j z) 2 + Qn, 3) See geodynamics.usc.edu/~becker/geodynamics557.pdf for complete document. 1

where x and z indicates the node spacing in both spatial directions, and there are now two indices for space, i and j for z i and x j, respectively Figure 1). Rearranging gives where = T n + s x ) ) T+1 n 2Tn + Tn 1 + s z Ti+1,j n 2Tn + Tn i 1,j + Qn t, 4) s x = κ t x) 2 and s z = κ t z) 2. 5) Boundary conditions can be set the usual way. A constant Dirichlet) temperature on the left-hand side of the domain at j = 1), for example, is given by T =1 = T le f t for all i. 6) A constant flux Neumann BC) on the same boundary at {i, j = 1} is set through fictitious boundary points x = c 1 7) T i,2 T i,0 = c 1 2 x T i,0 = T i,2 2 xc 1 which can then be plugged into eq. 4) so that for j = 1, for example, i,1 = T n i,1 + s x 2T n i,2 2T n i,1 + xc 1) ) + s z T n i+1,1 2Ti,1 n + ) Q n Tn i 1,1 + i,1 t 8) compare eq.??). The implementation of this approach is straightforward as T can be represented as a matrix with MATLAB, to be initialized, for example, for n z and n x rows and columns, respectively, as T = zerosnz, nx); 9) and then accessed as T) for T. The major disadvantage of fully explicit schemes is, of course, that they are only stable if 2κ t min x) 2, z) 2 ) 1. 10) See geodynamics.usc.edu/~becker/geodynamics557.pdf for complete document. 2

n z 29 30 31 32 33 34 35 22 23 24 25 26 27 28 15 16 17 18 19 20 21 z 8 9 10 11 12 13 14 1 2 3 4 5 6 7 n x x Figure 2: Numbering scheme for a 2D grid with n x = 7 and n z = 5. 1.2 Fully implicit method If we employ a fully implicit, unconditionally stable discretization scheme as for the 1D exercise, eq. 2) can be written as T n T n+1 +1 = κ 2Tn+1 + 1 t x) 2 + i+1,j 2Tn+1 + ) i 1,j z) 2 + Qn. 11) Rearranging terms with n + 1 on the left and terms with n on the right hand side gives s z i+1,j s x +1 + 1 + 2s z + 2s x ) s z i 1,j s x 1 = Tn + Qn t. 12) As in the 1D case, we have to write these equations in a matrix A and a vector b and use MATLAB x = A\b to solve for ). From a practical point of view, this is a bit more complicated than in the 1D case, since we have to deal with book-keeping issues, i.e. the mapping of T to the entries of a temperature vector Tk) as opposed to the more intuitive matrix T) we could use for the explicit scheme). If a 2D temperature field is to be solved for with an equivalent vector T, the nodes have to be numbered continuously, for example as in Figure 2. The derivative versus x-direction is then e.g. 2 T x 2 i=3,j=4 = 1 x) 2 T 19 2T 18 + T 17 ), 13) and the derivative versus z-direction is given by 2 T z 2 i=3,j=4 = 1 z) 2 T 25 2T 18 + T 11 ). 14) See geodynamics.usc.edu/~becker/geodynamics557.pdf for complete document. 3

If n x are the number of grid points in x-direction and n z the number of points in z- direction, we can write eqs. 13) and 14) in a more general way as: 2 T x 2 = 2 T z 2 = 1 ) x) 2 T i 1)nx +j+1 2T i 1)nx +j + T i 1)nx +j 1 1 z) 2 T i nx +j 2T i 1)nx +j + T i 2)nx +j 15) ). 16) In matrix format this gives something like cf. eq. 12) 1 0... 0 0 0 0 0 0 0 0... 0 0 0 1... 0 0 0 0 0 0 0 0... 0 0.. 0 0 s A = z... s x 1 + 2s x + 2s z ) s x... s z 0 0 0. 0 0 0 s z... s x 1 + 2s x + 2s z ) s x... s z 0 0.... 0 0... 0 0 0 0 0 0 0 0... 1 0 0 0... 0 0 0 0 0 0 0 0... 0 1 17) Note that we now have five diagonals filled with non-zero entries as opposed to three diagonals in the 1D case. The solution vector x is given by 1 = T 1,1 T2 n+1 = T 1,2. i 1)n x = x +j = T i 1)n x +j+1 = T, 18) +1. Tn n+1 x n z 1 = T n z,n x 1 Tn n+1 x n z = T nz,n x and the load right hand side) vector is given by Q = 0 for simplicity) T bottom T bottom. T b = n i 1)n x +j T n. 19) i 1)n x +j+1. T top T top See geodynamics.usc.edu/~becker/geodynamics557.pdf for complete document. 4

1.3 Other methods The fully implicit method discussed above works fine, but is only first order accurate in time sec.??). A simple modification is to employ a Crank-Nicolson time step discretization which is second order accurate in time. In practice, this often does not make a big difference, but Crank-Nicolson is often preferred and does not cost much in terms of additional programming. You may consider using it for diffusion-type equations. A different, and more serious, issue is the fact that the cost of solving x = A\b is a strong function of the size of A. This size deps on the number of grid points in x- n x ) and z-direction n z ). For a 2D problem with n x n z internal points, n x n z ) 2 n x n z ) 2 equations have to be solved at every time step. This quickly fills the computer memory especially if going to 3D cases). For the special case of the temperature equation, different techniques have therefore been developed. One such technique, is the alternating direction implicit ADI) method. It basically consists of solving the 2D equations half-explicit and half-implicit along 1D profiles what you do is the following: 1) discretize the heat equation implicitly in the x-direction and explicit in the z-direction. 2) solve it for time n + 1/2, and 3) repeat the same but with an implicit discretization in the z-direction). Compared to the other methods, ADI is fast. However, ADI-methods only work if the governing equations have time-derivatives, and unfortunately this is often not the case in geodynamics. In the exercises, we therefore focus on the fully implicit formulation. If, however, you have to write a thermal solver at some point, you may strongly consider to use the ADI method which is still very fast in 3D). See geodynamics.usc.edu/~becker/geodynamics557.pdf for complete document. 5

% Solves the 2D heat equation with an explicit finite difference scheme clear %Physical parameters L = 150e3; % Width of lithosphere [m] H = 100e3; % Height of lithosphere [m] Tbot = 1300; % Temperature of bottom lithosphere [C] Tsurf = 0; % Temperature of country rock [C] Tplume = 1500; % Temperature of plume [C] kappa = 1e-6; % Thermal diffusivity of rock [m2/s] Wplume = 25e3; % Width of plume [m] day = 3600*24; % # seconds per day year = 365.25*day; % # seconds per year % Numerical parameters nx = 101; % # gridpoints in x-direction nz = 51; % # gridpoints in z-direction nt = 500; % Number of timesteps to compute dx = L/nx-1); % Spacing of grid in x-direction dz = H/nz-1); % Spacing of grid in z-direction [x2d,z2d] = meshgrid-l/2:dx:l/2, -H:dz:0); % create grid % Compute stable timestep dt = min[dx,dz])^2/kappa/4; % Setup initial linear temperature profile T = absz2d./h)*tbot; % Imping plume beneath lithosphere ind = findabsx2d1,:)) <= Wplume/2); T1,ind) = Tplume; time = 0; for n=1:nt % Compute new temperature Tnew = zerosnz,nx); sx = kappa*dt/dx^2; sz = kappa*dt/dz^2; for j=2:nx-1 for i=2:nz-1 Tnew) =????; % Set boundary conditions Tnew1,:) = T1,: ); Tnewnz,:) =?; for i=2:nz-1 Tnewi,1) =? Tnewi,nx) =? T = Tnew; time = time+dt; % Plot solution every 50 timesteps if modn,50)==0) figure1), clf pcolorx2d/1e3,z2d/1e3,tnew); shading interp, colorbar hold on contourx2d/1e3,z2d/1e3,tnew,[100:100:1500], k ); xlabel x [km] ) ylabel z [km] ) zlabel Temperature [^oc] ) title[ Temperature evolution after,num2strtime/year/1e6), Myrs ]) drawnow Figure 3: MATLAB script heat2d_explicit.m to solve the 2D heat equation using the explicit approach. 1.4 Exercise: 2D heat equation with FD You are to program the diffusion equation in 2D both with an explicit and an implicit discretization scheme, as discussed above. The problem to be considered is that of the thermal structure of a lithosphere of 100 km thickness, with an initial linear thermal gradient of 13 K/km. Suddenly a plume with T = 1500 C impinges at the bottom of the lithosphere. What happen with the thermal structure of the lithosphere? A related structural geology) problem is that of the cooling of batholiths like the ones in the Sierra Nevada). See geodynamics.usc.edu/~becker/geodynamics557.pdf for complete document. 6

% Solves the 2D heat equation with an implicit finite difference scheme clear %Physical parameters L = 150e3; % Width of lithosphere [m] H = 100e3; % Height of lithosphere [m] Tbot = 1300; % Temperature of bottom lithosphere [C] Tsurf = 0; % Temperature of country rock [C] Tplume = 1500; % Temperature of plume [C] kappa = 1e-6; % Thermal diffusivity of rock [m2/s] Wplume = 25e3; % Width of plume [m] day = 3600*24; % # seconds per day year = 365.25*day; % # seconds per year dt = 100e6*year; % timestep % Numerical parameters nx = 51; % # gridpoints in x-direction nz = 51; % # gridpoints in z-direction nt = 100; % Number of timesteps to compute dx = L/nx-1); % Spacing of grid in x-direction dz = H/nz-1); % Spacing of grid in z-direction [x2d,z2d] = meshgrid-l/2:dx:l/2, -H:dz:0); % create grid % Setup initial linear temperature profile T = absz2d./h)*tbot; % Imping plume beneath lithosphere ind = findabsx2d1,:)) <= Wplume/2); T1,ind) = Tplume; % Setup numbering num = 1; for i=1:nz for j=1:nx Number) = num; num = num+1; % Construct the A matrix A = sparsenx*nz,nx*nz); sx = kappa*dt/dx^2; sz = kappa*dt/dz^2; for i = 2:nz-1 for j = 2:nx-1 ii = Number); A ii, Numberi+1,j )) =??; A ii, Numberi,j+1)) =??;?? % Set lower and upper BC for j = 1:nx?? % Set left and right BC for i = 1:nz?? time = 0; for n=1:nt % Compute rhs rhs = zerosnx*nz,1); for i = 1:nz for j = 1:nx ii = Number);?? % Compute solution vector Tnew_vector = A\rhs; % Create 2D matrix from vector Tnew = Tnew_vectorNumber); T = Tnew; time = time+dt; % Plot solution every 50 timesteps if modn,10)==0) figure1), clf pcolorx2d/1e3,z2d/1e3,tnew); shading interp, colorbar hold on contourx2d/1e3,z2d/1e3,tnew,[100:100:1500], k ); xlabel x [km] ) ylabel z [km] ) zlabel Temperature [^oc] ) title[ Temperature evolution after,num2strtime/year/1e6), Myrs ]) drawnow Figure 4: MATLAB script heat2d_explicit.m to solve the 2D heat equation using the implicit approach. See geodynamics.usc.edu/~becker/geodynamics557.pdf for complete document. 7

1. Fill in the question marks in the script heat2dexplicit.m Figure 3), by programming the explicit finite difference scheme. Employ zero flux boundary conditions x = 0 on the left and on the right-side of the domain outside the top and bottom edges), and constant temperature conditions on the top and bottom. Ignore the effects of radioactive heat. 2. Finish the code heat2dimplicit.m Figure 4), by programming the implicit finite difference approximation of the 2D temperature equation. 3. A simple time-depent) analytical solution for the temperature equation exists for the case that the initial temperature distribution is [ x Tx, z, t = 0) = 2 + z 2 ] ) T max exp where T max is the maximum amplitude of the temperature perturbation at x, z) = 0, 0) and σ its half-width. The solution is Tx, z, t) = σ 2 [ T max x 2 exp + z 2 ) 1 + 4tκ/σ 2 σ 2 + 4tκ 20) ]. 21) As for the 1D example, note that this uses a characteristic, time-depent lengthscale of l c κt, as expected for a diffusion problem cf. sec.??), and see Carslaw and Jaeger 1959) for more analytical solutions.) Program the analytical solution and compare it with the explicit and fully implicit numerical solutions with the same initial conditions at each time step. Comment on the accuracy of both methods for different values of dt. 4. Add the effects of radioactive heat to the explicit/implicit equations above. Use Turcotte and Schubert 2002) or Google to find typical values of Q, ρ, c p for rocks. 5. Bonus: Write a code for the thermal equation with variable thermal conductivity k. Assume that the grid spacing x is constant. This type of code is not only relevant for thermal problems, but also for problems like hydro-geological problems Darcy flow, e.g. how far did the chemical waste go into the aquifer?), fluid movements through the crust and through fault zones which is related to the creation of ore deposits), magma migration through the mantle, geochemistry and mineral reactions at grain-boundary scale, and, aftershocks and fluids. See geodynamics.usc.edu/~becker/geodynamics557.pdf for complete document. 8

Bibliography Carslaw, H. S., and J. C. Jaeger 1959), Conduction of Heat in Solids, 2nd ed., Oxford University Press, London, p. 243. Turcotte, D. L., and G. Schubert 2002), Geodynamics, 2 ed., Cambridge University Press, Cambridge. See geodynamics.usc.edu/~becker/geodynamics557.pdf for complete document. 9