Computational Physics 330

Nonlinear Dynamics and Differential Equations

 


 

Bret Hess                                                        

N251 ESC                   

Provo, UT 84602

801-422-2108

bret_hess@byu.edu

Office hours: by appointment

 

Texts

There are three texts for this course.

1) Introduction to Maple for Physics Students.  This Maple textbook (worksheet) is available on the Physics 230 and 330 course web pages. We will be going back to pick up Chapter 7 on differential equations, which was skipped in Physics 230. If you use Maple 9, be sure to use the Classic Worksheet version with this worksheet; the standard form of Maple 9 is painful to use with the worksheet for various reasons.

Or

Differential Equations in Mathematica, available on this website.

 

2) Introduction to Matlab available in the BYU Bookstore packet. As you work through this booklet you will learn the basics of Matlab, a powerful programming language similar to C and Basic, but with easy-to-use graphics and many useful commands doing things like minimization, taking Fourier transforms, and solving differential equations. There will be assignments to work through sections of this text for the first 9 weeks. After this you will use Matlab's differential equation solvers to study various aspects of nonlinear dynamics. 

 

3) Computational Physics 330, the lab manual for the course, also in the BYU Bookstore packet. This text contains the assignments for each laboratory period.

 

Finally, you might consider buying the student editions of Mathematica and Matlab while they are still cheap because you have a student ID. These two pieces of software become much more expensive when you graduate.

 

Course Objectives

This is a course on nonlinear dynamics, differential equations, and programming in Mathematica (Maple) and Matlab. I expect you to learn how to use computational methods in both languages to demonstrate the basic ideas of nonlinear dynamics. This means that as you do the programming exercises in each laboratory you need to pay attention to the physical effects that your programs display. A list of these effects is a big part of the index at the back of the lab manual and part of the exams will be short response questions about these ideas. The exams will also have some short programming exercises where you will have a chance to show that you have mastered the basic of computing in Matlab.

 

As part of each lab period you will review some aspect of dynamics (Physics 321). At first we will round up the usual suspects: moving baseballs and the simple harmonic oscillator. But starting in Lab 7 and continuing through the end of the course you will be applying the programming techniques you have learned to study nonlinear dynamics, making the course an extension of Physics 321. It is very important to read and understand the material on nonlinear dynamics instead of just treating the course as a series of programming exercises.

 

Laboratory work

The reason that this course is taught as a lab instead of as a lecture/homework course is that it can take hours to find and fix simple programming mistakes without the help of someone with experience. Furthermore, the lab setting provides an active learning environment where problems are encountered, discussed by lab partners, TAs, and the instructor, and then solved. Occasionally mini-lectures at the board in the classroom will be given to explain difficult concepts or to teach good programming practice.

 

Come to class

If you don't, you will almost certainly do poorly in the class. Grades of UW and E are the usual result of not showing up.  All work assigned previous to and on the Checkpoint lab day must be passed off by the end of the Checkpoint lab, or arranged that day with the TA.

 

Grading

Your grade in the course will be determined by labs, exams, and quizzes.

 

(1) Your performance on the laboratory exercises, and attendance. You will be graded mostly on how many you complete.  Since you usually work with a partner, and get help from TAs, it’s important that you come on time. 

(2) There will be two take-home exams given during the semester. These will consist of problems to be solved using the computational methods you have learned up to that point in the course.

(3) Rather than a final, there will be quizzes at the beginning of each lab period.  You will find the concepts to be tested on the website.  The quizzes in total will have approximately the same weight as one exam.

 

Most of the grades in the course will be A, A-, and B+.  An A means that you completed all of the laboratory exercises, attended on time and consistently, and have shown that you have mastered the material. An A- means either that you got behind or missed a lab or were late often, or that your performance on the exams and quizzes has shown that you haven't quite understood the dynamics concepts taught or are somewhat weak at programming. Grades lower than A or A- will be given for performance below the standards for these two grades, and may be in the range of B to D.

 

The approximate weightings are:

Labs 55%

Exams 30%

Quizzes 15%