Take the 2-minute tour ×
Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. It's 100% free, no registration required.

I'm a physics undergrad, looking for a good introductory book on computational science, and numerical methods. Mostly I'm looking for applied books. (Simply because... in a theoretical book, if I can't see why I'm studying it, it's easy to lose motivation!)

Background

I have the following background:

  • Strong background in programming (C++/Java/javascript/BASIC/introductory Mathematica)
  • parallel computing (enough to compile/fiddle with CUDA samples, and to use mutexes/locks semi-competently)
  • Mid-undergraduate physics (so, mechanics, waves, and special relativity, at a decent level, as well as introductory lagrangians)
  • Introductory linear algebra
  • Vector/tensor calculus (I 'learned' this material, but I really haven't applied it much)
  • Proofs/intro real analysis (halfway through baby Rudin, for those familiar, so I'm decent with rigor)

Goals

I'm looking for an applied book, because the simulations I write to figure out a problem are sometimes insufficient! Several of these areas:

  • Mechanics. My current method is to treat everything as a rigid sphere, with a spring force, and some damping on the plane of contact whenever a collision occurs. I don't think I've advanced from this in... maybe, three years? So, it would be very useful to learn a new method. Plus, with my own methods I sometimes run into bugs. Finite element analysis looks like a very interesting topic but the only books I've found on it are very rigorous and not very applied, so it's hard to be introduced to the material.
  • Wave Motion. It's pretty straightforward to discretize $\nabla^2\phi=\frac{\partial^2\phi}{\partial t ^2}$ and just to use it, but whenever I run into some instability (large error in energy, or an unstable simulation, or anything else that I don't know how to solve), my only solution is to decrease the timestep/increase the resolution. I only find new things every once in a while (such as a decent method for a nonreflecting boundary condition!).
  • Electromagnetism. I know vector calculus, so, why not?
  • Fluid mechanics? It seems like parts of this aren't that complicated, but I'm not familiar with it.
  • Others? Special relativity seems to necessitate electromagnetism, so that's off limits for now, and I'm not that knowledgeable in quantum mechanics. I'm not opposed to pure math things (attractors, etc) so long as there are interesting things computed, and not just several results proved and unused.

So, to clarify, I'm looking for an applied computational, possibly physics-based book, which starts at the introductory level (introductory not being synonymous with easy), and ideally provides a broad overview of multiple methods, with lots of applications, notably in the fields above.

I've looked quite a bit for books in these areas, but usually they turn out to either be way over my head, or theoretical to the point where I don't know what the purpose of what I'm proving/deriving is!


I understand that this is a very soft question, and I was hesitant posting it because of that, because I'm new to this corner of stackexchange, and because it might be seen as too localized. I don't think it's too localized, since I've found questions like these very useful in getting a grasp on a large field that I'm new in. Usually when I want to learn more about a topic I pick up a book, and to figure out what book to pick up I go to stackexchange, and usually the book recommendations on questions others have asked are great. I didn't find any questions applicable to my level on this site, so I think it's appropriate to ask one. Of course I'll take any objections into consideration.


One book that was recommended to me (not here) was "A First Course in Computational Physics" by Devries. The practice problems look especially good/interesting.

share|improve this question
    
NeuroFuzzy, welcome to SciComp. As you stated, your question seems soft, and somewhat open ended, however since you are looking for introductory texts, it may get a useful answer or two. I would still recommend splitting it into different question. For instance, your bullet point on the wave equation could be expanded into its own question with only a little extra research into solution techniques. –  Godric Seer Feb 11 '13 at 3:17
    
Many computational methods ultimately depend on the type of PDE you are solving (linear/nonlinear, elliptic,parabolic,hyperbolic, etc.). Focus on identifying types of PDE's, and learning the numerical methods for each type. While this can seem more "theoretical" at first, it will give you much more insight more quickly than examining the methods used in each physics application. –  Paul Feb 11 '13 at 16:22
add comment

4 Answers 4

up vote 4 down vote accepted

Another suggestion is:

An Introduction to Scientific Computing. Twelve computational projects solved with MATLAB

http://www.ljll.math.upmc.fr/AI2SC/

The twelve projects cover many of the areas you mention in your post, are each in a separate chapter, and are more or less independent of each other.

Bill

share|improve this answer
    
I'm worried this book will be too advanced, since that page says it's geared towards graduate level studies. Fortunately I found a not-too-expensive copy of it. At the very least I can pick apart the matlab code! –  NeuroFuzzy Feb 14 '13 at 1:16
add comment

Look at the following

Simulating the Physical World: Hierarchical Modeling from Quantum Mechanics to Fluid Dynamics

Computational Physics - An Introduction

For notes based on the 2nd book by the author of the book himself see here. For more advanced stuff see

Computational Physics

There are plenty of other books too.

share|improve this answer
add comment

I suggest you check out these books:

A.B. Shiflet and G.W. Shiflet, Introduction to Computational Science, Princeton University Press, 2006

R.H. Landau, M.J. Paez, and C.C. Bordeianu, A Survey of Computational Physics, Princeton University Press, 2008

Hope this helps.

share|improve this answer
add comment

I'll give an update based on what I've done in the time since asking this question.

A First Course in Computational Physics - DeVries. This covers many fundamental topics (Root finding/interpolation/integration [incl. Monte Carlo methods], linear algebra methods, ODEs, PDEs, and Fourier analysis) in a conversational tone so that everything seems motivated, and was very interesting for starting out in numerical methods.

Computational Physics - An Introduction - Vesely. I've found that the bulk of this book covers the same things the DeVries book covers, but it does so a bit more formally and uses more powerful and general (specialized?) tools. There are too few practice problems, in my opinion. It also has a chapter on hydrodynamics.

An Introduction to Scientific Computing - Danaila. The projects in this are excellent and definitely complement the material in the other two books I mentioned. It discusses aspects of each problem more in depth and provides challenges. (meaning that the tools in DeVries and Vesely don't just trivially solve each problem)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.