An analog computer is a type of computer that utilizes easily measurable physical quantities (such as electrical voltages or formerly mechanical movements and rotation of gears) rather than programming languages and codes to represent data. Most (electronic) analog computers work with continuous values like voltages but they can also be used with a variety of other measurable variables, e.g. temperature, pressure, speed, resistance of capacitor and so on. The very first modern analog computers were based on hydraulic analog computing and were developed by Vannevar Bush and his team at the Massachusetts Institute of Technology (MIT). They were able to solve complex differential equations in an automated manner, reducing time consuming manual calculations considerably. Many mechanical analog computers based on these hydraulic computers exist today, including thermometers, analog clocks, speedometers and seismometers.
The principle behind analog computing is the creation of a model that represents the problem to be solved. The model is then used to produce the required output by adjusting an actuating mechanism which controls one or more of the variables. The basic computing elements of an analog computer are a summer, integrators, multipliers and function generators but depending on the problem to be solved specialized computing elements such as resolvers and time delay devices might be employed.
Modern analog computers can offer a huge computational power for certain problems but they are usually quite expensive to operate and require more maintenance than digital computers. Hence, there is a need for an alternative. Some engineers are working on the development of analog co-processors which can take the load of solving differential equations off traditional computers. The aim is to achieve much higher computational powers with comparable energy consumption levels.