========================================================================

		Readme: XCombust-1.0 by mkhd; 1999

========================================================================


	WELCOME TO THE ULTIMATE SOLUTION FOR YOUR ELEMENTAL ANALYSIS:


Part I: 	The Program
Part II: 	Installation/Requirements
Part III:	Distribution/Comments/Disclaimer



Part I: The Program
-------------------


* What's the program doin'?

This Program is derived from my XMolCalc-1.0 and has additional capability.
A frequent problem in elemental analysis is the fact that the values you
get back from your analytical department don't fit: #@!; 	(:-{)
Usually what happens is that one tries to make them fit with a calculator
and seek to proof that it's an inclusion compound (adduct) formed by you
compound and a solvent or whatever you had recently in contact with. 
Imagine an example of C18H22N4: The values for the pure compound would be: 
C (73.44), H (7.53), and N (19.03). 
If you get something way off, like (C=55.15; H=5.60, and N=13.54), you can 
execute a search for a factor that describes a well defined inclusion of a
contaminant. If you enter the formula into "Compound:" and your found 
percent values into the given places, you may enter different contaminants 
like solvents and others into the "Contaminant:" field. Pressing "Factor 
search:" checks for a factor that would describe an inclusion like
"compound x K contaminant". The above values would fit for CHCl3 with K=1, 
as in "C18H22N4 x 1 CHCl3".
If unsuccessful, you may overwrite the contaminant and continue checking 
with others until you found a description that fits or you recrystallize 
your stuff (hahaha.)
The values are searched within the commonly accepted range of +-0.4 percent 
for each, C, H, and N (occasionally only 0.39 is accepted due to minor 
round-offs). The program gives you the stoichiometric factor and the 
actual percent values for C, H, and N that the ideal inclusion compound 
would have. 
You may change the range of deviation by setting the LIMIT constant in 
xcombust_cb.c and recompile. This program is optimized for stoichiometric 
factors like 1.0, 1.5, 2.0 ...and so on. You could change this by setting 
the INCREMENT parameter in xcombust_cb.c to a smaller value and recompile.
That way you should consider to change the displayed number of digits too 
(that's done by setting the %.1f conversion in line 257 of xcombust_cb.c
differently). The current settings are 0.5 for the increment and one digit
for the displayed factors.
It does accept all 104 elements, but no isotopes. Index limit is 9999.


* Explanation of the program and the files provided in the archive:

The program is in pure C. The GUI was made with the XForms toolkit which I 
think is great.
All the functions were rewritten (based on the one in XMolCalc-1.0).

icon.xpm		Pixmap Icon
elements.h		List of elemental masses
install.sh		My installation script (requires root; see below)
Makefile		Well, the makefile (read!)
mfunct.h		Here all the calculation functions are prototyped
mproc.c			Puts one big function together to do the calculation
printout.h		Contains 2 functions that are used in callbacks

XCombust.h		Declaration of callbacks and the form
xcombust1.c		Belongs to the interface
xcombust1.fd		Belongs to the interface
xcombust1_cb.c		The callback functions for the input objects etc...
xcombust1_main.c	The main function where the form is generated
Omessage.txt		The basis file for the "about"


* Different versions available

Just as described in the XMolCalc-1.0 Readme: In the Makefile you can 
choose from "CASE_NO_INDEX_DUTY" - e.g. C2H5OH input -, or the "NO_CASE_
INDEX_DUTY" version where ethanol would be c2h5o1h1. It's pretty clear
that if you want to write all small that you'll have to give all indices 
(think of c3h4sn and such; sn -> s1n1 or Sn??). Default is correct cases
and no *1* index.



Part II: Installation/Requirements
----------------------------------


* Porting information

This program was developed on my SGI Indy XZ with R5K running IRIX 6.5.2. 
It further compiled on LINUX 2.2.5 (S.u.S.E.) and MachTen 4.0.3 CU1.
For MachTen users: There is a complaint about a type mismatch in the 
declaration of the built-in function 'fabsf'; however, all works fine.
On SGI and LINUX it compiled without any warning, complaints, whinings...
Unfortunately I had no access to other machines with xforms installed.
If you have trouble with the icon (colormap errors or whatever), just 
exchange it with another pixmap file named icon.xpm.


* Installation

You need the XForms lib and headers from http://bragg.phys.uwm.edu/xforms.
Also you need the Xpm library (http://www.inria.fr/koala/lehors/xpm.html) 
because I have included a spiffy pixmap icon. Both libs are highly recommended 
anyway.
After unpacking, open the makefile and customize it if you want; enter the
XCombust-1.0 directory and type "make". Now it will proceed all alone.
As long as you are not root or don't want to install it, you may just  
execute it inside the XMolCalc-1.0 directory by typing XCombust or ./XCombust. 
That way you are done now.
If you want to install it, type "make install" now. The default dirs for 
the installation are /usr/local/bin and /usr/local. The first dir will 
receive a new file xcombust which is a script to execute the actual program 
in /usr/local/XCombust-1.0.In other words, if you installed it, you may just
type xcombust somewhere to execute it as long as /usr/local/bin is in your 
path. In case you were doing changes and want to recompile it again, or decide
to try the "other version", edit the Makefile and type "make new".
The install.sh is pretty save I think. If you're not root, it exits and
tells you about. It also writes to the screen what it does! -Don't be afraid.
In the "about" you can always see what version you currently have compiled.



Part III:	Distribution/Comments/Disclaimer
------------------------------------------------

This is free-ware! However, I look at it as my property! If you modify it 
for the outer world, ask me before. Please feel free to give this program 
away; Put it onto your server at the university if you want. I love the 
idea that it might get included in CD ROMs even - great - but: 
Send me a note about and include all of the files here, also this Readme. 
If not so, I'll get mad if I see it! 
No warranty either expressed or implied. Whatever this program does to
your machine or your life or something else, it's not my reliability -
in no way!!!!!!!! No warranty at all - for nothing! blah blah....

If you like it, please send me a postcard. This will motivate me to 
continue writing such small utilities. If you want to exaggerate: Send 
me a bottle of beer from your country: That's what it usually took to
keep me goin thru this ;=}
In any case: Please sent me your comment (mkhd@omni.cc.purdue.edu).
Last not least: A Cillion thanks to the xforms mailing list, especially
to magic spl and Serge B. Bromow. 

Enjoy,


Martin K.-H. Doll, Ph.D.
Organisch Chemisches Institut der Universitaet Zurich
Winterthurerstrasse 190
CH-8057 Zurich
Switzerland

Permanent e-mail address: mkhd@omni.cc.purdue.edu


Zurich, April 1999
