Winter, 2012

Welcome to the Physics 780.20 Computational Physics home page!

URL: http://www.physics.ohio-state.edu/~ntg/780/compphys.php

The course information is available here plus lots of supplementary
info. Please check this page regularly.

- 08-Mar-2012 --- Office hours as usual on Friday starting at 9:30am.
- 04-Mar-2012 --- Session 14 notes are available below under 1094 Sessions.
- 04-Mar-2012 --- Projects are due at the end of Friday of finals week (unless you are a graduating senior, in which case I need everything by noon on Thursday). You should turn in codes, makefiles, plots, etc. (just like for the problem sets), with an explanation of how it all fits together included in a separate file or in comments.
- 07-Feb-2012 --- A
partial project list from
past years is available.
A list of computational astrophysics projects can be found from the
PiTP 2009 Summer School wiki. The eTextBook
*A Survey of Computational Physics*by Landau, Paez, and Bordeianu is a good source of projects (e.g., any of the Explorations). - 29-Dec-2011 --- For your reference: The online GSL reference manual.

- Course description and info, and gameplan [For your info: last year's course pages.]
- Assignments
- 1094 Sessions
- General handouts and computer codes
- Resources
- References -- Programming references, other texts, and useful web sites

Copies of any handouts are available from Prof. Furnstahl or online below. After the first class, please read the session notes before that session meets.

Date of Session | Guide | Notes | Packed Files | Handouts |
---|---|---|---|---|

01/04/12 | Session 1 | notes [pdf] | session01.zip | Printouts of "area" code [pdf] [ps]; Unix commands [pdf]; C++ options [pdf] [ps]; GSL intro [pdf]; Other Session 1 code printouts [pdf] [ps] |

01/09/12 | Session 2 | notes [pdf] | session02.zip | Gnuplot basics [pdf]; Gnuplot tutorial; first Mercurial tutorial [pdf] |

01/13/12 | Session 3 | notes [pdf] | session03.zip | Fitting with Gnuplot [pdf] [ps]; Formatting with C++ Manipulators (UIC notes) [pdf]; integ_test.cpp and integ_routines.cpp [pdf] [ps] printouts; derivative_test_simple.cpp [pdf] [ps] printout; |

01/23/12 | Session 4 | notes [pdf] | session04.zip | Gnuplot plot files [pdf] [ps]; Integrals with Singularities [pdf] [ps]; |

01/25/12 | Session 5 | notes [pdf] | session05.zip | Random round-off? [pdf]; nan_test.cpp [pdf] [ps], eigen_tridiagonal.cpp [pdf] [ps], eigen_basis.cpp [pdf] [ps], and harmonic_oscillator.cpp [pdf] [ps] printouts |

01/30/12 | Session 6 | notes [pdf] | session06.zip | simpson_cosint_openmp.cpp printout [pdf] [ps], diffeq_routines.cpp [pdf] [ps], diffeq_test.cpp [pdf] [ps], and new eigen_tridiagonal_class.cpp (with class definition) [pdf] [ps] printouts |

02/05/12 | Session 7 | notes [pdf] | session07.zip | diffeq_oscillations.cpp [pdf] [ps]; eigen_basis_class.cpp (first pass) [pdf] [ps] |

02/13/12 | Session 8 | notes [pdf] |
session08.zip
session08_linux.zip |
Plots of damped oscillations [pdf] [ps]; filename_test.cpp printout [ps]; GnuplotPipe class printout [ps]; diffeq_pendulum.cpp printout [ps]; nonlinear Mathematica notebook; |

02/15/12 | Session 9 | notes [pdf] | session09.zip | Circle class and test printout [pdf]; [ps]; private_vs_public printout [pdf] [ps]; GDB debugger quick reference [pdf] [ps]; "Using the GDB debugger" [pdf] [ps] |

02/20/12 | Session 10 | notes [pdf] | session10.zip | GslSpline printout [pdf] [ps]; ode_test.cpp printout [pdf] [ps]; GSL interpolation [pdf] [ps]; Pendulum Power Spectra [pdf] [ps]; |

02/22/12 | Session 11 | notes [pdf] | session11.zip | ode_test_class.cpp and classes printout [pdf] [ps]; multifit_test.cpp printout [pdf] [ps]; multimin_test.cpp printout [pdf] [ps]; |

02/27/12 | Session 12 | notes [pdf] | session12.zip | man pages for random, urandom [pdf] [ps]; gaussian_random.cpp printout [pdf] [ps]; random_walk.cpp printout [pdf] [ps]; RandomWalk_test.cpp printout [pdf] [ps]; input_check.cpp printout [pdf] [ps]; factorial_debug.cpp printout [pdf]; [ps]; |

02/29/12 | Session 13 | notes [pdf] | session13.zip | sampling_test.cpp printout [pdf] [ps]; ising_model.cpp printout [pdf] [ps]; ising_opt.cpp printout [pdf] [ps]; |

03/07/12 | Session 14 | notes [pdf] | session14.zip | autocorrelation_test.cpp printout [pdf] [ps]; variational_SHO.cpp printout [pdf] [ps]; |

Return to Contents

A complete copy of M. Hjorth-Jensen's 2011 notes on "Computational Physics" is available as a PDF file.

Class Period | Reading | Topic |
---|---|---|

01/04/12 | M. Hjorth-Jensen, Preface (pdf) and Table of Contents (pdf) | Preface and Table of Contents |

01/04/12 | M. Hjorth-Jensen, Ch. 1 (pdf) | Overview of Computational Physics and what is covered. |

01/04/12 | M. Hjorth-Jensen, Ch. 2 (pdf) | C++ and Representation of Numbers. |

01/12/12 | M. Hjorth-Jensen, Ch. 3 (pdf) | Numerical Differentiation (read sections 3.1 and 3.2). |

01/12/12 | M. Hjorth-Jensen, Ch. 5 (pdf) | Numerical Integration. |

01/23/12 | M. Hjorth-Jensen, Ch. 6 (pdf) and Ch. 7 (pdf) | Linear Algebra and Eigensystems. |

01/26/12 | M. Hjorth-Jensen, Ch. 8 (pdf) | Differential Equations. |

02/10/12 | M. Hjorth-Jensen, Ch. 3.2 (pdf) | Numerical Interpolation, Extrapolation and Fitting of Data. |

02/27/12 | M. Hjorth-Jensen, Ch. 11 (pdf) | Outline of the Monte-Carlo Strategy |

02/27/12 | M. Hjorth-Jensen, Ch. 12 (pdf) | Random walks and the Metropolis Algorithm |

02/29/12 | M. Hjorth-Jensen, Ch. 13 (pdf) | Monte Carlo Methods in Statistical Physics |

03/05/12 | M. Hjorth-Jensen, Ch. 14 (pdf) | Quantum Monte-Carlo Methods |

Return to Contents

Click on the problem set number to get a copy of the assignment. Follow the instructions on submitting assignments with Mercurial (see also the introduction to Mercurial tutorial from Session 2).

Due Date | Assignment | Comments |
---|---|---|

01/20/12 | #1 [pdf] | hints, suggestions, etc. |

02/03/12 | #2 [pdf] | hints, suggestions, etc. |

02/17/12 | #3 [pdf] | hints, suggestions, etc. |

Return to Contents

You (mostly) have your choice of postscript (ps) or PDF format.

Last Updated | Handout | Comments |
---|---|---|

30-Dec-2011 | C++ Options (ps) (pdf) | "Recommended C++ Options" -- options for g++ (GNU compiler) and icpc (Intel compiler) based on the recommendations in the GSL Reference manual. |

27-Dec-2010 | GSL Introduction (pdf) | GNU Scientific Library description from the online reference manual. |

30-Dec-2011 | Unix Commands (pdf) | "Some Useful Unix Commands" based on various web summaries |

11-Jan-2012 | Instructions on submitting assignments with Mercuial (pdf) | Basic instructions on how to set up a Bitbucket account and how to push your local repository to it. |

09-Jan-2012 | Introduction to Mercurial tutorial (pdf) | Using Mercurial to start, add to, and manipulate a local repository. |

01-Jan-2009 | Gnuplot basics (pdf) | "Plotting Data from a File with Gnuplot" |

28-Mar-2008 | Gnuplot fitting (ps) (pdf) | "Finding the Slope of XY Data from a File with Gnuplot" |

12-Jan-2010 | Gnuplot plot files (ps) (pdf) | "Using a Plot File with Gnuplot" |

12-Jan-2012 | Using X-Win32 (pdf) | Instructions for using X-Win32 on the Physics Department computers. |

01-Apr-2008 | Tricky Integrals (ps) (pdf) | "Integrals with Singularities or Discontinuous Derivatives" |

16-Nov-2003 | Bash Prompt HOWTO (pdf) | Creating and controlling terminal and xterm Bash prompts, compiled by Giles Orr. |

01-Jan-2004 | C++ Manipulators (pdf) | "Formatting with Manipulators" -- brief guide found on the web. |

12-Nov-2002 | Input in C (ps) (pdf) | "Interactive Input in C" |

09-Jan-2011 | Round-off Errors (pdf) | A simple empirical investigation of the distribution of round-off errors. |

07-Mar-2008 | GDB Debugger (ps) (pdf) | "Using the GDB Debugger" -- A tutorial by example. |

10-Mar-2011 | Gnuplot 3d plots (pdf) | "Three-Dimensional Plots with Gnuplot" |

06-Feb-2006 | GSL Interpolation (ps) (pdf) | "Using GSL Interpolation Functions" |

Return to Contents

- Recommended gcc and g++ (and icpc, the Intel compiler) options (from the GSL Reference Manual).
- C and C++ programs from the Landau/Paez text
- Example programs that use the Gnu Scientific Library (GSL). Check out the online reference manual.
- Template makefile "make_program" and the template applied to "area.c" (called "make_area")

Return to Contents

A wide range of Mathematica example notebooks used in the graduate Math Methods course are available. Take a look!

If the notebook doesn't open automatically in Mathematica when you click on the link, "right click" to save it first (to the Desktop or a session folder) and start it from within Mathematica.

Last Revised | Notebook | Comments |
---|---|---|

23-Sep-2011 | Calculate area | A simple Mathematica notebook defining a function to calculate the area of a circle, including forcing numerical output and multiple definitions of a function with different numbers of arguments. Also, making it into a program. |

23-Sep-2011 | Defining n! | Mathematica notebook with many ways to define n!. |

23-Sep-2011 | Rolling dice | Mathematica notebook that simulates the rolling of dice, where the outcome is a random integer from 1 to 6. Histograms are generated for different numbers of "trials" (i.e., throws of the dice), providing visualization of how the fluctuations scale with the number of trials. |

25-Sep-2011 | 3D Square Well | Mathematica notebook to find the eigenvalues of a spherical three-dimensional square well by matching solutions. |

12-Feb-2009 | Nonlinear Differential Equations | Mathematica notebook analyzing the Duffing equation. |

12-Feb-2009 | Nonlinear Differential Equations: Pendulum | Mathematica notebook analyzing the physical pendulum. |

04/18/02 | Fourier Transform Pictures | Mathematica notebook showing in pictures how to project Fourier coefficients. |

04/18/02 | Square Wave | Mathematica notebook showing a square wave being built from sine waves. |

Return to Contents

Your comments and suggestions are appreciated.

[OSU Physics] [Math and Physical Sciences] [Ohio State University]

Last modified: 08:01 am, March 08, 2012.

furnstahl.1@osu.edu