Solution Equilibria Analysis with the OPIUM Computer Program

This page is concerned with solution equilibria analysis, determination of chemical model, determination of equilibrium (stability, formation, protonation, dissociation, association) constants using potentiometry, UV/VIS spectrophotometry, NMR spectroscopy, polarography, vapour-pressure osmometry, capillary zone electrophoresis, and other useful methods with the OPIUM computer program.

Download for Windows XP and DOS

The OPIUM computer program can be downloaded directly at this site. Binary distributions of the main program and two small auxiliary programs are available compiled for several widespread computer platforms including PC DOS, PC Linux, SGI IRIX64, DEC OSF1, IBM AIX, and, on your request, many others. Choose one of the following files: pcdos.arj (282.580kB), (281.612kB), pclinux.tar.gz (149.574kB), sgiirix64.tar.gz (300.224kB), decosf1.tar.gz (328.050kB), ibmaix.tar.gz (300.396kB).

The latest version of the OPIUM computer program was released on 4th May 2000.

Download for Windows Vista, Windows 7 and later Windows versions

A recompiled version is available at: (284.576kB). Cygwin libraries should be downloaded from the page prior to the Opium programme instalation.

Each binary distribution contains three executables (p.exe, s.exe, f.exe under DOS or p, s, f under Unix) and the ASCII file p.hlp with more than one hundred error messages, one of which the main program (p.exe or p) displays every time it finds an error in the input file. Under Unix the file p.hlp (or a symbolic link to it) must always be in the actual directory. Under DOS it is not necessary, the file can be placed in the same directory as the executable (p.exe). The PC DOS binary distribution contains one more file, the free DPMI server cwsdpmi.exe, which enables all the programs (compiled with the DJGPP v2.01 C/C++ compiler) to address up to 128MB of RAM (and conceivably up to 256MB of virtual memory).

We decided not to release any source text (not even a part of it) before the program is published.

The minimum system requirements of the PC DOS version are 80386SX CPU with 80387SX numeric coprocessor, 1MB RAM, and DOS 3.0 (or higher). The reasonable hardware requirements obviously depend on the data processed. If you don't deal with really large absorbance matrices, PC with 80486DX/33MHz CPU and 4MB RAM will probably be strong enough to compute most of your results in seconds. Spectrophotometric data containing several large absorbance matrices in one input file generally need more RAM and a bit faster CPU.

A word or two about the use of the main program (p.exe or p). Name of the input file can be given either interactively or as a command line parameter (as well as name of the output file). Be careful! OPIUM overwrites files without giving any warning. The x character as name of the input (output) file terminates the program immediately (instead of reading of the input file or writing to the output file).

To suppress the output of the program to the standard output device (usually a console), use the -q command line parameter. Otherwise the number of sections, the number of points, in each iteration values of the alpha and lambda modifiers of step length and direction (of the Meyer and Roth algorithm) and the sum of squares of residuals (twice, if a variable variance-covariance matrix of the random vector of the dependent variable is defined owing to which the sum of squares of residuals has to be recalculated at the beginning of each iteration), and (at the end) the time spent for the computation by the CPU are displayed (together with some auxiliary symbols).

To interrupt the nonlinear least squares computation (and to switch the program to the debugging mode), press the d key (under DOS on a PC machine) or the Ctrl and \ (backslash) keys simultaneously (under Unix). Now you can control the computation with your keyboard (if you really want to do it) by means of sequences of simple commands. Values of all the unknown nonlinear parameters (together with their standard deviations on null correlation assumption and some additional auxiliary symbols) are displayed no matter whether the -q command line parameter has been used or not.

More information (including precise description of all the supported command line parameters and debugging mode commands or the explanation of the syntax of the input file) can be found in the reference manual. Unfortunately, the complete reference manual (about 50 pages in the PostScript format, size A4, resolution 600dpi) is still in Czech only (also available at this web page, but not very useful for most of you). If you want, you can get any of the files cz.arj (\n=CRLF, 332.335kB), (\n=CRLF, 325.734kB), and cz.tar.gz (\n=LF, 321.567kB), anyway (for identification purposes). I am afraid that the translation of the manual will take us a while. That's why we plan to give several lessons in using the program (through the Internet) starting just after the ISMEC'99 congress is finished.

To verify the functionality of the main program, you can find a lot of examples at this web page (see below). In spite of the fact that most of the downloadable input files are (or will be) commented on (the OPIUM program supports commenting like e.g.




etc. as well as evaluating of in-line arithmetical expressions by built-in preprocessor), some features of the program can't be fully explained in such a way and must be described somewhere in more detail. Czech (and Slovak) users can find all the necessary information in the reference manual, the others are probably entirely dependent on some short "readme" files and documents (in the PostScript and DVI formats), which are supposed to be released continuously during several forthcoming months (together with some more examples) until the reference manual is translated to English.

The first of these documents (\n=LF, 162.800kB) or tpcal.dvi (11.120kB) is a summary of the supported calibration functions (analytical methods) including clearly arranged lists of their parameters and specifiers (3 pages, size A4).

Another (small) problem is the absence of a detailed description of the output file. Apart from the fact that the output files are almost self-explanatory, such a description (supplied with a number of citations of recognized papers and textbooks) is a necessity and will soon be available, too.

Simple pH-metric data taken from the well-known textbook Martell A. E., Motekaitis R. J., The Determination and Use of Stability Constants, VCH Publishers, New York, 1988, pp. 47-85 and from Motekaitis R. J., Martell A. E., Can. J. Chem. 60 (1982) 2403 were reprocessed with OPIUM. The archive data1st.tar.gz (\n=LF, 11.376kB), data1st.arj (\n=CRLF, 63.182kB), or (\n=CRLF, 65.742kB) contains all the corresponding input files. Some of them are modifications of basic input files and are not of any practical importance with the given data, but demonstrate several "non-standard" features of the program quite well and make the structure of the input file easily understandable.

Two potentiometric titrations of ethylenediaminetetraacetic acid, four titrations of N-glycylaminomethylphosphonic acid (phosphonic analogue of glycylglycine), and six corresponding calibration titrations of nitric acid with potassium hydroxide were added to the second archive data2nd.tar.gz (\n=LF, 10.162kB), data2nd.arj (\n=CRLF, 35.831kB), or (\n=CRLF, 36.961kB) as examples of the unique external calibration technique used in our laboratory (see details).

To meet your call for closer information about the algorithms OPIUM computer program actually applies, theoretical parts of the posters presented at the CHEMOMETRICS'95 and SIMEC'98 congresses were put together and slightly updated (14 pages, size A4). Now you can download the file (\n=LF, 489.932kB) or opium00.dvi (75.520kB) and learn more about the core of the program. For those of you who are interested in nonlinear optimization techniques the file (\n=LF, 271.514kB) or nls.dvi (31.840kB) is assigned, which contains detailed description of a general method of solving systems of nonlinear equations (nonlinear least squares problems) with separable variables (5 pages, size A4). Get it and find out how the unknown linear (calibration) and nonlinear (chemical) parameters are separated in the OPIUM program.

About 20 potentiometric and spectrophotometric examples taken from the well-known handbook Meloun M., Havel J., Hogfeldt E., Computation of Solution Equilibria: A Guide to Methods in Potentiometry, Extraction, and Spectrophotometry, Ellis Horwood, Chichester, 1988 were reprocessed with OPIUM. More than 100 input files were divided into two parts. The archive data3rd.tar.gz (\n=LF, 17.838kB), data3rd.arj (\n=CRLF, 61.972kB), or (\n=CRLF, 65.507kB) contains most of the data presented on pp. 158-185 (problems 6.1-6.8 and 6.10) and 229-244 (problems 8.1, 8.3, 8.5, 8.7, and 8.8). The archive data4th.tar.gz (\n=LF, 29.476kB), data4th.arj (\n=CRLF, 93.811kB), or (\n=CRLF, 95.491kB) contains all the data presented on pp. 253-284 (problems 9.1-9.7). Unfortunately, some of the computed results seem to be a bit spurious, probably because of the incomplete information and/or typographical errors in the book.

Additional potentiometric, spectrophotometric, and NMR (both fast and slow exchange) data as well as some polarographic and capillary zone electrophoresis data taken from various sources were (re)processed with OPIUM. Two examples presented at the SIMEC'98 congress (but not included in the "data98" archive) has also been added to the diverse fifth archive data5th.tar.gz (\n=LF, 66.789kB), data5th.arj (\n=CRLF, 174.371kB), or (\n=CRLF, 176.191kB). Detailed description of the treatment of simple polarographic data (of a labile system) according to DeFord and Hume (4 pages, size A4) can be found in the file (\n=LF, 244.525kB) or polag.dvi (23.192kB). If you don't have it, you'll probably find the related input files unintelligible.

Another 7 potentiometric and spectrophotometric examples taken from the well-known handbook Leggett D. J., Computational Methods for the Determination of Formation Constants, Plenum Press, New York, 1985 were reprocessed with OPIUM. The archive data6th.tar.gz (\n=LF, 16.754kB), data6th.arj (\n=CRLF, 67.282kB), or (\n=CRLF, 69.106kB) contains all the data presented as appendices to the descriptions of the programs SCOGS2, MINIQUAD, MIQUV, SQUAD, and PSEQUAD.

More complicated and/or complex systems (not to mention the examples presented at the CHEMOMETRICS'95 and SIMEC'98 congresses still available at the bottom of this web page) will be discussed later.

Thus, after direct comparison with the programs HYPERQUAD (SUPERQUAD), SPECFIT, and HYPNMR (SIMEC'98 congress and "data98" archive) and with the program BEST ("data1st" archive) the OPIUM computer program is now directly compared with the programs PKAS, MINIQUAD75 (MINIQUAD), ESAB2M, ACBA, MINIPOT, MUCOMP, SCOGS, POLET, LETAGROP Z+ETA, MRFIT, DCLET, SPLET, EY608, LETAGROP SPEFO, SQUAD, and PSEQUAD ("data3rd" and "data4th" archives) and with the programs LETAGROP ETITR, LAKE, POLAG, CELET, SCOGS2, and MIQUV ("data5th" and "data6th" archives).

Now I believe OPIUM could be considered a well-tested program after all, although probably not so extremely powerful as the others.

Warning! Before processing the new examples, make sure that you have downloaded a version of the OPIUM program released on 14th September 1999 or later (the latest version should always be the best). Otherwise you won't be able to process spectrophotometric data with at least one standard deviation of the quantity on ordinate set relatively in per cents of a measured value of the quantity (and not absolutely, which is commoner, but less rigorous).

Moreover, SGI IRIX64 and DEC OSF1 versions released before 5th November 1999 do not support all portable features of the ANSI/IEEE 754 standard for binary floating-point arithmetic (some kinds of floating-point operations produce less precise results causing convergence problems with a small portion of all computations) and should also be replaced with newer versions.

Finally, all versions of the OPIUM computer program released before 18th November 1999 contain a stupid bug raising floating point exception (and causing abnormal program termination) in some special situations (mainly under DOS, the other supported operating systems are much more stable). Even if you have downloaded a new version of OPIUM quite recently, please, be so kind and upgrade for the latest version once more.

To prevent from some undesirable problems, always use the latest version of the program! The backward compatibility is guaranteed.

New! A few basic potentiometric examples taken from various sources were (re)processed (in a plenty of ways) to demonstrate several new features of OPIUM. Most of the 40 input files embraced in the archive data7th.tar.gz (\n=LF, 12.329kB), data7th.arj (\n=CRLF, 56.416kB), or (\n=CRLF, 57.999kB) require a version of the OPIUM program released on 29th February 2000 or later.

Tip! To learn more about the structure of the input file of the main program (p.exe or p), use this simple trick. Put some letter (e.g. x) to the input file to precede the value or control character you want to get known something about and start the program. An error message will be displayed giving you the information about the position of the hostile character ({row,column}), the name of the expected item, and required type of data (both taken from the p.hlp ASCII file). Thus, reading the ASCII file p.hlp can give you a brief overview of the items (including their order) OPIUM input files consist of. But only a few of these items (like e.g. the very first one called "Number of reactants") are present in every input file!

Your comments on this web site, the program, the presented posters, or the available data archives are welcome! To express your critical attitude towards this project or simply to let us know of your problems and/or further requirements, mail to Mojmir Kyvala. You can easily help us to do our job better.

Back to the past. Great effort has been devoted at the Department of Inorganic Chemistry, Charles University, Prague, Czech Republic to the development of a new computer program for the determination of equilibrium constants using potentiometry, UV/VIS spectrophotometry, NMR spectroscopy, polarography, vapour-pressure osmometry, capillary zone electrophoresis, and other useful methods. Since 1993, the computer program OPIUM for the analysis of solution equilibria by the generalized least squares method has been developed(1) and used for analysis of many different types of original data (mainly for potentiometric, spectrophotometric, and NMR study of acid-base and complexing properties of aminoalkylphosphonic and aminoalkyl([alkyl,aryl]phosphinic) acids and dipeptides(2,3) or polyazamacrocycles with [alkyl,aryl]phosphinomethyl(5) and phosphonomethyl pendant groups).

Since 1995, the OPIUM program has been intensively tested(4) in collaboration with the Department of Analytical Chemistry, Masaryk University, Brno, Czech Republic.

  1. Kyvala M., Lukes I., CHEMOMETRICS'95, Pardubice, Czech Republic, 1995, Book of Abstracts p. 63
  2. Rohovec J., Lukes I., Vojtisek P., Cisarova I., Hermann P., J. Chem. Soc., Dalton Trans. (1996) 2685
  3. Blaha L., Lukes I., Rohovec J., Hermann P., J. Chem. Soc., Dalton Trans. (1997) 2621
  4. Kyvala M., Lubal P., Lukes I., SIMEC'98, Girona, Spain, 1998, Book of Abstracts p. 94
  5. Rohovec J., Kyvala M., Vojtisek P., Hermann P., Lukes I., Eur. J. Inorg. Chem. (2000) 195

You can download the poster entitled "Determination of Equilibrium Constants with the OPIUM Computer Program" presented(4) at SIMEC'98 (IX Spanish-Italian and Mediterranean Congress on Thermodynamics of Metal Complexes) in Girona, Spain (21 pages in the PostScript format, size A4, resolution 600dpi). You can choose one of the following files: (\n=LF, 792.060kB), (\n=LF, 152.246kB), simec98.arj (\n=CRLF, 157.052kB), (\n=CRLF, 154.040kB). Notice, please, that the information about the \n character refers to the decompressed .ps file! Fortunately, most PostScript printers and viewers treat both the ASCII formats (i.e. Unix and DOS) correctly. TeX users might prefer downloading the device independent file simec98.dvi (99.424kB).

Main parts of the poster entitled "Program for the Determination of Equilibrium Constants from Potentiometric, Spectrophotometric, NMR, and Other Data" presented(1) at CHEMOMETRICS'95 (the 4th International Chemometrics Conference of the Czech Chemical Society) in Pardubice, Czech Republic will soon be available, too (as parts of the OPIUM program documentation).

If you don't have an access to any PostScript printer and are not able to read .ps files in any other way, try Ghostscript, the free PostScript language interpreter. TeX users can print/read .dvi files directly, of course.

Warning! If you downloaded and printed the poster before 26th June 1998, please, get the file (\n=LF, 217.115kB) or uo2malt.dvi (11.428kB) and replace the 2 wrong pages (maltol, UO22+) with the correct ones. I made a slip when typing the very first line of the matrix of stoichiometric coefficients (-1 0 1 instead of -1 1 0) and all the calculations carried out on this system were wrong! I am really sorry. As a compensation for this oversight, you can download the original input and output files (see below) to ensure that everything is O.K. now.

Now some supplementary material is available. Original input files for the OPIUM program containing most of the data presented(4) at SIMEC'98 (excluding 2nd and 5th examples, which haven't been published yet) can be downloaded together with corresponding output files (methionine, SCN-, Pd2+ as well as data presented(1) at CHEMOMETRICS'95 are included since 2nd July 1998). Choose one of the following files: data98.tar.gz (\n=LF, 766.072kB), data98.arj (\n=CRLF, 799.154kB), (\n=CRLF, 782.079kB). Only ASCII files (no directories) have been stored into the archives. There's probably no reason to print them (particularly the output files are extremely large).

For more information about the OPIUM computer program mail to Mojmir Kyvala.

Number of accesses:

(since 24th June 1999)