Computers play an increasingly important role in our society. A breakdown of all
computer systems would cause a breakdown of almost all activities of daily life.
Furthermore, personal computers are available in almost every home in the industrialized
world. But there is one sector where computers have a more strategic role, and
that is in science and technology. A large number of physical and engineering problems
are solved by the use of advanced computers. The first aircraft were designed
by very clever individuals who understood the basic principles of aerodynamics,
but today this is not enough. No manufacturer would start building a new aeroplane
without extensive computer simulations of various models. Another example where
computer simulation is a necessary tool is weather prediction. We know that these
predictions are not completely accurate, but are still good enough to get a fairly
good idea about the weather for the next few days. The question then is: how is it
at all possible to predict the future of a physical system like the atmosphere around
the globe? Or in the first example: how is it possible to predict the flight properties
of an aircraft that has not yet been built, and where not even a model of the aircraft
is available to put in a wind tunnel? No matter how powerful the computers are, we
have to provide them with a program that tells them how to carry out the simulation.
How is this program constructed?
The fundamental basis for these algorithms is amathematical model of some kind
that provides certain relations between the state variables. These relations lead to a
set of equations, and in most cases these equations are differential equations. The
problem is that these differential equations must be solved, and in most cases they
are too difficult to be solved by any mathematician, no matter how sharp. Unfortunately,
this is true even for the most powerful computer. This difficulty is overcome
by constructing an approximation to the mathematical model, arriving at a numerical
model that has a simpler structure based on simple operations like addition and
multiplication. The problem usually requires an enormous number of such operations,
but nowadays we have access to very fast computers. The state variables, like
air pressure and velocity for the weather prediction, are computed by using the numerical
model and, if the computer is faster than the weather proceeds in real time,
a forecast can be presented for the general public.