[an error occurred while processing this directive]
Skip to the content of the web site.

Laboratories

The courses NE 113 Engineering Computation, NE 216 Advanced Calculus 1 for Nanotechnology Engineering, NE 217 Advanced Calculus 2 for Nanotechnology Engineering, and NE 336 Micro and Nanosystem Computer-aided Design form an integrated core sequence of courses where the student will reach the following outcomes-based objectives:

  • Use Matlab efficiently and effectively,
  • Understand the elementary tools of numerical analysis,
  • Approximate higher-order and systems of initial-value problems, to be able to apply this knowledge, and to understand the theoretical background,
  • Approximate solutions to partial differential equations with emphasis on Laplace's equation, the wave equation, and the heat-conduction/diffusion equation,
  • Understand the numerical techniques that are used in modeling real-world situations and to be able to apply software that approximates those solutions that uses the learned numerical techniques.

NE 113 Engineering Computation

The course NE 113 Engineering Computation covered numerical techniques for:

  • Taylor-series summations,
  • roots of equations,
  • roots of polynomials,
  • systems of linear and nonlinear algebraic equations, and
  • integration.

NE 216 Advanced Calculus 1 for Nanotechnology Engineering

The laboratories in the previous course, NE 216 Advanced Calculus 1 for Nanotechnology Engineering, focused on ordinary differential equations and initial-value problems. In each laboratory, the student wrote a fully-commented function in Matlab and used that code to find numerical approximations to given problems. The laboratories peaked with Laboratory 4 which saw the student implement the Dormand-Prince algorithm for approximating solutions to a first-order initial-value problem with a single ordinary differential equation. Dormand-Prince is the algorithm used today in the Matlab routine ode45. Laboratories 5 proceeded to have the student generalize the routine dp45 to allow it to solve systems of coupled first-order initial-value problems as well as understanding how to convert a higher-order initial-value problem into a system of first-order initial-value problems. Laboratory 6 had the student use dp45 to approximate both linear and non-linear boundary-value problems using the initial-problem solver with the shooting method.

The laboratories were:

  1. Introduction to numerical analysis and floating-point representations,
  2. Numeric differentiation and Richardson extrapolation,
  3. Euler and Heun's methods for solving 1st-order initial-value problems (IVPs),
  4. 4th-order Runge-Kutta and the Dormand-Prince methods proving better approximations to 1st-order IVPs,
  5. Generalizations of Dormand-Prince for solving systems of IVPs and converting higher-order IVPs into a system of 1st-order IVPs,
  6. Newton's method in n dimensions, and
  7. Approximating solutions to boundary-value problems using the shooting method.

There were two optional laboratories that students were welcome to read:

  • Exploring the accuracy of the dp45 function, and
  • Approximating solutions between the discrete approximations returned by solvers such as dp45.

NE 217 Advanced Calculus 2 for Nanotechnology Engineering

The laboratories in this course, NE 217 Advanced Calculus 2 for Nanotechnology Engineering, will focus on boundary-value problems. In this course, we will focus on finite-difference methods, both implicit and explicit—this will lay the framework for understanding the finite-element methods that are taught in NE 336. We will also see both Dirichlet and insulated boundary values (insulated boundary values are a special case of Neumann boundary conditions). The first four laboratories will focus on solving problems in one spatial dimension. In the first laboratory, you will see how to solve a boundary-value problem using finite differences. We will the proceed to elementary explicit methods for finding approximations to problems involving the heat-conduction/diffusion equation. Laboratory 3 looks at implicit means for approximating the same equations. Laboratory 4 proceeds to consider the wave equation, again, only in one dimension (a vibrating string). Laboratory 5 looks at finding solutions to Laplace's equation in two and three dimensions and Laboratory 6 uses the explicit techniques for approximating both the heat-conduction/diffusion and wave equation in two and three spatial dimensions.

The laboratories are:

  1. Approximating solutions to boundary-value problems using finite differences,
  2. Numerical approximations of the heat-conduction/diffusion equation,
  3. The Crank-Nicholson method and insulated boundaries,
  4. Numerical approximations to the wave equation,
  5. Laplace's equation in two and three dimensions, and
  6. The heat-conduction/diffusion and wave equations in two and three dimensions.

There are three optional laboratories that will help prepare students for the next course, NE 336:

  • Finite elements in one dimension,
  • Finite elements in two dimension, and
  • The method of lines.

NE 336 Micro and Nanosystem Computer-aided Design

The last course in this sequence is NE 336 Micro and Nanosystem Computer-aided Design. This course will focus on understanding the numerical techniques used in and using software to modeling and approximating solutions to real-world problems using the finite-element method.

This course will cover:

  1. Numerical linear algebra: approximating solutions to systems of linear equations using iterative methods,
  2. Stiff IVP solvers: in some cases, implicit techniques such as those seen in NE 216 do not work. For these we require implicit methods such as backward Euler,
  3. Boundary-value problems: combining the finite-difference techniques taught in NE 217 with the IVP solvers taught in NE 216, and
  4. Finite-element solvers: finding a solution to partial-differential equations using finite elements methods.

In the second half of this course, you will start to use software that models systems and finds approximations to solutions of these systems.


Information For NE 216

Each topic is broken into six pairs of two one-hour laboratories: The first week will be a one-hour lecture on the numerical methods involved and the following week will involve a Matlab-based laboratory on the subject material.

Students may work in pairs.

Coding Style and Comments

Correct coding style and comments are provided in the MATLAB Programming Style Guidelines by Richard Johnson.