Computers
What makes computers so powerful is that they can process very quickly. This computing power is very useful in physics and science.
Traditionally there are theoretical physicists and experimental physicists. Theorists do paper and pencil calculations to derive formulae and make predictions from their formulae. Experimentalists can design experiments to test the predictions and the theories. Experimentalists may also discover unexplained phenomena in their experiments. Theorists then try to devise some theory to explain the phenomena. The problem is that formulae can not be compared directly with experiment results. It is usually difficult to get numerical results from an equation to compare with experiments. The formulae are often very complicated differential equations. Many are so complicated that they can't be solved by hand at all.
After the invention of computers, people found a new way to solve equations numerically using computers. Consequently, a new branch of physics emerged called computational physics. Computational physicists use computers to get much more accurate results from equations and compare them with experiments. More generally, computational science can be used in engineering design where good numerical results are often crucial. Computation is also very useful to experimentalists. Changing experimental settings is usually expensive. Physicists can use computers to test different experimental settings to determine the best setting quickly and easily before actually doing the experiment. Theorists can take advantage of computers' capacity for computation as well. They can save a lot of time by using computer software to do analytical calculations such as solving equations in symbols.
Most of the important physics equations are partial differential equations. There are mainly two classes of methods to solve them numerically. The first class includes the finite difference method and the finite element method. The basic idea of the finite difference method is to set up a mesh on the region we want to study, approximating the differentiation by taking the difference of the values at mesh points, for example:
The resulting linear equations can then be solved by computers. The mesh can be rectangular, triangular, or any shape that is convenient. The finite element method divides the whole region into many small regions, often into small triangles. Then the differential equation can be approximated by some linear equations. In both methods, the linear equations are solved to get approximate numerical results for the original equations. The finite difference method is often more straightforward to implement, resulting in simpler equations to solve by computers. The finite element method has no mesh, so it can be used for any irregular region such as the surface of an airplane. The denser the mesh or the smaller the region, the more accurate the result.
Another class of methods is called the Monte Carlo method. This method is named after the famous gambling city in Europe because it uses coin tosses to do calculations. Suppose we want to get the area of a disc on a square. We throw darts randomly into the square. The probability of the dart falling into the disc is proportional to its area. We can assume that in a total of N darts, n of them fall into the disc. The area of the square is easy to determine. If we assume it is a unit square with an area of one unit, then Monte Carlo would claim the area of the disc is approximately n/N. The larger N is, the more accurate the result is.
The Monte Carlo method is easy to implement. When we solve a problem with no more than four independent variables, Monte Carlo method is usually slower than the finite difference and finite element methods. When the problem gets more complicated with more variables, Monte Carlo becomes superior compared to the other two. These methods are the main tools for computation. We have to choose the most suitable for each specific problem.
Computers always have limited computational power. On the problem side, people are always searching for better approximations and better algorithms. On the computer side, there are two approaches. The first approach is to design faster and larger computers called supercomputers. For example, the National Center for Supercomputing Applications (NCSA) has some of the largest supercomputers in the world. One of them has 512 CPUs. These supercomputers can compute with lightning speed and are called high performance computers (HPC). The biggest problem with HPC is the high cost. A less expensive approach to faster computing is available thanks to network technology. Many small computers are connected together by fast network, with many programs running in cooperation in the cluster. They usually can not do calculations as quickly, but they can do a large amount of work during a sustained period. This is called high throughput computing (HTC). This system has a much lower cost compared to HPC.
This is the complete article, containing 789 words
(approx. 3 pages at 300 words per page).