This book is an introduction to the computational methods used in physics and other related scientific fields. It is addressed to an audience that has already been exposed to the introductory level of college physics, usually taught during the first two years of an undergraduate program in science and engineering. It assumes no prior knowledge of numerical analysis, programming or computers and teaches whatever is necessary for the solution of the problems addressed in the text. C++ is used for programming the core programs and data analysis is performed using the powerful tools of the GNU/Linux environment. All the necessary software is open source and freely available.
The book starts with very simple problems in particle motion and ends with an in-depth discussion of advanced techniques used in Monte Carlo simulations in statistical mechanics. The level of instruction rises slowly, while discussing problems like the diffusion equation, electrostatics on the plane, quantum mechanics and random walks.
The book is given with a CC and GNU Public License and is also available, together with the accompanying software from the book's site www.physics.ntua.gr/~konstant/ComputationalPhysics
Author(s): Konstantinos N. Anagnostopoulos
Edition: 2nd
Publisher: National Technical University of Athens
Year: 2016
Language: English
Pages: 682
City: Athens
Tags: Computational Physics, Scientific Computing
Foreword to the Second Edition
Foreword to the First Edition
1 The Computer
1.1 The Operating System
1.1.1 Filesystem
1.1.2 Commands
1.1.3 Looking for Help
1.2 Text Processing Tools – Filters
1.3 Programming with Emacs
1.3.1 Calling Emacs
1.3.2 Interacting with Emacs
1.3.3 Basic Editing
1.3.4 Cut and Paste
1.3.5 Windows
1.3.6 Files and Buffers
1.3.7 Modes
1.3.8 Emacs Help
1.3.9 Emacs Customization
1.4 The C++ Programming Language
1.4.1 The Foundation
1.5 Gnuplot
1.6 Shell Scripting
2 Kinematics
2.1 Motion on the Plane
2.1.1 Plotting Data
2.1.2 More Examples
2.2 Motion in Space
2.3 Trapped in a Box
2.3.1 The One Dimensional Box
2.3.2 Errors
2.3.3 The Two Dimensional Box
2.4 Applications
2.5 Problems
3 Logistic Map
3.1 Introduction
3.2 Fixed Points and 2n Cycles
3.3 Bifurcation Diagrams
3.4 The Newton-Raphson Method
3.5 Calculation of the Bifurcation Points
3.6 Liapunov Exponents
3.7 Problems
4 Motion of a Particle
4.1 Numerical Integration of Newton’s Equations
4.2 Prelude: Euler Methods
4.3 Runge–Kutta Methods
4.3.1 A Program for the 4th Order Runge–Kutta
4.4 Comparison of the Methods
4.5 The Forced Damped Oscillator
4.6 The Forced Damped Pendulum
4.7 Appendix: On the Euler–Verlet Method
4.8 Appendix: 2nd order Runge–Kutta Method
4.9 Problems
5 Planar Motion
5.1 Runge–Kutta for Planar Motion
5.2 Projectile Motion
5.3 Planetary Motion
5.4 Scattering
5.4.1 Rutherford Scattering
5.4.2 More Scattering Potentials
5.5 More Particles
5.6 Problems
6 Motion in Space
6.1 Adaptive Stepsize Control for RK Methods
6.1.1 The rksuite Suite of RK Codes
6.1.2 Interfacing C++ Programs with Fortran
6.1.3 The rksuite Driver
6.2 Motion of a Particle in an EM Field
6.3 Relativistic Motion
6.4 Problems
7 Electrostatics
7.1 Electrostatic Field of Point Charges
7.2 The Program – Appetizer and ... Desert
7.3 The Program – Main Dish
7.4 The Program - Conclusion
7.5 Electrostatic Field in the Vacuum
7.6 Results
7.7 Poisson Equation
7.8 Problems
8 Diffusion Equation
8.1 Introduction
8.2 Heat Conduction in a Thin Rod
8.3 Discretization
8.4 The Program
8.5 Results
8.6 Diffusion on the Circle
8.7 Analysis
8.8 Problems
9 The Anharmonic Oscillator
9.1 Introduction
9.2 Calculation of the Eigenvalues of Hnm (λ)
9.3 Results
9.4 The Double Well Potential
9.5 Problems
10 Time Independent Schrödinger Equation
10.1 Introduction
10.2 The Infinite Potential Well
10.3 Bound States
10.4 Measurements
10.5 The Anharmonic Oscillator - Again...
10.6 The Lennard–Jones Potential
10.7 Problems
11 The Random Walker
11.1 (Pseudo)Random Numbers
11.2 Using Pseudorandom Number Generators
11.3 The MIXMAX Random Number Generator
11.4 Random Walks
11.5 Problems
12 Monte Carlo Simulations
12.1 Statistical Physics
12.2 Entropy
12.3 Fluctuations
12.4 Correlation Functions
12.5 Sampling
12.5.1 Simple Sampling
12.5.2 Importance Sampling
12.6 Markov Processes
12.7 Detailed Balance Condition
12.8 Problems
13 Simulation of the d = 2 Ising Model
13.1 The Ising Model
13.2 Metropolis
13.3 Implementation
13.3.1 The Program
13.3.2 Towards a Convenient User Interface
13.4 Thermalization
13.5 Autocorrelations
13.6 Statistical Errors
13.6.1 Errors of Independent Measurements
13.6.2 Jackknife
13.6.3 Bootstrap
13.7 Appendix: Autocorrelation Function
13.8 Appendix: Error Analysis
13.8.1 The Jackknife Method
13.8.2 The Bootstrap Method
13.8.3 Comparing the Methods
13.9 Problems
14 Critical Exponents
14.1 Critical Slowing Down
14.2 Wolff Cluster Algorithm
14.3 Implementation
14.3.1 The Program
14.4 Production
14.5 Data Analysis
14.6 Autocorrelation Times
14.7 Temperature Scaling
14.8 Finite Size Scaling
14.9 Calculation of β
c
14.10 Studying Scaling with Collapse
14.11 Binder Cumulant
14.12 Appendix: Scaling
14.12.1 Binder Cumulant
14.12.2 Scaling
14.12.3 Finite Size Scaling
14.13 Appendix: Critical Exponents
14.13.1 Definitions
14.13.2 Hyperscaling Relations
14.14 Problems
Bibliography
Index