Skip to content

This project's aim is to provide a sample of my abilities in the form of a challange. The challange is to provide a solution to all exercises in the book Computational Physics by Mark Newman

Notifications You must be signed in to change notification settings

Nesador95/Computational-Physics-Solutions

Repository files navigation

02/21/2022 Note: This project started when I was a Physics undergraduate student employed as a Computational Physics lab TA at the University of Tampa. It has become part of my portfolio to showcase my computational physics, mathematical modeling, and Python programming skills ever since, I will update this project every now and then when I get the chance.
  • If you are looking for examples of my work with statistical inference or ML go to my Kaggle profile here
  • If you are a physics student going through the book and want to use my code as reference or for guidance please make sure you cite this resource, don't be the person that is caught plagiarizing! This is a free resource, so if you can find it, chances are your professor can too! Good luck with your studies :)

Computational Physics Solutions

Book by Mark Newman

Solutions by Luis Felipe Llano

Road Map
  • Chapter 2
  • Chapter 3
  • Chapter 4
  • Chapter 5
  • Chapter 6
  • Chapter 7
  • Chapter 8
  • Chapter 9
  • Chapter 10

Introduction

This project aims to provide a sample of my abilities in the form of a challenge. The challenge is to provide a solution to all exercises in the book Computational Physics by Mark Newman.

With my solutions I strive to supply an example of my ability in the following areas:

  • problem-solving
  • translation of mathematical concepts to code
  • object-oriented design
  • mastery of python
  • data visualization
  • 3D graphics
  • animation
  • computational modeling

The original questions and other downloadable material from the book can be found in the link to the author provided above.

General Synopsis

Chapter 1: Introduction

Chapter 1 has no exercises and therefore is not featured in this project. The chapter aims to introduce the reader to the underlying concepts that will be covered in the rest of the book.

Chapter 2 introduces different concepts of python programming from variable assignments to user-defined functions and regression methods of calculation. Exercises in this chapter are focused on problem-solving and the translation of mathematical equations and physics concepts into code. From problems that cover 2-D kinematics and altitude of satellite orbits to calculating binomial coefficients using "n choose k" with Pascal's Triangle and programming recursive solutions and calculating prime numbers.

Chapter 3 introduces methods of data visualization that include graphs, density plots 3-D visualization and Animation.

Chapter 4 deals with the limitations of the computer. This chapter deals with methods to estimate the accuracy of calculations and how long it would take to compute solutions depending on the number of steps needed.

Chapter 5 is the first look at computational physics proper with methods for performing integrals and derivatives. The techniques covered include the trapezoidal rule, Simpson's rule and more advanced methods such as adaptive methods including Romberg integration, and Gaussian quadrature. Some of the applications the author uses for the exercises are heat capacity of solids, thermal radiation, electrostatics calculations, and image processing.

Chapter 6: Solutions to linear and nonlinear equations

Chapter 6, as the title suggests, deals with linear and non-linear systems of equations and how to find solutions through a range of different methods. These methods include simultaneous linear equations, eigenvalues, and eigenvectors, non-linear equations treatment, and maxima and minima of functions.

Chapter 7: Fourier transforms

Chapter 7 is focused on topics dealing with the Fourier series such as discrete Fourier transform, discrete cosine and sine transform, and fast Fourier transforms.

Chapter 8: Ordinary differential equations

Chapter 8 as the title suggests this chapter focuses on techniques to solve first-order differential equations with one variable, differential equations with more than one variable, second-order differential equations, the variation of step size, and boundary value problems.

Chapter 9: Partial differential equations

Chapter 9 builds on the concepts seen in chapter 8 but this time the focus is on methods to solve partial differentials. These include relaxation methods and initial value problems.

Chapter 10: Random processes and Monte Carlo methods

Chapter 10 focuses on randomness and random processes and how they can be used to solve problems in physics. The methods covered in the chapter include: random numbers generators, seeds, secrete codes, and Gaussian random numbers to name a few; Monte Carlo integration method; Monte Carlo Simulation, Markov chain, and simulation annealing.

Chapter 11: Using what you have learned

Chapter 11 has no exercises and therefore is not featured in this project. The chapter aims to provide the reader with topics for further reading and studying.

cpresources

This folder contains resources and datasets provided by the author to use in some of the projects developed throughout the book. Files from this folder are needed to execute many of the programs above.

Acknowledgments

I would like to thank Dr. Ethan Deneault Associate Professor of Physics Department of Physics University of Tampa for mentoring, instructing, advising, and inspiring me as an undergraduate physics student; I would also like to thank him for introducing me to computational physics and computational modeling and for allowing me to be part of his research team as an undergraduate research fellow.

I would like to thank Brandon Shar for advising and coaching me in advanced programming techniques as well as being a career mentor when I graduated and started looking for my first job.

Finally, I would like to thank the author, Dr. Mark Newman Distinguished University Professor of Physics Department of Physics and Center for the Study of Complex Systems University of Michigan, for writing this book; his work inspired me to build a career around computational physics.

About

This project's aim is to provide a sample of my abilities in the form of a challange. The challange is to provide a solution to all exercises in the book Computational Physics by Mark Newman

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages