Last Modified November 6, 2004

Numerical Methods in Pascal: Applications



On this page you will find a list of scientific, mathematical, and engineering applications that are written in Pascal. I've started this page to publicize the fact that Pascal is NOT a toy language or simply a "teaching language". Quite to the contrary, my position is that Pascal is a robust general purpose language, one that is emminently suited to the production of demanding scientific and engineering applications. Consequently, this page is intended to give some additional visibility to real world applications in science and industry that are written in Pascal.

Note too that, to the best of my knowledge, the source code for the applications listed on this page is NOT generally available. This is not to say that the source is absolutely unobtainable -- several authors (e.g. Alex Gofen and/or Robert Lewis) have indicated that they might make their source code available under certain conditions (for instance, in the event that an interesting research collaboration is offered to them.) Applications for which the source is universally available are listed elsewhere at this site. (NB: "universally available" means simply that anyone with sufficient cash can obtain the source. How much cash is actually sufficient can vary anywhere from freeware to phenomenally expensive...)

Finally, if you or your employer have written an application that you feel should be listed on these pages, please contact me with all of the details. I'm looking forward to an ENORMOUS expansion these listings!


Science Applications

[o] Cartes Du Ciel: Sky Charts from Patrick Chevalley
[o] The Chemists Workbench from L.R. Good & Son
[o] Hilton Evans' ChemPen family of chemical analysis applications
[o] COMPASS Cave Survey Software
[o] Conductor: a neuron simulator by Robert Lee
[o] Software for ecological analyses and environmental evaluation from Pisces Conservation Ltd.
[o] e-Maging: real-time communications with a femtosecond laser confocal microscope
[o] GeoBlock: modelling and visualization tools for geoscientists
[o] Jarnac & JDesigner: Delphi applications for the systems biology community
[o] MicroDEM, a full-featured GIS from Peter Guth
[o] Ivan Krastev's Modern Optical Design and Analysis Software (MODAS)
[o] The MODFLOW-GUI for viewing 3D finite-difference ground-water models
[o] MRIcro: a medical image viewer by Chris Rorden
[o] OPgm: a program for statistics and chemometrics
[o] PARcalc: modeling the receipt of solar radiation on the Earth for ecological applications
[o] A radiation monitoring application used by the Swedish Radiation Protection Authority
[o] Programs for structural synthesis, from Dmitry L. Rakov
[o] V++: a scientific image processing application from Digital Optics
 

Mathematics Applications

[o] DataLab: a program for statistical data analysis by Hans Lohninger
[o] DELiA: a computer algebra system written in Turbo Pascal
[o] Statistical analysis programs from ESB Consultancy
[o] Expression Buddy from Jim Presley & Sons
[o] Fermat: A Computer Algebra System by Robert Lewis
[o] Ben Crain's NODE: Numerical (solutions) to Ordinary Differential Equations
[o] Pop Tools: a statistics engine for Microsoft's Excel spreadsheet
[o] Primo: Marcel Martin's primality proving program
[o] SimStat and other statistical tools from Provalis Research
[o] Statistics utilities from Chris Rorden
[o] Alexander Gofen's Taylor Center for the solution of ODEs
 

Engineering Applications

[o] ArrayTran: numerical analysis from Hazel's Country Computing
[o] F. Dail Singleton's Digital Analytics
[o] Neurocontroller design using Elegance from Pieter Spronck
[o] Janez Makovsek's FFT Properties: a spectrum analyzer written in Delphi
[o] The Integrated Machinery System (IMS): industrial automation with PLCs by Impuls Technic Aps
[o] OMAX Corporation's CAD/CAM control system software for their JetMachining Center
[o] Jaroslav Sklenar's PetriSim: a Discrete Simulation Environment
[o] Martin Lafferty's Production Robots Engineering Ltd.
[o] RockWorks, from RockWare, Inc.
[o] Software for the automotive and aeronautical industries from SimDesign
[o] Statics 2000 and other civil engineering software from Multisoft
[o] Structural engineering applications from Survey Design Associates Ltd.
[o] TF32: Paul Milenkovic's time-frequency analysis package for 32-bit Windows
 



Science Applications


Cartes du Ciel: Sky Charts from Patrick Chevalley
The first time I heard about Cartes du Ciel was in one of the Delphi newsgroups where somebody remarked that "Cartes du Ciel [is] easily the best free star charting software around." And even a cursory look at author Patrick Chevalley's Cartes du Ciel website shows that this anonymous endorsement[*] should be taken very seriously indeed. But if if you're one of those people who's somewhat skeptical of anonymous endorsements given via UseNet ... well, your doubts too will surely be assuaged by the very public endorsement given in an extraordinarily complimentary review by Rod Mollise in his on-line magazine SkyWatch.

Cartes du Ciel is freeware, written (as of 28 November 2002) entirely in Delphi 6, and appears to be a very well supported product, as evidenced by the on-line documentation, numerous examples, and the existence of a Yahoo Discussion and Support Group.

[*]   actually the newsgroup endorsement of Cartes du Ciel probably wasn't made anonymously ... I just forgot to record the reviewer's name when I saved the link and comment info

The Chemist's Workbench from L.R. Good & Son
The Chemist's Workbench is a software suite from L.R. Good & Son that provides a searchable repository (database) for experiemental results and comes equipped with a toolbox for data analysis. The analysis capabilites include multiple regression, continuous optimization, discrete optimization, and sensitivity analyses.

Hilton Evans' ChemPen family of chemical analysis applications
Hilton Evans is the author of a suite of chemical analysis applications written in Delphi. These include (The italicized text above was borrowed from the ChemPen website on 3 September 2001)

COMPASS Cave Survey Software
The description below was hijacked directly from the COMPASS web page on September 1, 2001:
COMPASS is a software package designed to edit, process, analyze and view cave survey data using an IBM PC compatible computer. The programs in the system allow you to enter cave data, revise the data, generate statistics on the cave, close loops, view plots from various angles on the screen and finally, print finished quality plots on almost any of dot matrix, laser, ink jet printer and a variety of line plotters.
The current version of COMPASS is written in XPL, C++, Pascal and Delphi. The COMPASS webpage displays some very impressive graphics depicting a model of Lechuguilla Cave...and apparently the software lets you take "joystick fly-throughs" of completely mapped caves.

Conductor: a neuron simulator by Robert Lee
Bob Lee, curator of the phenomenally useful High Performance Delphi Pages sent me this description of one of his on-going projects...
Conductor is an interactive neuron simulator and analyzer. Models can range from multicompartment to multicellular, and the simulator features the ability to calculate derived model outputs in addition to simple time-series voltage trajectories, calcium dynamics, and channel gating dynamics. Model parameters can be automatically tuned to drive these derived model "behaviors" toward specified goals. Additional analytical and search capabilities include second order sensitivity analysis, generation of "random" variations in parameters, and the ability to analyze and optimize the simulator itself improve its performance.
Sadly there is no URL for Conductor. If you'd like more information about the program, try contacting the author directly.

Ecological analysis and environmental evaluation from Pisces Conservation Ltd.
Richard Seaby of PISCES Conservation Ltd. sent a quick note saying that his group has "loads of delphi programs on our site - mathematical/statistical analysis stuff and graphic stuff - all ecology/environment based" So naturally I surfed over to take a look...and I can now say with complete assurance that the "loads of programs" description is indeed accurate. The numerous offerings from the PISCES software house include...
(most of the text above was appropriated from the PISCES website and occasionally augmented by an on-line brochure describing the many services offered by PISCES Conservation Ltd.)
Demo versions and complete documentation for all of the programs listed above are available for download at the PISCES website.

e-Maging: real-time communications with a femtosecond laser confocal microscope
Quoc Thang Nguyen and his colleagues at the University of California have developed e-Maging to provide real-time display and manipulation of images of neurons in the human brain acquired using a femtosecond laser confocal microscope. Prior to the appearance of e-Maging operating the microscope required two computers, two frame grabbers, and a digital videocassette recorder to display and record images from neurons. e-Maging centralizes all microscope operations in a single computer running Microsoft Windows 98. E-Maging was developed from the ground up using DirectX and Delphi 5, with time-critical sections written in optimized assembler.

(Pretty much all of the text above was swiped from a blurb written by Quoc Thang Nguyen for the on-line version of R & D Magazine)

GeoBlock: modelling and visualization tools for geoscientists
Some pretty interesting Open Source tools are starting to appear on SourceForge, and among these is the GeoBlock application described below. As is usual on this page, the descriptive text below is not mine: I hijacked it directly from the GeoBlock site on 2003-02-03.
Geoblock is an application for 3D modeling, database management and visualization of geoscience datasets. It is designed to use for mineral deposit exploration, ore reserve estimation, mine planning and simulation of processes in mining sites.

This software delivers with the open source codes as integrated system for geoscientists, mainly geologists, survey and mining engineers. One of the purposes of this project consists also in implementation of multi language GUI support for an easy localization of the program.

Geoblock 1.5.3 for Windows was released 2002-11-04

GeoBlock is written in Delphi, and (as you'd expect for an Open Source application) the complete source is available at the Geoblock website.


Jarnac & JDesigner: Delphi applications for the systems biology community
Herbert Suaro maintains a pair of open source (GNU LGPL) Delphi applications for the systems biology community. (The italicized text above was taken directly from the Jarnac website on 22 September 2002.)

In addition to linking in several numerical libraries written in Fortran and C++, Jarnac also makes use of the author's own TLSODA ODE solver for Delphi. The complete source for TLSODA (and some other useful mathematical goodies as well) can be downloaded from the author's Future Skill website.

MicroDEM, a full-featured GIS from Peter Guth
MicroDEM is a geographic information system (GIS) that combines Delphi's database features and with its robust graphics capabilities to display MicroDEM can import GIS data from a wide variety of sources (e.g., LandSat, the U.S. Geological Survey, and others -- in fact, the latest version can even import MODIS data), and is used extensively by the U.S. Army's Terrain Visualization Center.

According to its very thorough (and very impressive) help file, MicroDEM traces its Pascal roots back to a 1986 version of TERRANAL (Terrain Analysis) which was written in Turbo Pascal and ran "under CPM on the Apple II-based MICROFIX System One". Author Peter Guth, an oceanography professor at the United States Naval Academy, now maintains and expands MicroDEM using Delphi.

Ivan Krastev's Modern Optical Design and Analysis Software (MODAS)
MODAS is an actively developed program (latest release: MODAS 5.50 in May 2002) designed (according to the author) to allow you to quickly and easy evaluate the performance of optical systems. Written in Borland Delphi 3.0 by professional optician and physicist Ivan Krastev, MODAS is a fast and powerful program that incorporates a wide range of features for the layout, analysis and design of conventional optical assemblies. And because Ivan distributes MODAS as freeware, test driving a copy requires nothing more than a download from one of the several MODAS web mirrors

(Please note: as is customary on this page, the italicized text above was hijacked directly from the MODAS website on 2 September 2002.)

The MODFLOW-GUI from the United States Geological Survey
MODFLOW-2000 is a three-dimensional finite-difference ground-water model published by the United States Geological Survey. According to the MODFLOW-2000 summary page
MODFLOW-2000 simulates steady and nonsteady flow in an irregularly shaped flow system in which aquifer layers can be confined, unconfined, or a combination of confined and unconfined. Flow from external stresses, such as flow to wells, areal recharge, evapotranspiration, flow to drains, and flow through river beds, can be simulated.

As far as Delphi and/or Pascal is concerned, the really neat thing about MODFLOW is the MODFLOW-GUI which provides preprocessor and postprocessor graphical-user interfaces for preparing MODFLOW-96, MODFLOW-2000, MOC3D, MODPATH, and ZONEBDGT input data and viewing model output for use within Argus Open Numerical Environments. The MODFLOW-GUI is written using Delphi 5.0 and (quoting the abstract on the MODFLOW-GUI summary page), supports MODFLOW-2000 and the Reservoir, Transient Leakage, Interbed Storage, Lake, and Gage packages. The new version can also import existing MODFLOW-88 and MODFLOW-96 models. A utility program, GW_Chart, was developed in conjunction with the MODFLOW GUI and is used for post-processing of the output of MODFLOW. Also, in conjunction with the development of the MODFLOW GUI, three utility Plug-In Extensions (PIE's) were developed.

Source code for all the parts of the MODFLOW-GUI is available at the USGS Ground-Water Software website.

MRIcro: a medical image viewer by Chris Rorden
Since beginning this page back in September of 2001 I have become increasingly amazed by the breadth and quality of the applications that various folks have developed using Pascal. And while I fully expected to find that Pascal had made a few in-roads into the physical sciences and engineering disciplines, for some reason I never gave much thought to the application of Pascal to problems in medicine and/or research biology. But along with Quoc Thang Nguyen's e-Maging software, Chris Rorden's MRIcro program has convinced me that I need to seriously broaden my Pascal horizons. Check this stuff out (as usual I've "borrowed" the description below from the MRIcro homepage).
MRIcro allows Windows PCs to view medical images. It is a standalone program, but includes tools to complement SPM (software that allows neuroimagers to normalise and analyse MRI, fMRI and PET images). MRIcro allows efficient viewing and exporting of brain images. In addition, it allows neuropsychologists to identify regions of interest (ROIs, e.g. lesions). MRIcro can create Analyze format headers for exporting brain images to other platforms.

Features

  • Converts medical images to SPM friendly Analyze format.
  • View Analyze format images (big or little endian).
  • Create Analyze format headers (big or little endian).
  • Create 3D regions of interest (with computed volume & intensity).
  • Overlap multiple regions of interest.
  • Rotate images to match SPM template images.
  • Export images to BMP, JPEG, PNG or TIF format.
  • Yoked images: linked viewing of multiple images (e.g. view same coordinates of PET and MRI scans).
MRIcro is written in pure Object Pascal, and runs under both Windows (a 100% Delphi implementation) and Linux (100% Kylix). It is well supported by an on-line users guide, a tutorial that includes step-by-step instructions and a sample MRI scan, a special set of 3D volume-rendering instructions and its very own MRIcro FAQ webpage.

OPgm: a program for statistics and chemometrics
From the Department of Organic Chemistry of the University of Pardubice in the Czech Republic comes OPgm: a program for statistics and chemometrics. To be very specific, OPgm is maintained by the members of The Group of Enantioselective Catalysis, and appears to be their preferred software for the evaluation of experimental data. According to the group's web pages, OPgm is written in Delphi 5 (for Win98 and ME) and 7 (for Win2000 & XP) by Oldrich Pytela. The program does mathematical-statistical calculations (analysis of variance, linear and nonlinear regressions, principal component analysis, conjugated deviation analysis, factor analysis, modelling of latent variables, canonical corelations, projection of latent structures, discriminant analysis, cluster analysis, nonlinear mapping), and graphical presentations (2D, 3D). OPgm is distributed free of charge.

PARcalc: modeling the receipt of solar radiation on the Earth for ecological applications
Patrick van Laake has developed a physical model to calculate the amount of solar radiation that the Earth receives under realistic atmospheric conditions, and which is available for plant growth. Accurate estimates of this Photosynthetically Active Radiation (PAR) have many applications, ranging from plant growth simulations, to landscape studies, to global warming research. The PARcalc model routinely processes up to 260Gb of digital satellite imagery to extract atmospheric parameters with which instantaneous PAR (using MODIS data) or multi-year regional climatologies of PAR (using ISCCP and TOVS data) can be computed.

Patrick hopes to finish his Ph.D. later this year, and until then the Delphi source code of the model is not available. Some offshoots of his code are beginning to appear in the public domain though, including


(A tip of the hat to Patrick van Laake for kindly providing the blurb above...)


Radiation monitoring for the Swedish Radiation Protection Authority
Over the years (going all the way back to the days of DOS dominance), Ulf Bäverstam has been using Pascal to write numerous small and not so small applications for the Swedish Radiation Protection Authority Included among these is a model for predicting consequences of nuclear accidents (dispersion and dose calculations and a little more)...[that] has been widely used both by authorities and nuclear companies for many years (last revision in year 2000).

Programs for structural synthesis, from Dmitry L. Rakov
Dr. Dmitry L. Rakov, a senior staff scientist at the Institute of Engineering Science (part of the Russian Academy of Sciences) uses Delphi to churn out some pretty impressive software for his research projects. Drop by his web site and check out his family of "programs of structural synthesis". The most advanced of the group is the latest: Okkam version 3.0, written in Delphi. A multi-lingual programmer apparently also proficient in C++ and Fortran, Dmitry has built several other useful programs using Delphi, including one that calculates the characteristics (ballistic, mass, and geometrical) of tethered stratospheric balloons.

V++: scientific image processing from Digital Optics
A while back now (8 February 2002) I got a note from Gary Prentice of New Zealand's Digital Optics telling me about their V++ image processing application. Perhaps best known through their long-term association with Roper Scientific (a major scientific CCD camera manufacturer) the Digital Optics customer base spans the entire planet, and includes virtually every major scientific laboratory in the USA (including, according to Gary, some of the researchers here at NASA Langley Research Center).

V++ is a big powerful product, and I'm afraid I cannot do it justice with a brief blurb on these pages. Fortunately Digital Optics has taken care of all that quite nicely. For a quick overview, check out their press release announcing V++ Version 4.0. And for those interested in taking a more in-depth look, additional web pages provide an extensive feature list and complete set of product specifications.

The Digital Optics crew clearly are committed to Object Pascal as their development language of choice. Quoting Gary Prentice here...

V++ is written almost entirely in Borland Delphi 5. It also includes some code written in assembler where we need extremely fast performance.

V++ incorporates a standard Windows GUI but an interesting feature for readers of your list will be that our built-in automation language is based on Pascal (rather than the ubiquitous Visual Basic). This gives V++ many obvious advantages and we are very proud of the power and flexibility of VPascal. Differences from standard Pascal include the fact that variables are implicitly typed and that VPascal is fully vectorized. The last point means that it handles 1D, 2D and even 3D arrays the same way as ordinary variables.

This is a critical feature for us since VPascal is designed for processing images and video. For example, averaging three images can be done as simply as this:

Result := ( Image1 + Image2 + Image3 ) / 3 ;
Having a Pascal-based language gives us the ability to handle image expressions with ease - this is a significant competitive advantage for us. It's also interesting to note that the VPascal compiler is itself written in Object Pascal!
All in all I have to say that this is very impressive stuff...



Mathematics Applications


DataLab: a program for statistical data analysis by Hans Lohninger
For a long time I've known of Hans Lohninger as the author of an extensive set of mathemetical, statistical, and graphing tools for Delphi and Borland Pascal. Now, thanks to a recent e-mail (August 2002) I've also come to know Hans Lohninger as a prolific author of scientific and educational applications, among which are the following titles:
DataLab DataLab is a program for exploratory statistical data analysis. The DataLab webpage describes the program as follows:
DataLab is quite different from other statistical packages in that it does not claim to cover all statistical techniques. Moreover, DataLab has been deliberately designed to be not a full-featured, blown-up package but rather to be a handy and easy-to-use tool in everyday work with experimental data. It provides only some of the more fundamental methods and the selection of these methods has certainly been guided by a personal need of the author. Therefore DataLab provides tools for both the visualization and interpretation of data.
(I personally applaud this kind of effort...not every problem in data analysis needs the overwhelming feature set -- and concomitant complexity -- that programs such as Axum, Origin, or SigmaPlot bring to bear...)
Simulations as
a learning tool
The simulation series is not a single program, but instead a collection of separate executables that are intended to be used as supporting tools in teaching math and science. Various topics in mathematics, statistics, physics, and chemistry. are presented.
Coimbra Coimbra is a document management tool specializing in the creation of electronic textbooks (e.g., see the author's own Teach/Me - Data Analysis, published by Springer)
Not surprisingly, there is a substantial amount of code in each one of these applications... These are definitely the kind of substantial applications that could only be written with a robust, general-purpose programming language...and they're definitely NOT the kind of applications that could be written with a toy or "teaching" language!

DELiA: a CAS written in Turbo Pascal
I don't know where you could find a copy these days but CiteSeer reports that
DELiA, written in Turbo PASCAL by Bocharov and his collaborators [8], is a stand alone computer algebra system for investigating differential equations.
CiteSeer provides the following references for DELiA:


Statistical analysis programs from ESB Consultancy
Glenn Crouch's ESB Consultancy offers a pair of statistical analysis for Intel/Win32 platforms:
ESBstats is a statistical analysis and inference package capable of handling a broad range of computational data analysis tasks. The ESBStats package includes on-line help, tutorials, graphics, import/export capabilities, a customizable MS Office 97 Interface, an integrated scientific calculator, spell checking, and a host of other goodies. And of course it comes with a tremendous list of computational and data handling features)
ESBPDF Analysis is a tool that provides everything needed for using and manipulating both discrete and continuous probability distributions. ESBPDF "knows" all about the Binomial, Poisson, Normal, Exponential, Student t, Chi Squared, F, and LogNormal Distributions and is completely conversant with the inverses of the Normal, Student t, Chi Squared, F and LogNormal Distributions Other features include Lists of Binomial Coefficients, Factorials and Permutations; Calculations of Gamma and Beta Functions; and Printing of Standard Normal Tables & Critical t Values A full-featured trial version of ESBPDF Analysis is available for download at the ESB website
Both ESBStats and ESBPDF Analysis are written in Object Pascal and compiled using Delphi. Both programs also make extensive use the components and mathematical routines included in ESB's Professional Computational Suite.

ESB also produces a pair of very attractive calculators in both freeware and commerical versions
ESB Calculator Pro The pro version is an Enhanced Scientific Calculator with infix notation, support for full exponential notation support, numerous built-in scientific functions, a paper trail, a results history list, built-in and user-defined constants, and a comprehensive help file. A freeware version containing somewhat reduced functionality is also available.
ESB Unit Conversion Utility A Win32 utility to easily convert between units of measurement
Like ESBStats and ESBPDF Analysis, the ESB Calculator Suite makes extensive use the components and mathematical routines included in ESB's Professional Computational Suite.

Expression Buddy from Jim Presley & Sons
Jim Presley and sons Mike Presley and Dan Presley used Delphi 3 to write Expression Buddy for Windows 95, 98, NT, and 2000. Expression Buddy calculates numerical expressions and their associated uncertainty per ISO specifications. User's custom math expression containing up to 50 variables can be computed, as can the uncertainty of the result along with the desired coverage. The expression's variables can represent values which are themselves uncertain because of rounding error or because they are the uncertain statistical result of a series of measurements. It is the combining of the uncertainties of all variables using techniques published by ISO which makes EB different, and as far as we know, unique.

(Thanks to Jim Presley for the above description.)


Fermat: a computer algebra system (CAS) from Robert Lewis
At the Fermat website the author describes his program as a "computer algebra system for polynomial and matrix computation". He then goes on to say that Fermat
"...does arithmetic of arbitrarily long integers and fractions, symbolic calculations, graphics, and other numerical calculations. It is extremely fast and extremely economical of space. The main version that I care most about is oriented toward polynomial and matrix algebra over the rationals Q and finite fields (hence the name "QFermat"). On the Mac side, there are versions that run under MPW for 68K Macs and stand-alone versions for PPC. There is also a "float" version for graphics. All versions are available here."
By all appearances Fermat is an actively developed (last update: 13 July 2001) and well documented (by a 95 page PDF user's guide) program. The author backs up his claim that "Fermat is a state-of-the-art research tool for real problems" with a list of research projects and scholarly publications in which his software played a crucial role. And for those of you who might be interested in exactly how a CAS works, there is this tantalizing tidbit at the Fermat FAQ
[Q] Can I get a copy of the source code?
[A] Maybe. Depends on who you are and what you want to do with it.
(The italicized text above was borrowed from the Fermat website on 1 September 2001)

Ben Crain's NODE: Numerical (solutions) to Ordinary Differential Equations
In his "spare time" (while hammering away at a PhD in mathematics at George Mason University) Ben Crain uses Delphi to build several educational mathematics programs targeted at undergraduate students. The big gun in this collection is NODE, which Ben describes as
a numerical solver for Ordinary Differential Equations, designed as a kind of visual tutorial for students of numerical methods.
According to the accompanying helpfile/tutorial, the current version of NODE handles two general classes of problems...

In addition to NODE, Ben also distributes two other useful exploratory tools:

(The descriptions above were hijacked directly from, respectively, the Math Functions and Probability Distributions help files.)

I had the priviledge of test driving an earlier version of NODE. It was a useful tool back then, and it's better now. At the moment (21 September 2002) all of Ben's programs are beta versions, and can be downloaded and used free of charge. And for those of you do decide to take any one (or all!) of them for a spin, Ben asked me to remind you that "they are actively under construction, far from complete or bug-free. I post them in their present form because they contain enough functionality to be useful to students. And I (Ben Crain, that is!) would really like to get bug reports, or any comments/suggestions from users."


Pop Tools: a statistics engine for Microsoft's Excel spreadsheet
PopTools is a statistic add-in for Excel developed by Greg Hood while he was at Australia's CSIRO. PopTools enhances Excel with over 100 new worksheet functions, including routines for matrix decompositions (Cholesky, QR, singular values, LU), eigenanalysis (eigenvalues and real eigenvectors of square matrices) and formulas for generation of random variables (e.g., Normal, binomial, gamma, exponential, Poisson, logNormal). According to the author (see the About PopTools page) the purpose of the PopTools program is to emulate a subset of the analytical and statistical methods that are available in advanced mathematical and statistical programs. Most (though not all) of the muscle in Pop Tools is provided by Jean DeBord's very complete TP Math Library, which the author (Greg Hood that is, not Jean DeBord) has compiled into a DLL that can be accessed from Excel.

(FWIW, the About page of the Pop Tools website also contains one of my favorite testamonials: Some routines in PopTools are written in Visual Basic for Applications, but those that require good numerical performance have been written using Borland Delphi version 4.0...)


Primo: Marcel Martin's primality proving program
(The descriptive text below was hijacked directly from the Primo web page, mostly because Marcel knows LOTS more about prime numbers and elliptic curves than I could ever hope to master...)

Primo is a primality proving program based on the ECPP algorithm: Elliptic Curve Primality Proving. Given positive odd integers, Primo tests whether these integers are prime, and if they are it produces primality certificates. Primo is suitable for the checking of crypto-primes and to prove whether they are actually prime... or not.
Primo is a genuine prime number powerhouse: it currently holds the record for the largest prime number (5020 digits) ever discovered using the ECPP algorithm.

SimStat from Provalis Research
Provalis Research uses Delphi to develop statistical software packages for use in research and teaching. Their products include
SimStat is a general purpose statistical analysis package that delivers descriptive statistics (mean, variance, standard deviation, etc.), frequency analyses, multiple regressions, time series analyses, reliability analyses, and whole host of other goodies
StatItem for performing classical item analysis on multiple-choice item questionnaires. For each item in the scale, StatItem can compute various statistics to assess their discrimination value and their contribution to the overall internal consistency the scale
WordStat content analysis software (with many numerical methods like cluster, multidimensional scaling and correspondence analysis, etc.)
Italassi a freeware multiple regression interaction viewer
In addition to their own stuff, the Provalis Research folks also distribute Both ORIANA and MVSP are also written in Delphi.

(Thanks to Normand Peladeau of Provalis Research for alerting me to the SimStat family of programs. The italicized descriptions in this blurb were "borrowed" from the Provalis Research website.)


Statistics utilities from Chris Rorden
Many thanks to Chris Rorden for alerting me to a pair of nifty special-purpose statistical calculators that he offers
Statilite allows you to compute a number of neuropsychological statistics, including binomial probability, chi-squared, Fisher exact test, D-prime, and geometrical functions.
XLGen works with Excel to provide rapid data analysis, including descriptive statistics, analysis of variance, t-tests, f-tests, and outlier filtering.
Both tools are Windows applications written in Delphi.

Alexander Gofen's Taylor Center for the solution of ODEs
The Taylor Center is a solver and explorer for solutions of ordinary differential equations with the ultimate accuracy: up to the all available digits (currently 64-bit mantissa of the 10-byte extended type). According to the Taylor Center webpage, this level of accuracy is possible "because the method performs AUTOMATIC DIFFERENTIATION -- exact computing of the derivatives up to any desired order N, allowing [ the user ] to obtain the Taylor series of any length for the solution components."

The Taylor Center is coded completely in Delphi, and a well-documented demo program is available for Windows 95/98/NT/2000. A Kylix/Linux version is on the author's list of "future plans".

(for more information on automatic differentiation, you might want to check various listings of tools of the trade or browse through a selection of technical reports...)



Engineering Applications


ArrayTran from Hazel's Country Computing
Hazel's Country Computing produces ArrayTran, which it bills as a "flexible freeware tool for truly heavy-duty numerical data analysis". In particular, ArrayTran is (according to Hazel!) especially adept at... ArrayTran is a Windows 95/98/2000/ME/NT executable, written in Delphi 5.0 with graphics by TeeChart Pro. All italics in this description are direct quotes from the ArrayTran website as of 1 September 2001.

F. Dail Singleton's Digital Analytics
Digital Analytics appears to be a one-man engineering consulting firm that offers software solutions in a fairly wide range of fields. The product listings on the Digital Analytics homepage include... In my experience, PMSolver appears to be an entirely unique product. Apparently the PMSolver preprocessor ingests source code written in ... the PMSolver language??? (I'm more or less guessing here) and coverts this into "ordinary Pascal" which can then be included in a Delphi program. The actual solver engine comes in the form of .DCUs which are used by the Delphi executable to generate the desired solution.

Elegance: neurocontroller design from Pieter Spronck
The text below was written by Pieter Spronck, and appears in the Elegance.txt file included with the Elegance distribution package.

Elegance, which stands for Engineering Laboratory for Experiments with Genetic Algorithms for Neural Controller Evolution, is a program designed to experiment with the use of genetic algorithms to design controllers, especially neurocontrollers, which need to work in a reinforcement situation.

Genetic algorithms (GAs) are search algorithms based on the principles of natural selection and natural genetics. A working knowledge of GAs is necessary to be able to work with Elegance. Neither this manual nor the on-line help system will tell the user much about GA theory. Those who wish to read about it, should get one of the many books about it. I heartily recommend Goldberg's Genetic Algorithms in Search, Optimization & Machine Learning (Goldberg 1989).

Neurocontrollers are neural networks which are used to generate the input for a plant, so that the plant will produce a certain output. A plant is a process, which maps input to output and which may have internal parameters. More information about plants is found in the on-line help system. Neural network theory, however, is considered to be something the user is already familiar with. As a reference to neural networks, I recommend Alexander & Morton's "An Introduction to Neural Computing" (Aleksander 1990).

In addition to the executable (which comes with both an on-line help file and an ASCII-text manual, Pieter also distributes the complete Delphi source to his program. Both products are freeware.

Janez Makovsek's FFT Properties: a spectrum analyzer written in Delphi
Janez Makovsek is one of the authors of MtxVec, a comprehensive math and statisics library for Borland's Delphi and C++ Builder. Janez also produces a shareware program called FFT Properties, which is
a PC based report oriented real time Scope/Spectrum analyzer. It features parametric windows, peak interpolation, rich set of peak marking features, on-line wavelets decomposition, higher order spectral analysis, cross and auto correlation, cepstral analysis, cross spectral analysis, FIR filter designer, decimation and interpolation, advanced printing and high quality charts. Special care has been given to accurate phase angle measurement. FFT Properties is one of the few frequency analyzers in the world that features extremely accurate non-parametric phase angle measurement of non-periodic signals and linear phase peak filtering.
To allow users to make modifications to the existing program, Janez also offers the complete source of FFT Properties for sale. However (quoting the FFT VCL blurb at FFT Properties website), the FFT Properties 3.5 VCL is NOT royalty free. The distribution of derived work from FFT Properties 3.5 VCL requires one license of FFT Properties 3.5 shareware for each copy of the derived work.

The Integrated Machinery System (IMS): industrial automation with PLCs by Impuls Technic Aps
I found out about Impuls Technic Aps thanks to an e-mail from Jesper Christensen (who, it turns out, just happens to be the lead programmer on the IMS project). Jesper says that Impuls Technic
...used Delphi 5 to make a system to control industrial machinery which is called Integrated Machinery System (IMS). The system is very complicated and uses a lot of DLL plugins, as well as a script language. The system is comprised of several executables:
The server makes all the communication with the machine (actually it's a PLC), the Viewer is a MMI (Man-Machine Interface), and PacManager is a palletizing CAD/CAM program. They all communicate with each other through TCP/IP. The whole system is about 3-500,000 lines of pascal code. All made in Delphi.
Delphi doubters disperse: IMS is unquestionably an industrial strength application!

OMAX Corporation's CAD/CAM control system software
OMAX Corporation, makers of the OMAX JetMachining Center are using Delphi to develop " patented, easy-to-use machine tool control software" for OMAX's Carl Olsen reports that the CAD application makes heavy use of trigonometry and general math routines, while "the controller has an extreme amount of math for calculating tool paths where we need to compensate for the quirky behaviors of a waterjet, among many other things. Once the paths are calculated, we then feed the information to servo-motors to control the machine motion."

The OMAX software is all written in Delphi 5. According to Carl, OMAX "chose Delphi because it is very robust for this kind of application, and [they] have been very happy."


Jaroslav Sklenar's PetriSim: a Discrete Simulation Environment
Jaroslav Sklenar, a Senior Lecturer with the Department of Statistics and Operations Research at the University of Malta created PetriSim as (according to the blurb at his web site) a tool to support education of:
  • Petri Networks
  • Discrete Simulation
  • Object Oriented Programming
Jaroslav goes on to say that PetriSim enables creation of discrete simulation models in a commonly known language with simplicity typical for simulation languages. All you need is elementary knowledge of basic Petri networks ideas and intermediate Pascal programming. This makes discrete simulation available to almost everyone who went through Pascal programming course.

PetriSim is a native DOS application that apparently works fine under Windows 3.x/95/98/NT/ME). To create user models you need Turbo or Borland Pascal 7...a restriction which should present absolutely no impediment to most (if not all) of the visitors to this website...


Martin Lafferty's Production Robots Engineering Ltd.
When I first began developing this page, I asked for tips and pointers from the readers of borland.public.delphi.non-technical. Martin Lafferty of Production Robots Engineering Ltd. responded as follows...
I design and build large SCARA type palletising robots. All the application software is written in Delphi - including trajectory generation and implemention. There is no external servo controller. Servo interrupts are handled by a kernel mode driver (written in C) , but the motion buffers are kept full by APC routines written in Delphi and running in user mode. My applications simultaneously render a 3-D live image of the robot and its surroundings using OpenGL.

I also do OPC clients and servers for industrial applications - SCADA and so on.

What Martin didn't say is that he has written a suite of Delphi components that appears to provide everything necessary for OPC server programming using Delphi. An evaluation version of prOpcKit library is available for download, and the licensed version comes with complete source code.

Reading Martin's post for the first time sent me scurrying for a techno-dictionary that would help me decipher all the acronyms. (My familiarity with robot terminology is limited to whatever Issac Assimov included in his I, Robot series!) For those of you who might be equally clueless, here's a partial glossary...


RockWorks, from RockWare, Inc.
RockWare does geological software: 2D and 3D modeling, visualization, statistics and all sorts of graphics. Their flagship product, RockWorks2002, appears to be a monster of a product (the demo is a 6.5 Mb download) supported by an extensive website. The RockWorks99 Overview page describes a previous version of the product as follows...


(The italicized text immediately above was swiped shamelessly from the RockWorks Overview page on 6 September 2001.)

The current version, RockWorks2002, is now hosted on a slightly different set of operating systems (Windows 98 / ME / NT / 2000 / XP (with NT/2000 recommended)). In addition, RockWorks2002 adds an OpenGL 3D viewer and several new analysis tools and plot types.

Update, 23 Febrary 2003
It turns out that Rockware2002 is not the only piece of software written in Delphi by the folks at RockWare Inc. Thanks to a tip from Molly Mayfield at Rockware Technical Services I now know about LogPlot, which (according to the LogPlot homepage) is "an easy-to-use boring log plotting software program with almost unlimited flexibility in log layout", and "has been used by geoscientists since 1983 to display their geotechnical, environmental, geophysical, mud/gas, and mining data as a graphic boring log".


Automotive and aeronautical design tools from SimDesign
SimDesign, founded by Nils Haeck and located in Hellevoetsluis, The Netherlands creates (according to their website) highly specialised software for the automotive and aeronautical industry. I stumbled into the site more-or-less by accident, but while there I noticed a an intriguing link to the Delphi Corner, and of course this set me to wondering...does SimDesign use Delphi in their work? So I wrote owner Nils Haeck to find out, and he confirmed that yes, his products are definitely written in Delphi.

Nils describes (in italicized text) the products produced by SimDesign as follows...

MPOS - Motion Platform Optimisation Software

MPOS optimises the geometry of 6 degree of freedom "stewart platform" flight simulator motion systems, based on design requirements. Requirements are usually specified as a set of weights for each motion, e.g. X, Y, Z movement and pitch, roll, yaw rotations. Another input is the minimum required dexterity of the system throughout its workspace. Checks are done to see if the resulting design is safe. The software produces an optimum architecture layout (e.g. leg positions, actuator lengths). There are many options available to configure the design process to the users wishes. However, the software is quite complex, and cannot be used without substantial prior knowledge of motion platform design.

Since its first creation in 1998, MPOS has been constantly updated to reflect newest design challenges. MPOS is licensed to the Dutch company ADSE, and is for sale to other companies under special conditions. MPOS has been successfully utilized in projects for NASA and Boeing, and in several in-house projects of ADSE.

At the SimDesign website you can read a bit more about specific applications of MPOS to the problem domain. (And if you're interested in a very detailed look at the technical background underlying the development of MPOS, check out Integrated Design of Flight Simulator Motion Cueing Systems, a paper presented at the Royal Aeronautical Society Conference in London, May 2002 and available via PDF at the SimDesign website. Note too that virtually all the graphics in this paper were generated by either MPOS or WASHOUT (used in combination with Matlab for the 2d and 3d rendering))

RoboFit
RoboFit is a robot guidance application for use in automotive plants. This industry strength application utilises laser-based sensors to measure car parts or bodies and provides path correction data to connected robots through many types of interfaces (RS232, RS485, OPC, etc). RoboFit is based on Windows NT, and can be controlled remotely over TCP/IP. It works in-line, and allows all measurements to be taken in under one second, so the fixturing part takes only a fraction of the cycle time of the process.

If you are unfamiliar with the subject area (as I am), the blurb above (kindly provided by Nils Haeck) may prove to be some rough sledding. Fortunately, the SimDesign website provides a nice explanation of the RoboFit measurement concept and lists a number of potential applications for the RoboFit sofware.

The Washout Calculation Tool

SimDesign's washout calculation tool began its life as a Delphi port of FORTRAN code of Motion Washout algorithms described in Nahon/Reid's "Flight Simulation Motion-Base Drive Algorithms" (a standard work for flight simulator motion washout design). Now however this software is much more than just a simple port, as it also allows import of many different formats of flight historical data, is able to visualise this data in graphs, is able to visualise the final required workspace as a point cloud with circumscribing ellipsoid, and can put this data into Matlab to create graphs.

Like MPOS, the washout calculation tool was also successfully utilized in projects for NASA and Boeing and in in-house projects of ADSE.

ABC-View Manager

ABC-View Manager is not typical of the applications listed on this page, as it has no immediately obvious use in science, mathematics, or engineering. ABC-View Manager is in fact a shareware image viewer and file manager. I list it here because under the hood ABC-View Manager uses some neat fuzzy logic techniques to recognize all "similar images" among potentially millions of image files on a disk. The SimDesign folks have also expressed a willingness to make the "similar images" functionality available as separate component. And if your requirements dictate string or text searching rather than image analysis, SimDesign has also produced a spin-off from the image search engine in the form of a "fuzzy-text matching" plugin. Contact Nils Haeck at SimDesign for more information on this...
SimDesign also offers several Delphi number-crunching components aimed at the high-end market.

Statics 2000 and other civil engineering software from Multisoft
Multisoft is a civil engineering software firm with offices throughout Greece. Their developers have been using Pascal for engineering programming since 1986. I've reproduced their current product line below. (This text was appropriated entirely and without permission from the Multisoft website on May 26, 2002)

Statics 2000 A very sophisticated and user-friendly Space Frame Analysis computer program. It can face any type of multistore buildings from Reinforced concrete. It is fully automated and produces full drawings with structural plans, ready to be plotted. It is really fast, very easy to use, and you can play and make changes really easy.

Freeware Version: The full program Statics 2000 but with reduced number of beams and columns for each floor.

Pepe 2000 Analysis and design of slabs with 3-node and 4-node finite elements. The design is based on the Greek and EC codes for reinforced concrete.
MetalCAD Analysis and design of steel structures according to Eurocode 3
Toixos 2000 Analysis and design of retain walls from reinforced concrete.


Structural engineering applications from Survey Design Associates Ltd.
According to their website, Survey Design Associates "have been producing software for construction professionals since 1989 and more than 1500 architects, surveyors and engineers now use one or more of our programs, as do two thirds of the Building Control departments in the UK." SDA offers demo versions of all four of their applications: These are all 32 bit Windows applications written entirely in Delphi 5.0.

TF32: Paul Milenkovic's time-frequency analysis package for 32-bit Windows
TF32 is a time-frequency analysis software program for 32-bit Windows (95/98/NT/2000), suitable for the acoustic analysis of speech and/or other audio-frequency waveforms. TF32 implements a digital sound spectrogram, pitch tracker, formant tracker with hand-editing, and other analyses of interest to the acoustic analysis of speech. It is available for free download from TF32 homepage. At the web site you'll also find price information on commercial versions of TF32 that support A/D for making your own recording (although the free version will work on any recordings you have already stored in WAV files).

Written in the Delphi dialect of Object Pascal, TF32 directly calls the Windows API using its own set of object classes and does not use the Delphi VCL (Visual Component Library) classes.

(My thanks to Paul Milenkovic for alerting me to the existence of TF32 and for providing the descriptive text above.)



Page Curator: Mark Vaughan