To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
This concise, plain-language guide for senior undergraduates and graduate students aims to develop intuition, practical skills and an understanding of the framework of numerical methods for the physical sciences and engineering. It provides accessible self-contained explanations of mathematical principles, avoiding intimidating formal proofs. Worked examples and targeted exercises enable the student to master the realities of using numerical techniques for common needs such as solution of ordinary and partial differential equations, fitting experimental data, and simulation using particle and Monte Carlo methods. Topics are carefully selected and structured to build understanding, and illustrate key principles such as: accuracy, stability, order of convergence, iterative refinement, and computational effort estimation. Enrichment sections and in-depth footnotes form a springboard to more advanced material and provide additional background. Whether used for self-study, or as the basis of an accelerated introductory class, this compact textbook provides a thorough grounding in computational physics and engineering.
So far in our discussion of multidimensional problems we have been focussing on continuum fluids governed by partial differential equations. Despite the fact that treating fluids as continua seems entirely natural, and gives remarkably accurate representation in many cases, we know that fluids in nature are not continuous. They are made up of individual molecules. A continuum representation is expected to work well only when the molecules experience collisions on a time and space scale much shorter than those of interest to our situation. By contrast, when the collision mean-free-path is either an important part of the problem, as it is, for example, when calculating the viscosity of a fluid, or when the collision mean-free-path (or time) is long compared with the typical scales of the problem, as it is for very dilute gases and for many plasmas, a fluid treatment cannot cope. We then need to represent the discrete molecular nature of the substance as well as its collective behavior.
Even so, it is unrealistic in most problems to suppose that we can follow the detailed dynamics of each individual molecule. There are p/kT = 105 (Pa)/ [1.38 × 10−23 (J/K) × 273(K)] = 2.65 × 1025 molecules, for example, in a cubic meter of gas at atmospheric pressure and 0°C temperature (STP). Even computers of the distant future are not going to track every particle in such an assembly. Instead, a statistical description is used. The treatment is common to many different types of particles. The particles under consideration might be neutrons in a fission reactor, neutral molecules of a gas, electrons of a plasma, and so on.
The distribution function
Consider a volume element, small compared with the size of the problem but still large enough to contain very many particles. The element is cuboidal d3x = dx.dy.dz with sides dx, see Fig. 8.1. It is located at the position x. We want a sufficient description of the average properties of the particles in this element.
So far we have been focussing on how particle codes work once the particles are launched. We've talked about how they are moved, and how self-consistent forces on them are calculated. What we have not addressed is how they are launched in an appropriate way in the first place, and how particles are reinjected into a simulation. We've also not explained how one decides statistically whether a collision has taken place to any particle and how one would then decide what scattering angle the collision corresponds to. All of this must be determined in computational physics and engineering by the use of random numbers and statistical distributions. Techniques based on random numbers are called by the name of the famous casino at Monte Carlo.
Probability and statistics
11.1.1 Probability and probability distribution
Probability, in the mathematically precise sense, is an idealization of the repetition of a measurement, or a sample, or some other test. The result in each individual case is supposed to be unpredictable to some extent, but the repeated tests show some average trends that it is the job of probability to represent. So, for example, the single toss of a coin gives an unpredictable result: heads or tails; but the repeated toss of a (fair) coin gives on average equal numbers of heads and tails. Probability theory describes that regularity by saying the probability of heads and tails is equal. Generally, the probability of a particular class of outcomes (e.g. heads) is defined as the fraction of the outcomes, in a very large number of tests, that are in the particular class. For a fair coin toss, the probability of heads is the fraction of outcomes of a large number of tosses that is heads, 0.5. For a six-sided die, the probability of getting any particular value, say 1, is the fraction of rolls that come up 1, in a very large number of tests.
This book is by deliberate choice an introduction to numerical methods for scientists and engineers that is concise. The idea is that brevity is the best way to grasp the big picture of computational approaches to problem solving. However, undoubtedly for some people the conciseness overstrains your background knowledge and requires an uncomfortably accelerated learning curve. If so, you may benefit by supplementing your reading with a more elementary text.
For readers who have survived thus far without much extra help, congratulations! If you've really made the material your own by doing the exercises, you have a wide-ranging essential understanding of the application of numerical methods to physical science and engineering. That knowledge includes some background derivations and some practical applications, and will serve you in good stead in a professional career. It might be all you need, but it is by no means comprehensive.
The conciseness has been achieved at the expense of omitting some topics that are without question important in certain applications. It is the purpose of this concluding chapter to give pointers, even more abbreviated than the preceding text, to some of these topics, and so open the doors for students who want to go further. Of course, all of this chapter is enrichment, and demands somewhat deeper thought in places. If for any topic you don't “get it” on a first reading, then don't be discouraged. References to detailed advanced textbooks are given.
Finite-element methods
We have so far omitted two increasingly important approaches to solving problems for complicated boundary geometries: unstructured meshes and finite elements. Unstructured meshes enable us to accommodate in a natural way boundaries that are virtually as complicated as we like. The reason they are generally linked with finite-element techniques is that the finite-elements approach offers a systematic way to discretize partial differential equations on unstructured meshes. By contrast, it is far more ambiguous how to implement consistently finite differences on an unstructured mesh.
This book presents what every graduate-level physicist and engineer should know about solving physical problems by computer.
Hardly any research engineer or scientist, whatever their speciality, can do without at least minimal competence in computational and numerical methods. It helps the practitioner greatly to appreciate the big picture of how computational techniques are applied. A book like this that covers the breadth of the methods, with a minimum of fuss, serves the purpose of acquiring the essential knowledge. It is derived from an accelerated short course for entering graduate students in the MIT Department of Nuclear Science and Engineering. That's why some examples used to illustrate the numerical techniques are drawn from nuclear science and engineering. But no specific background nuclear knowledge is required. The mathematical and computational techniques explained are applicable throughout a whole range of engineering and physical science disciplines, because the underlying numerical methods are essentially common.
For so short a course, a great deal of background must be taken for granted, and a lot of relevant topics omitted. The brevity is not a fault though; it is an intention. And while there is an enormous range of material that could be added, I see the deliberate selection as a merit. This approach, I believe, enables a student to read the text sequentially, experience rapid progress, and work to master the content. Of course the present approach contrasts strongly both with comprehensive textbooks and with handbooks. Massive teaching textbooks, in addition to providing vastly more detail, cover topics such as standard matrix inversion or decomposition, and elementary quadrature. Those can mostly be taken for granted today, I believe, because of widespread use of mathematical computing systems. Large textbooks also often approach the topics by a roundabout set of examples and develop the mathematics in a more elementary and drawn-out style. Doubtless that approach has merit, but it requires much more time to get to the heart of the matter.