Course Meeting Times
Lectures: 3 sessions / week, 1 hour / session
A list of topics by lecture is available in the calendar listed below.
Purpose
- To ensure you are aware of the wide range of easily accessible numerical methods that will be useful in your thesis research, at practice school, and in your career.
- To make you confident to look up additional methods when you need them.
- To help you become familiar with MATLAB® and other convenient numerical software, and with simple programming/debugging techniques.
- To give you some understanding of how the algorithms work and to help you understand why numerical algorithms sometimes give unexpected results.
Topics
This course focuses on the use of modern computational and mathematical techniques in chemical engineering. Starting from a discussion of linear systems as the basic computational unit in scientific computing, methods for solving sets of nonlinear algebraic equations, ordinary differential equations, and differential-algebraic (DAE) systems are presented. Probability theory and its use in physical modeling is covered, as is the statistical analysis of data and parameter estimation. The finite difference and finite element techniques are presented for converting the partial differential equations obtained from transport phenomena to DAE systems. The use of these techniques will be demonstrated throughout the course in the MATLAB® computing environment.
Prerequisite
Solid undergraduate preparation including but not limited to Calculus (18.01, 18.02), Differential Equations (18.03), Linear Algebra (18.06), Thermodynamics (5.60, 10.213), Fluid Mechanics (10.301), Chemical Kinetics and Reactor Design (10.37).
Texts
Required Text
Beers, Kenneth J. Numerical Methods for Chemical Engineering: Applications in MATLAB®. New York, NY: Cambridge University Press, November 2006. ISBN: 9780521859714.
Recommended Texts
Other easier-to-read but less comprehensive texts that are helpful:
For short, clear synopses of methods for many types of problems:
Press, William H. Numerical Recipes in C: The Art of Scientific Computing. New York, NY: Cambridge University Press, 1988. ISBN: 9780521354653.
Comes in various editions.
For simple methods and a good introduction to using MATLAB®:
Recktenwald, Gerald W. Introduction to Numerical Methods with MATLAB®: Implementations and Applications. Upper Saddle River, NJ: Prentice-Hall, 2000. ISBN: 9780201308600.
For a more concise coverage of many topics discussed in Beers's text:
Heath, Michael T. Scientific Computing: An Introductory Survey. 2nd ed. New York, NY: McGraw-Hill Companies, Inc., 2002. ISBN: 9780072399103.
Homework Guidelines
You will submit your solution electronically. The due date is 9am on Wednesday, although submissions after that time will be marked as late and (at least for this first homework) accepted on the same day. If you have difficulty working with the computer systems, please consult the TAs.
Write a Microsoft® Word® document with the title username_HW1.doc, where username is your MIT e-mail name (for example, for sample_email_address_ihtfp@mit.edu, it would be sample_email_address_ihtfp_HW1.doc). In this document, describe how you solved each problem, and include as figures any graphs that you wish to present. Like any piece of technical writing, you must find a balance between being concise and providing sufficient detail that an educated reader can follow your reasoning and methods. The Microsoft® equation editor is available for typing any equations.
If in a particular problem you are asked to write a MATLAB® program, gather all necessary code into a single .m file and submit it electronically as well (we may wish to run it). Use the file name username_HW1_PX.m for the program for problem X. In your Microsoft® Word® document, clearly note the name of any program that you submit, and describe how it may be used to perform the calculation for the problem; for example, describe what you should provide as input, how the results are stored, etc.
Do all analysis and data visualization within your MATLAB® program - do not export your results to another program such as Microsoft® Excel® for plotting. It is not necessary and makes it difficult for us to reproduce (and assess) your results.
You are free to discuss and consult with your colleagues, but everyone must submit his or her own programs and solution. You may not simply copy the program of another, or jointly write the same program. This would defeat the purpose of the class, which is to provide you with personal experience in scientific computing.
Grading
ACTIVITIES | PERCENTAGES |
---|---|
Homework (best 10 out of 11 assignments) | 30% |
Two quizzes | 30% |
Final exam | 40% |
Calendar
The calendar below provides information on the course's lecture (L) and quiz (Q) sessions.
SES # | TOPICS | KEY DATES |
---|---|---|
L1 | Using MATLAB® to evaluate and plot expressions | |
L2 | Solving systems of linear equations | |
L3 |
Matrix factorization Modularization |
|
L4 | When algorithms run into problems: Numerical error, ill-conditioning, and tolerances | Problem set 1 due: MATLAB® |
L5 | Introduction to systems of nonlinear equations | |
L6 | Modern methods for solving nonlinear equations | |
L7 | Introduction to eigenvalues and eigenvectors | Problem set 2 due: Systems of equations |
L8 | Constructing and using the eigenvector basis | |
L9 | Function space vs. real space methods for partial differential equations (PDEs) | Problem set 3 due: Eigenvalues, linear algebra |
L10 | Function space | |
L11 |
Numerical calculation of eigenvalues and eigenvectors Singular value decomposition (SVD) |
Problem set 4 due: Eigenvectors |
Q1 | Quiz 1 | |
L12 | Ordinary differential equation - initial value problems (ODE-IVP) and numerical integration | |
L13 |
Stiffness MATLAB® ordinary differential equation (ODE) solvers |
Problem set 5 due: SVD, integrals |
L14 |
Implicit ordinary differential equation (ODE) solvers Shooting |
|
L15 |
Differential algebraic equations (DAEs) Introduction: Optimization |
|
L16 | Unconstrained optimization | Problem set 6 due: ODE, DAE |
L17 | Constrained optimization | |
L18 |
Optimization Sensitivity analysis Introduction: Boundary value problems (BVPs) |
|
L19 | Boundary value problems (BVPs) lecture 2 | Problem set 7 due: Optimization intro BVPs |
L20 | Boundary value problems (BVPs) lecture 3: Finite differences, method of lines, and finite elements | |
L21 | TA tutorial on BVPs, FEMLAB® | |
L22 | Introduction: Models vs. Data | Problem set 8 due: BVPs |
L23 | Models vs. Data lecture 2: Bayesian view | |
L24 | Uncertainties in model predictions | |
L25 | Conclude models vs. data | Problem set 9 due: Models vs. Data |
L26 | TA led review | |
Q2 | Quiz 2 | |
L27 |
Models vs. Data recapitulation Monte Carlo and molecular dynamics |
|
L28 | Guest lecture on Monte Carlo / molecular dynamics: Frederick Bernardin | |
L29 |
Global optimization Multiple minima |
|
L30 |
Modeling intrinsically stochastic processes Multiscale modeling |
|
L31 | Fluctuation-dissipation theorem | Problem set 10 due: Monte Carlo |
L32 | Kinetic Monte Carlo and turbulence modeling | |
L33 |
Operator splitting Strang splitting |
|
L34 |
Fourier transforms Fast fourier transform (FFT) |
Problem set 11 due: Stochastic processes |
L35 | Summary: Problem solving | |
L36 | TA led final review |