An Introduction to Computer Simulation Methods Third Edition (revised)

written by
Harvey Gould,
Jan Tobochnik, and
Wolfgang Christian

The complete draft of the Third Edition (revised) of An Introduction to Computer Simulation Methods (CSM) Third Edition. The third edition of CSM is Java-based and uses the object-oriented Open Source Physics code library. Examples described in this book are distributed in a ready-to-run Launcher package. Source code is available in an Eclipse workspace under the GNU GPL open source license.

Book Title:
An Introduction to Computer Simulation Methods Third Edition

CSM Preface and Table of Contents
Frontmatter for an Introduction to Computer Simulation Methods. download 90kb .pdf
Last Modified: September 15, 2016

CSM Ch 1: Introduction (Draft)
The importance of computers in physics and the nature of computer simulation is discussed. The nature of object-oriented programming and various computer languages also is considered. download 89kb .pdf
Last Modified: February 11, 2011

CSM Ch 2: Tools for Doing Simulations (Draft)
We introduce some of the core syntax of Java in the context of simulating the motion of falling particles near the Earth's surface. A simple algorithm for solving first-order differential equations numerically also is discussed. download 222kb .pdf
Last Modified: February 11, 2011

CSM Ch 3: Simulating Particle Motion (Draft)
We discuss several numerical methods needed to simulate the motion of particles using Newton's laws and introduce interfaces, an important Java construct that makes it possible for unrelated objects to declare that they perform the same methods. download 2664kb .pdf
Last Modified: February 11, 2011

CSM Ch 4: Simple Harmonic Motion (Draft)
We explore the behavior of oscillatory systems, including the simple harmonic oscillator, a simple pendulum, electrical circuits, and introduce the concept of phase space. download 158kb .pdf
Last Modified: February 11, 2011

CSM Ch 5: Planetary Motion (Draft)
We apply Newton's laws of motion to planetary motion and other systems of a few particles and explore some of the counter-intuitive consequences of Newton's laws. download 282kb .pdf
Last Modified: February 11, 2011

CSM Ch 6: The Chaotic Motion of Dynamical Systems (Draft)
We study simple nonlinear deterministic models that exhibit chaotic behavior. We will find that the use of the computer to do numerical experiments will help us gain insight into the nature of chaos. download 1585kb .pdf
Last Modified: February 11, 2011

CSM Ch 7: Random Processes (Draft)
Random processes are introduced in the context of several simple physical systems, including random walks on a lattice, polymers, and diffusion controlled chemical reactions. The generation of random number sequences also is discussed. download 770kb .pdf
Last Modified: February 11, 2011

CSM Ch 8: The Dynamics of Many Particle Systems (Draft)
We simulate the dynamical behavior of many particle systems such as dense gases, liquids, and solids and observe their qualitative features. Some of the basic ideas of equilibrium statistical mechanics and kinetic theory are introduced. download 327kb .pdf
Last Modified: February 11, 2011

CSM Ch 9: Coupled Oscillators and Normal Modes (Draft)
We discuss the physics of wave phenomena and the motivation and use of Fourier transforms. download 553kb .pdf
Last Modified: February 11, 2011

CSM Ch 10: Electrodynamics (Draft)
We compute the electric fields due to static and moving charges, describe methods for computing the electric potential in boundary value problems, and solve Maxwell's equations numerically. download 272kb .pdf
Last Modified: February 11, 2011

CSM Ch 11: Numerical and Monte Carlo Methods (Draft)
Simple classical and Monte Carlo methods including importance sampling are illustrated in the context of the numerical evaluation of definite integrals. download 243kb .pdf
Last Modified: February 11, 2011

CSM Ch 12: Percolation (Draft) We introduce several geometrical concepts associated with percolation, including the percolation threshold, clusters, and cluster finding algorithms. We also introduce the ideas of critical phenomena in the context of the percolation transition, including critical …
We introduce several geometrical concepts associated with percolation, including the percolation threshold, clusters, and cluster finding algorithms. We also introduce the ideas of critical phenomena in the context of the percolation transition, including critical exponents, scaling relations, and the renormalization group.

CSM Ch 13: Fractals and Kinetic Growth Models (Draft)
We introduce the concept of fractal dimension and discuss several processes that generate fractal objects. download 959kb .pdf
Last Modified: February 11, 2011

CSM Ch 14: Complex Systems (Draft)
We introduce cellular automata, neural networks, genetic algorithms, and growing networks to explore the concepts of self-organization and complexity. Applications to sandpiles, fluids, earthquakes, and other areas are discussed. download 348kb .pdf
Last Modified: February 11, 2011

CSM Ch 15: Monte Carlo Simulations of Thermal Systems (Draft)
We discuss how to simulate thermal systems using a variety of Monte Carlo methods including the traditional Metropolis algorithm. Applications to the Ising model and various particle systems are discussed and more efficient Monte Carlo algorithms are introduced. download 493kb .pdf
Last Modified: February 11, 2011

CSM Ch 16: Quantum Systems (Draft)
We discuss numerical solutions of the time-independent and time-dependent Schroedinger equation and describe several Monte Carlo methods for estimating the ground state of quantum systems. download 311kb .pdf
Last Modified: February 11, 2011

CSM Ch 17: Visualization and Rigid Body Dynamics (Draft)
We study affine transformations in order to visualize objects in three dimensions. We then solve Euler's equation of motion for rigid body dynamics using the quaternion representation of rotations. download 475kb .pdf
Last Modified: February 11, 2011

CSM Ch 18: Seeing in Special and General Relativity (Draft)
We compute how objects appear at relativistic speeds and in the vicinity of a large spherically symmetric mass. download 180kb .pdf
Last Modified: February 11, 2011

CSM Epilogue: The Unity of Physics (Draft)
We emphasize that the methods we have discussed can be applied to a wide variety of natural phenomena and contexts. download 325kb .pdf
Last Modified: February 11, 2011

CSM Updates and Corrections
Updates and errata to An Introduction to Computer Simulation Methods Third Edition. download 68kb .pdf
Last Modified: November 24, 2013
previous versions

CSM Review
Computing in Science and Engineering book review of An Introduction to Computer Simulation Methods. download 339kb .pdf
Last Modified: February 11, 2011

Runge-Kutta algorithm, chaotic motion, clusters, computer modeling, differential equations, electrodynamics, few body motion, fractals, many particle sytems, normal modes, numerical integration, numerical methods, oscillations, particle motion, percolation, quantum systems, random processes, relativity, rigid body motion

Record Creator:

Metadata instance created
June 4, 2008
by Wolfgang Christian

Record Updated:

September 15, 2016
by Wolfgang Christian

Any Python version of the book

Author: Ozhan Fenerci
Posted: August 30, 2017 at 6:37AM

Computer Simulation Methods was my favorite book throughout my education. Currently I am teaching Python and I find Java a little bit terse for introductory courses. ? hope that the next version of the book could be delivered with Python.

Author: Konstantinos Anagnostopoulos
Posted: October 3, 2016 at 4:58AM

I think it is the most complete and pedagogical introduction to Computational Physics. Excellent book, inspired topics and examples and very good exercises. An inspiration for me for writing my own book on Computational Physics and (re)designing my computational physics classes. The code presented is very good and easy to build on it new applications. I would also like to congratulate the authors for providing the source code under GNU GPL open source license from the beginning and opening access to the text at a later time.

<a href="https://www.compadre.org/OSP/items/detail.cfm?ID=7375">Gould, H, J. Tobochnik, and W. Christian. An Introduction to Computer Simulation Methods Third Edition (revised). 2007.</a>

H. Gould, J. Tobochnik, and W. Christian, An Introduction to Computer Simulation Methods Third Edition (revised), (2007), <https://www.compadre.org/Repository/document/ServeFile.cfm?ID=7375&DocID=527>.

Gould, H., Tobochnik, J., & Christian, W. (2007). An Introduction to Computer Simulation Methods Third Edition (revised). Retrieved October 21, 2017, from https://www.compadre.org/Repository/document/ServeFile.cfm?ID=7375&DocID=527

Gould, H, J. Tobochnik, and W. Christian. An Introduction to Computer Simulation Methods Third Edition (revised). 2007. https://www.compadre.org/Repository/document/ServeFile.cfm?ID=7375&DocID=527 (accessed 21 October 2017).

Gould, Harvey, Jan Tobochnik, and Wolfgang Christian. An Introduction to Computer Simulation Methods Third Edition (revised). 2007. 21 Oct. 2017 <https://www.compadre.org/Repository/document/ServeFile.cfm?ID=7375&DocID=527>.

@book{
Author = "Harvey Gould and Jan Tobochnik and Wolfgang Christian",
Title = {An Introduction to Computer Simulation Methods Third Edition (revised)},
Year = {2007}
}

%A Harvey Gould %A Jan Tobochnik %A Wolfgang Christian %T An Introduction to Computer Simulation Methods Third Edition (revised) %D 2007 %U https://www.compadre.org/Repository/document/ServeFile.cfm?ID=7375&DocID=527 %O An Introduction to Computer Simulation Methods Third Edition %O application/pdf

%0 Book %A Gould, Harvey %A Tobochnik, Jan %A Christian, Wolfgang %D 2007 %T An Introduction to Computer Simulation Methods Third Edition (revised) %U https://www.compadre.org/Repository/document/ServeFile.cfm?ID=7375&DocID=527

Disclaimer: ComPADRE offers citation styles as a guide only. We cannot offer interpretations about citations as this is an automated procedure. Please refer to the style manuals in the Citation Source Information area for clarifications.