There are a wide range of practical problems that can be expressed as differential equations. This includes problems in Mechanics, Chemistry, Aeronautics, Thermo-Dynamics, Electronics and of course Ballistics. Solving these problems requires the calculation of the area of an arbitrary curve, a process that is known to mathematicians as "Integration".
Whilst machines to calculate area have existed since the 1800's, the first general purpose machine that could solve a a range of problems of this type was built in the early 1930's by Vannevar Bush's at MIT. It was called a "Differential Analyzer" and had six integrators. Several other machines were built, notably at Manchester University in the UK by Hartree and Porter. Parts of this machine can be see at the Museum of Science and Industry in Manchester and at the Science Museum in London. The Manchester machine is being restored and can usually be seen demonstrated on Tuesdays. A video of the machine in operation is available here:-
(sorry the videos do not work in Internet Explorer and Charles only uses Solaris anyway)
Later electronic devices that could solve these problems were developed. Firstly these used Valves and later transistors and integrated circuits were used. This type of machine was known as the Analogue (or Analog) Computer. These typically had from six integrators upwards. There are some great examples here:-
Whilst digital computers could and did solve this type of problem, analogues machines remained in use in parallel. Whilst some of this was inertia, analogue computers were much less expensive to purchase and run than even the smallest digital machine.
"Digital" analogue computers
One of the reasons that Digital Computers were slow to be adopted for solving these problems was was that writing programs to solve differential equations is a time consuming process requiring quite detailed knowledge of mathematical techniques. used to perform This changed with the release of specialist programs to solve this type of problem. These programs meant that users didn't need to have a detailed knowledge of the mathematics used to integration.
IBM released two packages or programs that could solve problems expressed as differential equations. Theses seem to be referred to as CSMP/360 and CSMP/1130.
CSMP/360 is the more comprehensive and therefore complex of the two packages. It consisted of two parts, a Translator that converted its own CSMP language into normal Fortran, and a set of run time routines to provide integration. In use the Fortran from the first stage is compiled by the normal Fortran compiler, linked with the subroutines to form a program that solves your problem.
For a long time I assumed this program was lost but a version of it is installed on the MTS system downloadable from www.bitsavers.org.
CSMP/1130 was a development of the "PACTOLUS" program for the IBM/1620. It was distributed with the IBM/1130 "mini" computer. A good site with info on this machine can be found here:-http://ibm1130.org/
CSMP/1130 or Block Mode CSMP as its sometimes called is a standalone program. It reads a single input file. Each line (or card) in the input file represents one module in an electronic analogue computer. This means it is easily understand and usable by any one familiar with electronic analogue computers with very little training.
This program was widely ported to other systems, including the IBM/360 and various DEC systems.
My first attempt at getting CSMP/1130 running involved "back porting" the code from the DECUS libraries at www.bitsavers.org onto my emulated IBM Mainframe. Whilst this works, and reflects the historic use of CSMP it lacked a certain authenticity. Running CSMP on a 3270 also makes it hard to read the print plot graphs.
However on inspecting the library pages at www.ibm1130.org I found they had a copy of the CSMP System Manual - H20-0284, but at the time is had not been scanned in. Much to my surprise they scanned it and uploaded it in straight away. On reading it I found it contained a complete listing of the Fortran source code. As they had also OCR'd the document I copied the code out and after some serious work to remove scanning errors from the code properly I had it running on the IBM 1130 emulator down loadable from their site. The emulator also includes a plotter emulator so the that was also tried.
I also modified the simulator to plot to a HPGL plotter I bought on Ebay. A video CSMP driving this can be seen <here>
I intend to provide downloadable versions of CSMP as time permits. If there is a particular version you need info about please e-mail webmaster <at> smrcc.org.uk