||This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (January 2013)|
|Data analysis · Visualization|
Computational physics is the study and implementation of numerical analysis to solve problems in physics for which a quantitative theory already exists. Historically, computational physics was the first application of modern computers in science, and is now a subset of computational science.
It is sometimes regarded as a subdiscipline (or offshoot) of theoretical physics, but others consider it an intermediate branch between theoretical and experimental physics, a third way that supplements theory and experiment.
In physics, different theories based on mathematical models provide very precise predictions on how systems behave. Unfortunately, it is often the case that solving the mathematical model for a particular system in order to produce a useful prediction is not feasible. This can occur, for instance, when the solution does not have a closed-form expression, or is too complicated. In such cases, numerical approximations are required. Computational physics is the subject that deals with these numerical approximations: the approximation of the solution is written as a finite (and typically large) number of simple mathematical operations (algorithm), and a computer is used to perform these operations and compute an approximated solution and respective error.
Status in physics
There is a debate about the status of computation within the scientific method.
Sometimes it is regarded as more akin to theoretical physics; some others regard computer simulation as "computer experiments", yet still others consider it an intermediate or different branch between theoretical and experimental physics, a third way that supplements theory and experiment. While computers can be used in experiments for the measurement and recording of data, this clearly does not constitute a computational approach.
Challenges in computational physics
Physics problems are in general very difficult to solve exactly. This is due to several (mathematical) reasons: lack of algebraic and/or analytic solubility, complexity, and chaos. For example - even apparently simple problems, such as calculating the wavefunction of an electron orbiting an atom in a strong electric field (Stark effect), may require great effort to formulate a practical algorithm (if one can be found); other cruder or brute-force techniques, such as graphical methods or root finding, may be required. On the more advanced side, mathematical perturbation theory is also sometimes used (a working is shown for this particular example here).
In addition, the computational cost of solving quantum mechanical problems is generally of exponential order in the size of the system (see computational complexity theory). A macroscopic system typically has a size of the order of constituent particles, so it is somewhat of a problem.
Finally, many physical systems are inherently nonlinear at best, and at worst chaotic: this means it can be difficult to ensure any numerical errors do not grow to the point of rendering the 'solution' useless.
Methods and algorithms
Because computational physics uses a broad class of problems, it is generally divided amongst the different mathematical problems it numerically solves, or the methods it applies. Between them, one can consider:
- ordinary differential equations (using e.g. Runge–Kutta methods)
- integration (using numerical integration or Monte Carlo integration)
- partial differential equations, for example the finite difference method, the finite element method or pseudo-spectral method
- the matrix eigenvalue problem - finding eigenvalues and their corresponding eigenvectors of very large matrices, (which correspond to eigenenergies and eigenstates in quantum physics)
All these methods (and several others) are used to calculate physical properties of the modeled systems.
Computational physics also borrows a number of ideas from computational chemistry - for example, the density functional theory used by computational solid state physicists to calculate properties of solids is basically the same as that used by chemists to calculate the properties of molecules.
Furthermore, computational physics encompasses the tuning of the software/hardware structure to solve the problems (as the problems usually can be very large, in processing power need or in memory requests).
It is possible to find a corresponding computational branch for every major field in physics, for example computational mechanics and computational electrodynamics. Computational mechanics consists of computational fluid dynamics (CFD), computational solid mechanics and computational contact mechanics. One subfield at the confluence between CFD and electromagnetic modelling is computational magnetohydrodynamics. The quantum many-body problem leads naturally to the large and rapidly growing field of computational chemistry.
Computational solid state physics is a very important division of computational physics dealing directly with material science.
A field related to computational condensed matter is computational statistical mechanics, which deals with the simulation of models and theories (such as percolation and spin models) that are difficult to solve otherwise. Computational statistical physics makes heavy use of Monte Carlo-like methods. More broadly, (particularly through the use of agent based modeling) it also concerns itself with (and finds application in, through the use of its techniques) in the social sciences, network theory, and biological models of disease and forest fire propagation.
On the more esoteric side, numerical relativity is a (relatively) new field interested in finding numeric solutions to the field equations of general (and special) relativity, and computational particle physics deals with problems motivated by particle physics.
Computational astrophysics is the application of these techniques and methods to astrophysical problems and phenomena.
Due to the broad class of problems computational physics deals, it is an essential component of modern research in different areas of physics, namely: accelerator physics, astrophysics, fluid mechanics (computational fluid dynamics), lattice field theory/lattice gauge theory (especially lattice quantum chromodynamics), plasma physics (see plasma modeling), simulating physical systems (using e.g. molecular dynamics), protein structure prediction, solid state physics, soft condensed matter physics etc.
Computational solid state physics, for example, uses density functional theory to calculate properties of solids, a method similar to that used by chemists to study molecules. Other quantities of interest in solid state physics, such as the electronic band structure, magnetic properties and charge densities can be calculated by this and several methods, including the Luttinger-Kohn/k.p method and ab-initio methods.
- Important publications in computational physics
- Timeline of computational physics
- Division of Computational Physics (DCOMP) of the American Physical Society
- CECAM - Centre européen de calcul atomique et moléculaire
- Mathematical and theoretical physics
- Open Source Physics, computational physics libraries and pedagogical tools
- A.K. Hartmann, Practical Guide to Computer Simulations, World Scientific (2009)
- International Journal of Modern Physics C (IJMPC): Physics and Computers, World Scientific
- Steven E. Koonin, Computational Physics, Addison-Wesley (1986)
- R.H. Landau, C.C. Bordeianu, and M. Jose Paez, A Survey of Computational Physics: Introductory Computational Science, Princeton University Press (2008)
- T. Pang, An Introduction to Computational Physics, Cambridge University Press (2010)
- B. Stickler, E. Schachinger, Basic concepts in computational physics, Springer Verlag (2013). ISBN 9783319024349.
- C20 IUPAP Commission on Computational Physics
- APS DCOMP
- IoP CPG (UK)
- SciDAC: Scientific Discovery through Advanced Computing
- Open Source Physics
- SCINET Scientific Software Framework