home *** CD-ROM | disk | FTP | other *** search
/ Lion Share / lionsharecd.iso / dos_misc / crest500.zip / CREST.DOC < prev    next >
Text File  |  1991-09-06  |  45KB  |  1,077 lines

  1. .ft e10
  2. .pn 0
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                                DOCUMENTATION ON
  14.  
  15.            CREST: CHEMICAL REACTIONS AND EQUILIBRIUM THERMODYNAMICS
  16.  
  17.                                  VERSION 5.00
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                                  developed by
  59.                                Dudley J. Benton
  60.                                August 10, 1991
  61. .pa
  62. .pn 1
  63.                                   _CONTENTS_
  64.                                                                           Page
  65. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   2
  66. Running the Program  . . . . . . . . . . . . . . . . . . . . . . . . . . .   3
  67. Interpreting the Output  . . . . . . . . . . . . . . . . . . . . . . . . .   8
  68. Defining Elements and Compounds  . . . . . . . . . . . . . . . . . . . . .   8
  69. Creating a Plot of Mole Fraction . . . . . . . . . . . . . . . . . . . . .  10
  70. References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
  71. Appendix 1 Listing of Error Messages . . . . . . . . . . . . . . . . . . .  13
  72. Appendix 2 Listing of Data File CREST.GAS  . . . . . . . . . . . . . . . .
  73. Appendix 3 Listing of Data File CREST.AQU  . . . . . . . . . . . . . . . .
  74. Appendix 4 Sample Program Output . . . . . . . . . . . . . . . . . . . . .
  75. Appendix 5 Program OXMOLES (computes combustion products vs. moles oxygen)
  76. Appendix 6 Program FINDENTH (computes enthalpy of combustion products vs. T)
  77. Appendix 7 Sample Plots of Computed Mole Fraction vs. Temperature  . . . .
  78. .pa
  79.                                 _INTRODUCTION_
  80.  
  81. CREST  is an interactive computer program designed to solve chemical reactions
  82. using equilibrium thermodynamics. CREST can handle  elements,  compounds,  and
  83. ions.  CREST  can  compute  the  thermodynamic  properties  of  the  elements,
  84. compounds, and ions at a  given  state  or  it  can  compute  the  equilibrium
  85. composition  of  the  products of a reaction involving these. CREST solves the
  86. simultaneous dissociation reactions implied by a reaction automatically. It is
  87. not  necessary  to  specify  all of the possible dissociation reactions, CREST
  88. will handle them for you.
  89.  
  90. CREST can handle many elements and compounds (currently set at 32 elements and
  91. 128  compounds).  Each compound can be composed of several elements (currently
  92. set at 16). CREST can handle complex reactions (currently set at 128 reactants
  93. and 128 products). Each of the dissociation species counts as a product of the
  94. reaction. CREST can solve any number of independent reactions although it will
  95. only  solve  one  at  a  time.  Simultaneous,  dependent  reactions  should be
  96. specified as one reaction. Eventually, the capability of  multiple  sequential
  97. reactions will be added (maybe Version 6).
  98.  
  99. You can specify the reaction to be solved interactively or in a data file. You
  100. can have any number of data files.  CREST  will  allow  you  to  interactively
  101. specify  under  what  conditions  (ie.  temperature and pressure) you want the
  102. thermodynamic properties evaluated and the constraints on  the  reaction  (ie.
  103. constant pressure or volume and specified temperature or heat transfer). CREST
  104. will also allow you  to  interactively  change  the  molar  fractions  of  the
  105. reactants.
  106.  
  107. Elements  and  compounds  are  defined  in  a database file (cf. CREST.GAS and
  108. CREST.AQU) which cannot be altered by CREST. Any elements  or  compounds  that
  109. appear  in  your  reaction  must be defined in the database before running the
  110. program. You can get a list of  the  available  substances  by  selecting  the
  111. appropriate  command  from  the  main  menu  or  from the built-in full-screen
  112. editor. Additions to and modifications of the substances in the database  will
  113. be covered in the section "DEFINING ELEMENTS AND COMPOUNDS."
  114.  
  115. Throughout  this  manual  and  within  the  program,  optional  parameters are
  116. indicated by brackets, []. For example, the command B[atch]= can be  given  as
  117. Batch=,  Batc=,  Bat=,  Ba=,  or B=. If you use more than the first letter, it
  118. must  be  spelled  correctly  and  must  not  have  any  trailing   extraneous
  119. characters. Case (upper/lower) is immaterial.
  120.  
  121. You  can  have  several  database  files.  Two  are  supplied  (CREST.GAS  and
  122. CREST.AQU). To access a different database file just specify  it  in  the  run
  123. command:  CREST  D[atabase]=CREST.AQU  or select the appropriate option in the
  124. main menu. If none is provided, a file extension of ".DAT" will be assumed and
  125. the file is not found without any extension.
  126.  
  127. CREST  works  in  either  English  or  SI units. The English units include the
  128. lb-mole (pound-mole), the BTU, degrees Rankine, and psia  (pounds  per  square
  129. inch  absolute).  The SI units include the gm-mole, Joule, degrees Kelvin, and
  130. atmosphere. The units for each quantity are given by the program when  listing
  131. results.  You can select the units from the run command by adding U[nits]=S[I]
  132. or U[nits]=E[nglish]. English is the default.
  133. .pa
  134.                             _RUNNING THE PROGRAM_
  135.  
  136. Do not attempt to run CREST from BASIC. On a PC you should be in DOS with  the
  137. DOS prompt. To run CREST just type CREST and hit Enter.
  138.  
  139. CREST will offer you a menu like the following...
  140.  
  141.      Compute properties --> compute U,H,S,G for a given T,P
  142.      Database ------------> select another or list current database
  143.      Edit reaction -------> display or modify the reaction
  144.      File reaction -------> save the current reaction in a disk file
  145.      Graph ---------------> solve a series of reactions and plot results
  146.      Print=ON/OFF --------> begin/quit listing results to printer
  147.      Read reaction -------> open existing disk file and read contents
  148.      Solve reaction ------> determine equilibrium composition of products
  149.      Units=English/SI ----> select units for input/output
  150.  
  151.      use ^v then Enter to select or Esc to exit
  152.  
  153. You  may  select  any  of  these by touching a single key corresponding to the
  154. first upper case character in the menu line or by moving the  cursor/highlight
  155. to  the  desired line with the arrow keys or mouse and then tap the Enter key.
  156. If the menu entries begin with numbers (0-9) instead  of  upper  case  letters
  157. (which  is the case with the plot menu), then select using the numbers. If you
  158. have a Microsoft compatible mouse, then the left button can be  used  for  Yes
  159. and  the  right button can be used for No or Esc. If you want to interrupt the
  160. program during a long series of calculations then tap the space bar and wait a
  161. few  seconds.  This will abort the current task. If you have a mouse, the same
  162. thing can be accomplished by depressing both buttons at the same time. If  you
  163. wish  to  exit  CREST,  follow  the  instructions  which appear on the screen.
  164. Essentially, a few taps on the Esc key will get you out.
  165.  
  166. If you want the results to be printed select Print>ON from the  main  menu.  .
  167. You  can  later  stop  printing by selecting Printer>OFF. Note that Ctrl-PrtSc
  168. will not work with CREST, nor will standard  output  device  re-direct  (CREST
  169. >PRN).  If you want to spool the output to a file instead of the printer, then
  170. use the run command: S[pool]=spoolfile.ext. The spool file  must  not  already
  171. exist  to  avoid  unintentional  overwriting. If you use the S[pool]= command,
  172. then  CREST  will  automatically  set  Printer>ON.  If  you  use  the  command
  173. S[pool]=PRN,  then CREST will send the output to the printer as usual;  but it
  174. will also turn Print>ON. This is a useful when running in the unattended  mode
  175. (ie., from a batch file or spawned by another program).
  176.  
  177. You  can  also  specify  the  reaction  file  in  the  run  command  with  the
  178. R[eaction]=file.ext. If no file extension is given and the file is  not  found
  179. without an extension, then CREST will assume .REA for the extension.
  180.  
  181. You  can  also  specify  the  database  file  in  the  run  command  with  the
  182. D[atabase]=file.ext. If no file extension is given and the file is  not  found
  183. without an extension, then CREST will assume .DAT for the extension.
  184.  
  185. You  can  run  CREST  interactively  or  unattended.  In  order  to run in the
  186. unattended mode, you must use either the B[atch] or P[lot] run  commands.  The
  187. B[atch] command has several configurations as listed below, where:
  188.  
  189.      Tr=temperature of the reactants (if zero --> 537R/273K)
  190.      Tp=temperature of the products (if zero --> 537R/273K)
  191.      Pr=pressure of the reactants (if zero --> 14.7psia/1atm)
  192.      Pp=pressure of the products (if zero --> 14.7psia/1atm)
  193.      Q=heat transfer
  194.  
  195.      B[atch]=100:200  <--- here Tr=Tp=100, Pr=Pp=200  this will compute
  196.           and list the properties, then exit
  197.  
  198.      B[atch]=P[ressure]:T[emperature]:100:200:300  <--- here P tells
  199.           CREST to assume constant pressure (open system), T means
  200.           specified temperature of the products (ie., compute the heat
  201.           transfer), Tr=100, Pr=200, Tp=300
  202.  
  203.      B[atch]=V[olume]:T[emperature]:100:200:300  <--- here V tells
  204.           CREST to assume constant volume (closed system), T means
  205.           specified temperature of the products (ie., compute the heat
  206.           transfer), Tr=100, Pr=200, Tp=300
  207.  
  208.      B[atch]=P[ressure]:Q:100:200:300  <--- here P tells CREST to
  209.           assume constant pressure (open system), T means specified
  210.           temperature of the products (ie., compute the heat transfer),
  211.           Tr=100, Pr=200, Tp=300
  212.  
  213.      B[atch]=V[olume]:Q:100:200:300  <--- here V tells CREST to
  214.           assume constant volume (closed system), T means specified
  215.           temperature of the products (ie., compute the heat transfer),
  216.           Tr=100, Pr=200, Tp=300
  217.  
  218. The P[lot] command also has several configurations, where:
  219.  
  220.      Tp1=initial temperature of products
  221.      Tp2=final temperature of products
  222.      dTp=step size (ie., do from Tp1 to Tp2 in steps of dTp)
  223.  
  224.      device=graphics device - must be one of the following:
  225.            =CRT   (CGA/EGA/VGA/HGA automatically selected by hardware)
  226.            =80    (HI-80 printer/plotter)
  227.            =7240  (HP-7240 printer/plotter)
  228.            =7470  (HP-7470 2-pen plotter)
  229.            =7475  (HP-7475 6-pen plotter)
  230.            =7550  (HP-7550 8-pen plotter)
  231.            =Star  (Star dot matrix printer)
  232.            =Epson (Epson dot matrix printer)
  233.            =IBM   (IBM dot matrix printer)
  234.            =Laser (HP LaserJet)
  235.  
  236.      log=either L for log Y-axis (moles) or omit for linear Y-axis
  237.  
  238.      P[lot]=P[ressure]:100:200:300:400:500:device:log  <--- here P
  239.           tells CREST to assume constant pressure (open system),
  240.           Tr=100, Pr=100, Tp1=300, dTp=400, Tp2=500
  241.  
  242.      P[lot]=V[olume]:100:200:300:400:500:device:log  <--- here V
  243.           tells CREST to assume constant volume (closed system),
  244.           Tr=100, Pr=100, Tp1=300, dTp=400, Tp2=500
  245.  
  246. These  run  commands can be combined in any order. If either B[atch] or P[lot]
  247. are specified, then CREST will run in unattended mode,  otherwise  CREST  will
  248. run  in  the  interactive  mode.  Do  not  specify both the B[atch] and P[lot]
  249. commands.
  250.  
  251. Two program (including source code in C) are  provided  which  illustrate  the
  252. potential uses of the CREST unattended mode when spawning it as a process from
  253. another program. The first of these is OXMOLES which uses CREST to compute the
  254. products  of  combustion at constant temperature and pressure but with varying
  255. moles of oxygen. The second is  FINDENTH  which  uses  CREST  to  compute  the
  256. enthalpy  of  combustion  products with varying temperature. Listings of these
  257. codes and sample results can be found in the Appendices.
  258.  
  259.                      _Computing Thermodynamic Properties_
  260.  
  261. There is a default reaction which is loaded into the  50  line  reaction  data
  262. buffer.  This  happens  to be the dissociation of water into hydrogen, oxygen,
  263. and hydroxl. You can examine this reaction by selecting menu  option  to  edit
  264. reaction. CREST will list the reaction and some help information.
  265.  
  266. To  solve  the  reaction  you  must  first  return  to  the main menu. This is
  267. accomplished by pressing F10. The menu should reappear. Now  select  the  menu
  268. option to Compute thermodynamic properties.
  269.  
  270. CREST will run through a checking procedure and then look through the database
  271. for the elements and compounds. It does this once every time  you  change  the
  272. reaction. CREST lists some information while it is checking your reaction. You
  273. need not be concerned if it flies by too fast to read. You only need  to  read
  274. it  if you have made a mistake, in which case CREST will pause so you can read
  275. it. It just throws the  information  on  the  screen  in  the  event  that  it
  276. encounters an error so that it will be there if you need it.
  277.  
  278. After  a few seconds you should see a header listing the units and symbols and
  279. a prompt to enter the temperature (T) and pressure (P). If you  enter  a  zero
  280. for  either  temperature  or pressure CREST will assume the standard reference
  281. values which are 537R/237K and 14.696psia/1atm. After you  type  these  values
  282. (try  1000  14.7) hit Enter and CREST should list the internal energy (U/RTo),
  283. enthalpy (H/RTo), entropy (S/R),  and  Gibbs  free  energy  (G/RTo)  for  each
  284. reactant  and  product  under  the  specified conditions. The same prompt will
  285. return and you can do this as many times as you like. To return  to  the  main
  286. menu  just  hit  blank  Enter. If you select this option, CREST will assume an
  287. equal number of moles for each product (as these  are  unknown  without  first
  288. solving for the equilibrium.
  289.  
  290. If  CREST  takes  more than one second to compute the properties, you probably
  291. don't have a math coprocessor in your PC. CREST will work even  if  you  don't
  292. have one;  but I must warn you that there is a speed difference of a factor of
  293. 30 to  120!   Should  you  try  to  solve  a  long  reaction  without  a  math
  294. coprocessor,  I  suggest you get a good book to read while you wait. Note that
  295. if you don't know if you have a coprocessor and the program seems to be taking
  296. forever  to  run, you can interrupt it at any time by striking the spacebar or
  297. clicking both mouse keys at once.
  298.  
  299.                              _Solving a Reaction_
  300.  
  301. Now to solve the reaction select menu option  to  Solve  a  reaction.  If  you
  302. haven't  changed the reaction CREST will not go through the checking procedure
  303. again. You should see a header listing units and symbols and a  prompt.  CREST
  304. wants  to  know  if  you  want to change the reactant mole fractions. That is,
  305. something like:
  306.  
  307.      C+O=CO
  308.      C+2O=CO
  309.      2C+3O=CO
  310.  
  311. You  can  change  the  coefficients  in  the equation as desired. If not, just
  312. respond with a N.
  313.  
  314. Next you will be asked whether the reaction is constant pressure (open system,
  315. steady-state   reaction,   etc.)  or  constant  volume  (closed  system,  bomb
  316. calorimeter, etc.). Remember that for a  closed  system  the  conservation  of
  317. energy  is  based  on  internal energy (U);  whereas, for an open system it is
  318. based on the enthalpy (H). If you specify constant volume, CREST will  compute
  319. the resulting pressure of the reactants.
  320.  
  321. Then  you  will  be asked whether you want to specify the final temperature of
  322. the products or the heat transfer (Q). If you specify the temperature  of  the
  323. products,  CREST  will  compute  the  heat  transfer  per  specified  moles of
  324. reactants.  If  you  specify  the  heat  transfer,  CREST  will  compute   the
  325. temperature of the products.
  326.  
  327. For  example,  a  bomb calorimeter would be a constant volume, adiabatic (Q=0)
  328. reaction. An ideal furnace would be a constant pressure,  adiabatic  reaction.
  329. Of course, real furnaces lose both pressure and heat. You can specify the heat
  330. loss or addition, Q need not be zero.
  331.  
  332. CREST will flash messages on the screen as  it  solves  your  reaction.  These
  333. indicate such things as the number of simultaneous nonlinear equations that it
  334. is solving, the iteration number, temperature, pressure,  and  heat  transfer.
  335. When  these  values  and  the  mole fractions of the reactants "level-out" the
  336. iterations will stop and the results will be listed.
  337.  
  338. You can enter as many temperatures and pressures as you like, then  hit  Enter
  339. to  return  to  the  constant  pressure/constant volume prompt. If you want to
  340. change the reactant mole fractions just hit Esc. To get back to the main  menu
  341. just hit Esc again.
  342.  
  343.                           _Using the Edit Features_
  344.  
  345. CREST also has a built-in full screen editor. You get into edit mode by making
  346. the appropriate selection from the main menu. The reaction can take up  to  50
  347. lines. Each line can hold no more than 78 characters making the maximum length
  348. reaction 3900 characters. You can make whatever changes you want then exit  to
  349. the  main  menu  by pressing F10. Use F1 to list the elements and compounds in
  350. the database. Any lines in the stack that begin with an asterisk (*)  will  be
  351. ignored as comments.
  352.  
  353.                              _Defining Reactions_
  354.  
  355. There  can only be one reaction;  but it can have many reactants and products.
  356. You can read a reaction from a file (try COAL) and save a reaction in  a  file
  357. (try MYREACT). You can have as many files containing reactions as you like.
  358.  
  359. The  reaction  is  defined by a group of elements and compounds followed by an
  360. equals (=) and another group of elements and compounds. The first group is the
  361. reactants and the second is the products.
  362.  
  363. The   mole  fractions  of  the  reactants  need  not  be  specified.  You  can
  364. interactively change this later. This is done  by  preceding  the  element  or
  365. compound with a number (which may be a decimal fraction). The mole fraction of
  366. the products must not be specified (determination of the mole fraction of  the
  367. products is the reason for running CREST in the first place).
  368.  
  369. One  of  the  important  applications  of  chemical equilibrium analysis is to
  370. determine  dissociation.  Usually  this  requires  specifying  each   of   the
  371. dissociation reactions separately. This is not necessary with CREST.
  372.  
  373. The  combustion  of  one  mole  of carbon (C) with 1.5 mole of diatomic oxygen
  374. (Odia), would result in carbon, oxygen (O), diatomic oxygen,  carbon  monoxide
  375. (Cmonox),  and  carbon  dioxide (Cdiox). This reaction could be represented in
  376. proper CREST syntax as:
  377.  
  378.           C+1.5Odia=C+O+Odia+Cmonox+Cdiox
  379.  
  380. There are actually several reactions represented by the above equation.  These
  381. are typically written as:
  382.  
  383.           C+Od<=>Cd+Od
  384.           Cd<=>C+Co+O
  385.           Co<=>C+O
  386.           Od<=>O
  387.  
  388. It  is  misleading  to represent each dissociation reaction separately because
  389. they occur simultaneously and  are  interrelated.  CREST  solves  all  of  the
  390. reactions  simultaneously to give you an accurate representation of the actual
  391. chemical processes. Because CREST does all of this automatically,  it  reduces
  392. your  chances  of  forgetting a crucial reaction as well as making the process
  393. much simpler than the classical approach.
  394.  
  395. An example of a more complex reaction would be the combustion of coal...
  396.  
  397.      Coal+6.3Air+.2Cacarbonate=Ar+H+C+Smonox+Sdiox+Hdia+Ndia+Odia+Water+
  398.       Nmonox+Ndiox+Coal+Cdiox+Hydroxl+N+O+S+Cacarbonate+Cahydroxide+
  399.       Casulfide+Casulfite+Casulfate
  400.  
  401.  
  402.                            _Non-Ideal Behavior_
  403.  
  404. CREST is able to treat the reacting substances differently depending  on  what
  405. you  tell  it  in  the  database  and  the  reaction  equation. There are five
  406. different groups of substances which can be specified in the database (more on
  407. databases  later).  These result in first order corrections to ideal behavior.
  408. The five groups are:
  409.  
  410.      1 = ideal gas             (Z=1.00, F=1.00)
  411.      2 = ideal gaseous ion     (Z=1.00, F=1.00)
  412.      3 = ideal aqueous ion     (Z=0.10, F=1.00)
  413.      4 = ideal liquid          (Z=0.10, F=1.00)
  414.      5 = ideal dispursed solid (Z=0.01, F=0.10)
  415.  
  416. where  Z is the compressibility and F is the activity coefficient.  Currently,
  417. Z and A are the same for groups 1&2 and 3&4, there may  be  a  distinction  in
  418. later versions.
  419.  
  420. Higher order correction can be specified by the !  operator. If a substance is
  421. followed  by  a !, then it will be treated as a real substance. In the example
  422. below, only CO and CO2 are treated as real (non-ideal) substances. All of  the
  423. rest will be treated as ideal gases.
  424.  
  425.      Methane + 2.5 Odia = O + Odia + H + Hdia + Ho + C + Cmonox! + Cdiox!
  426.  
  427. If a !  is found before the first reactant (as illustrated below), then all of
  428. the reactants will be treated as real substances.
  429.  
  430.      ! Methane + 2.5 Odia = O + Odia + H + Hdia + Ho + C + Cmonox! + Cdiox!
  431.  
  432. If a !  is found after the = and before  the  first  product  (as  illustrated
  433. below) then all of the products will be treated as real substances.
  434.  
  435.      ! Methane + 2.5 Odia = ! O + Odia + H + Hdia + Ho + C + Cmonox + Cdiox
  436.  
  437. Any  real  behavior  is  treated according to Redlich and Kwong's mixing rule.
  438. The temperature dependence of  compressibility  and  activity  coefficient  is
  439. computed  based  on a modification of the method described by Fuller, which is
  440. in turn an improvement upon Soave's modification to the Redlich-Kwong equation
  441. of state.
  442.  
  443. Because  of the versatility which CREST offers in being able to select the way
  444. in which to treat each substance, it can be a powerful tool  in  learning  how
  445. reactions  will  occur  and  what  difference the assumption of ideal behavior
  446. makes in equilibrium calculations.
  447.  
  448.  
  449.                           _INTERPRETING THE OUTPUT_
  450.  
  451. CREST computes several quantities, among  these  are:  temperature,  pressure,
  452. internal  energy,  enthalpy,  entropy,  Gibbs  free  energy,  heat (or energy)
  453. transfer, number of moles, and mole fraction.
  454.  
  455. Temperature is in degrees Rankine or degrees Kelvin. Standard  temperature  is
  456. 537R or 237K.
  457.  
  458. Pressure is in psia (pounds per square inch absolute) or atmospheres. Standard
  459. atmospheric pressure is 14.696 psia or 1 atm.
  460.  
  461. Internal energy is in BTU/lb-mole or Joules/gm-mole.
  462.  
  463. Enthalpy is in BTU/lb-mole or Joules/gm-mole and is the internal  energy  plus
  464. PV or ZRT. The enthalpy listed includes the enthalpy of formation.
  465.  
  466. For  ideal gases the difference between U/RTo and H/RTo will be one. For ideal
  467. liquids and solids these will be essentially the same.
  468.  
  469. Entropy is in BTU/lb-mole/R or Joules/gm-mole/K and is referenced to  absolute
  470. zero  as  required by the Third Law of Thermodynamics. Occasionally CREST will
  471. compute a negative entropy. Absolute entropy can never be negative. This is  a
  472. problem  that arises from having a relationship for specific heat which is not
  473. accurate over the range of temperatures.
  474.  
  475. The Gibbs and Helmholtz free energies are defined by:
  476.  
  477.           G = H - TS   or   G/RTo = H/RTo - TS/RTo
  478.           A = U - TS   or   A/RTo = U/RTo - TS/RTo
  479.  
  480. and is a measure of the available  or  useful  energy  (although  not  a  true
  481. measure  as  is  availability).  These  have  the  same units and reference as
  482. enthalpy and internal energy.
  483.  
  484. Heat (or energy) transfer is defined as being to or from the reactants. It  is
  485. important  to  understand  the  concept of a system boundary as defined in the
  486. thermodynamic sense. Here the system is the reactants and the surroundings  is
  487. everything  else.  In a furnace for example, the furnace itself is not part of
  488. the system. Only the coal and air are in the system.  Positive  heat  transfer
  489. would  be  energy added to the coal and air from the surroundings and negative
  490. heat transfer would be heat removed from the coal and air to the surroundings.
  491. Heat transfer has the units of BTU or Joules.
  492.  
  493.  
  494.                       _DEFINING ELEMENTS AND COMPOUNDS_
  495.  
  496. Any elements or compounds referenced in the reactions you intend to solve must
  497. be in the database file before running the program. I  have  supplied  two  in
  498. order to get you started. You may want to add more.
  499.  
  500. You  must have an editor of some type in order to make changes in the database
  501. file. If you are going to use a word processor (e.g. PC-WRITE or  WordPerfect)
  502. be sure to treat the file as ASCII.
  503.  
  504. When  reading  this next section it will be helpful to refer to the listing of
  505. CREST.GAS found in Appendix and CREST.AQU found in an Appendix.
  506.  
  507. CREST allows you to define elements and compounds. Elements can't be  composed
  508. of  anything  else  whereas  compounds  must  be  composed  of elements. It is
  509. necessary  to  distinguish  between  the  two  in  order  to   determine   the
  510. conservation  equations.  Elements and compounds are identified by syntax. The
  511. order in which you define them doesn't matter;  but the syntax is critical.
  512.  
  513.                              _Defining Elements_
  514.  
  515. CREST allows you to define  your  own  elements  or  isotopes.  Each  must  be
  516. identified  by a unique 12-character symbol. The first character of the symbol
  517. must be an upper case letter (A-Z) and the  rest  can  either  be  lower  case
  518. letters (a-z), or blanks (e.g. H, He, N, Na, Calcium), or one of the following
  519. #$%&:;@^`{|}~ (H#, Ca~, Na^). You cannot use numbers or parentheses  (e.g.  H2
  520. and  H(2)  are  not  permissible).  You  should  note  that hydrogen (H) is an
  521. element;  but diatomic hydrogen (H) is a compound  composed  of  two  hydrogen
  522. atoms.  In  order to reference diatomic hydrogen in a reaction you must define
  523. the element hydrogen (H) AND the compound diatomic hydrogen (Hdia). Note  that
  524. H2 for diatomic hydrogen or OH for hydroxyl is not permissible.
  525.  
  526. Following  the  symbol  defining  an,  element  you must specify nine numbers.
  527. These are to be in standard free format.  That is, they can be in  any  column
  528. and  can have mixed floating-point, integer, and exponential notation.  Again,
  529. see the appendix for examples.
  530.  
  531. The first of these numbers is the enthalpy of formation in BTU/lb-mole.   Most
  532. often  the  enthalpy  of formation is given in kilocalories per gram-mole (why
  533. not kilogram-mole I have no idea).  To  convert  to  BTU/lb-mole  multiply  by
  534. 1800.   Note  that the enthalpy of formation of elements is zero by definition
  535. (except diatomic gases).
  536.  
  537. The next number following the enthalpy of formation  is  the  entropy  at  STP
  538. (standard  temperature  and pressure which is 537R/237K and 14.696 psia/1atm).
  539. This must  have  the  units  of  BTU/lb-mole/R.   This  is  usually  given  in
  540. gram-calories  per  degree C per gram-mole.  No conversion is required in this
  541. case.
  542.  
  543. The next three numbers define the constant  pressure  specific  heat  (Cp)  in
  544. BTU/lb-mole/R.   This  is  usually  given  in  gram-calories  per degree C per
  545. gram-mole.  This also requires no conversion.  Cp is defined by the  following
  546. equation:
  547.  
  548.           Cp = C1 + C2*T + C3*T*T
  549.  
  550. For  constant  specific  heat  C2  and C3 are set to zero.  If Cp is given for
  551. various temperatures, you must first curve-fit the data in order to  determine
  552. the constants in the above equation.
  553.  
  554. The  next  number  must be an integer between 1 and 5 indicating the substance
  555. groups listed in the previous section on Non-Ideal Behavior.
  556.  
  557. The next two numbers are the critical temperature  (degrees  R)  and  pressure
  558. (psia).  If you don't know the correct values, set it to and CREST will use an
  559. empirical formula to estimate these properties.
  560.  
  561. The last number is the molecular weight.
  562.  
  563.                              _Defining Compounds_
  564.  
  565. CREST allows you to define your own compounds. Just as for elements, each must
  566. be  identified  by  a  unique  12-character symbol. The elements composing the
  567. compound must follow immediately and be set off by  square  brackets  [].  The
  568. number  of  moles  of  each  element per mole of the compound must follow each
  569. element (viz. H2O2 for two hydrogen and two oxygen). These can be free  format
  570. real  numbers  and  there  can  be  any number of spaces. Elements can also be
  571. repeated (e.g. OHOH will be interpreted the same as H2O2).  You  might  define
  572. coal using the following symbols:
  573.  
  574.           Coal[C.2H.75S.05]
  575.  
  576. This  would  be  Coal  means coal and it is composed of 20% C, 75% H, and 5% S
  577. (mole fraction). COAL[etc.] is not permissible because  there  is  no  way  of
  578. distinguishing this from 1 mole each of C, O, A, and L.
  579.  
  580. Carbon monoxide as a compound could be defined as:
  581.  
  582.           Cmonox[CO]
  583.  
  584. MEK (methyl-ethyl-ketone) could be defined by any of the following:
  585.  
  586.           Mek[CH3 CO C2H5]
  587.           Mek[CHHHCOCCHHHHH]
  588.           Mek[C4H8O]
  589.  
  590. All are equivalent in CREST syntax.
  591.  
  592. The enthalpy of formation, entropy at STP, specific heat, substance group  and
  593. critical  properties  follow as with the elements.  No molecular weight should
  594. be specified  for  compounds  as  this  is  computed  based  on  the  elements
  595. comprising the compound.
  596.  
  597.  
  598.                       _CREATING A PLOT OF MOLE FRACTION_
  599.  
  600. CREST  will  create several files in order to assist you in creating a plot of
  601. mole fraction as a function of temperature. These files are designed  for  use
  602. with my plot program TPLOT. CREST will run TPLOT for you and display the plots
  603. if TPLOT.EXE can be found in the current  directory  or  along  the  path.  If
  604. HPGL2PRN.COM  is  in  the current directory or along the path, then CREST will
  605. also use it to convert plots created by TPLOT to dot matrix or LaserJet  form.
  606.  
  607. CREST  will  also  let you edit the plot command file CREST.PLT if there is an
  608. ASCII editor in the current directory or along the  path  named  EDITP.EXE  or
  609. EDITP.COM (you must supply your own editor).
  610.  
  611. CREST  creates  a plot command file named CREST.PLT and at least one data file
  612. containing the results of the equilibrium calculations. These files are  named
  613. CREST0.OUT  through  CREST8.OUT. The reason for creating more than one file is
  614. because TPLOT (and most other programs for that matter)  can  only  read  some
  615. maximum  number  of  columns  (for TPLOT this is 200 characters). Because each
  616. product requires a space and 12 characters for the name or  mole  fraction  in
  617. exponential  notation,  it  is  necessary to break this up into several files,
  618. each with no more than 15 products.
  619.  
  620. CREST by default removes the plot output files when it is  finished.   If  you
  621. want  to  keep  them,  then  set  an  environment variable using the following
  622. command at the DOS prompt:
  623.  
  624.      SET CREST=O
  625.  
  626. Remember  that  unless you rename the output files, should you run CREST again
  627. these will be overwritten.
  628. .pa
  629.                                   REFERENCES
  630.  
  631. Abbott, M. M., 1973, "Cubic Equations of State," _AIChE Journal_ (19:596-601).
  632.  
  633. Benton,  D.  J.,  1987, "FEAST: Fast Estimation of Thermodynamic and Transport
  634. Properties,"  a  computer  code  available  on  the  ASME/CIME   Bulletinboard
  635. (608)233-3378.
  636.  
  637. Benton,  D.  J.,  1988, "CREST: Chemical Reactions and Equilibrium Statistical
  638. Thermodynamics," loc. cit.
  639.  
  640. Benton, D. J., 1991, "Applications of a Hybrid Derivative-Free  Algorithm  for
  641. Locating Extrema," SIAM-SEAS, Cullowhee, NC.
  642.  
  643. Benton,  D.  J.,  1991,  "Solution  of  Complex  Thermochemical  Equilibria in
  644. Symbolic Form," Proceedings of the ASME WAM.
  645.  
  646. Chung, W. K., S. E. M. Hamam, and B. C.-Y. Lu,  1977,  Letter  to  the  Editor
  647. regarding paper by Fuller (1976), op. cit. 16:494-495.
  648.  
  649. Cruise,  D. R., 1964, "Notes on the Rapid Computation of Chemical Equilibria,"
  650. _Journal of Physical Chemistry_ (68:3797-3802).
  651.  
  652. Fletcher, R., 1987, _Practical Methods of Optimization_, John  Wiley  and  Sons,
  653. New York, NY.
  654.  
  655. Fuller, G. G., 1976, "A Modified Redlich-Kwong-Soave Equation of State Capable
  656. of Representing the Liquid State," _Ind. Eng. Chem. Fund._, 15:254-257.
  657.  
  658. Liu, Y., M. Wimby, and U.  Gren,  1989,  "An  Activity-Coefficient  Model  for
  659. Electrolyte Systems," _Computers in Chemical Engineering_ (13:405-410).
  660.  
  661. More,  J. J. and D. C. Sorensen, 1984, "Newton's Method," _Studies in Numerical_
  662. _Analysis_, G. H. Golub, ed.,  The  Mathematical  Association  of  America,  pp.
  663. 29-82.
  664.  
  665. Ortega,  J.  M.  and  W.  C. Rheinboldt, 1970, _Iterative Solution of Nonlinear_
  666. _Equations in Several Variables_, Academic Press, New York.
  667.  
  668. Pierce,  F.  J.,  1968,  _Microscopic  Thermodynamics_,  International  Textbook
  669. Company, Scranton, Pennsylvania.
  670.  
  671. Powell,  M.  J.  D.,  1977,  "Restart  Procedures  for  the Conjugate Gradient
  672. Method," _Mathematical Programming_, Vol. 12, pp. 241-254.
  673.  
  674. Prausnitz,  J.  M., 1969, _Molecular Thermodynamics of Fluid-Phase Equilibrium_,
  675. Prentice-Hall, Englewood Cliffs, New Jersey.
  676.  
  677. Redlich,  O.  and  J. N. S. Kwong, 1949, "On the Thermodynamics of Solutions,"
  678. _Chemical Review_ (44:233-244).
  679.  
  680. Smith, W. R. and R. W. Missen, 1982, _Chemical Reaction  Equilibrium  Analysis:_
  681. _Theory and Algorithms_, John Wiley and Sons, New York.
  682.  
  683. Stadler, H. P., 1989, _Chemical Thermodynamics_, The Royal Society of Chemistry,
  684. Cambridge, U.K. (available in the U.S. through CRC Press).
  685.  
  686. van  Wylen,  G.  J.  and  R.  E.  Sonntag,  1973,  _Fundamentals  of  Classical_
  687. _Thermodynamics_, John Wiley and Sons, New York.
  688.  
  689. Wagner,   H.   M.,   1975,   _Principles   of  Operations  Research_,  2nd  Ed.,
  690. Prentice-Hall, Englewood Cliffs, New Jersey.
  691.  
  692. White, W. B., S. M. Johnson, and G. B. Dantzig, 1958, "Chemical Equilibrium in
  693. Complex Mixtures," _Journal of Chemical Physics_ (28:751-755).
  694.  
  695. Wylie, C. R., 1975, _Advanced Engineering Mathematics_,  4th  Ed.,  McGraw-Hill,
  696. New York.
  697. .pa
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.                                   APPENDIX 1
  718.  
  719.                           LISTING OF ERROR MESSAGES
  720. .pa
  721. ERROR#1: read error
  722.   You may have typed something in wrong, file is corrupt, or any other problem
  723.   which would result in a file read error.
  724.  
  725. ERROR#2: syntax error
  726.   This  may  be  due  to  incorrect  characters, use of parentheses, misplaced
  727.   +,=,[,] sign etc. A syntax error will  also  occur  if  something  like  the
  728.   following is found: "++", "+!", or "2!H".
  729.  
  730. ERROR#3: reaction has only one reactant and only one product
  731.   There isn't a reaction to solve.
  732.  
  733. ERROR#4: element does not appear on both sides of reaction
  734.   This  error occurs if an element appears on the left side of a reaction then
  735.   it must also appear on the right side and vise versa.
  736.  
  737. ERROR#5: reaction has no products
  738.   This can be due to a missing "=" sign or nothing on the right hand  side  of
  739.   the reaction.
  740.  
  741. ERROR#6: unexpected EOF (end of file)
  742.   CREST  was looking for something else and didn't find it before encountering
  743.   the end of data. Sometimes this error occurs when your reaction has  no  "="
  744.   sign in it or you have not specified a reaction.
  745.  
  746. ERROR#7: too many elements (max=24)
  747.  
  748. ERROR#8: redundant reactant/product
  749.   The more than one occurrence of the same substance was  found  on  the  same
  750.   side of the reaction, for example Air+Coal+Air=etc...
  751.  
  752. ERROR#9: too many compounds (max=128)
  753.  
  754. ERROR#10: reaction has no reactants
  755.   This can be due to an extra "=" sign or nothing on the left hand side of the
  756.   reaction.
  757.  
  758. ERROR#11: undefined substance
  759.   Every substance in the reaction must appear in the  database  as  either  an
  760.   element or a compound.
  761.  
  762. ERROR#12: unable to access database
  763.   This  can  be  due  to  it  not  existing  (e.g., you spelled it wrong), not
  764.   accessible  (e.g.,  hidden  or  locked),  too  many  files,  or  bad   PATH=
  765.   environment variable.
  766.  
  767. ERROR#13: compound contains no elements
  768.   Each  compound name in the database must be followed with the elements which
  769.   comprise the compound. These must be contained within brackets [].
  770.  
  771. ERROR#14: undefined mole fraction
  772.   You may have improper syntax resulting in CREST interpreting a  negative  or
  773.   zero mole fraction.
  774.  
  775. ERROR#15: unable to access data file
  776.   Either  the file does not exist, you typed the name in wrong, the disk drive
  777.   is down, or the file is read protected.
  778.  
  779. ERROR#16: reaction equations unstable
  780.   This may be due to an "ill posed" reaction, extreme temperature or  pressure
  781.   limits, or unreasonable specific heats.
  782.  
  783. ERROR#17: illegal file name
  784.   You  cannot  use spool or reaction filenames that begin with either CREST or
  785.   TPLOT. You can use data files that begin with either. In any case, never use
  786.   a  filename  of  TPLOT.OUT  as  this  will  be  destroyed  by  any  graphics
  787.   operations.
  788.  
  789. ERROR#18: compound contains too many elements (max=12)
  790.  
  791. ERROR#19: reaction contains too many reactants (max=128)
  792.  
  793. ERROR#20: reaction contains too many products (max=128)
  794.  
  795. ERROR#21: break detected
  796.   You must have hit a key while processing was in progress.
  797.  
  798. ERROR#22: reaction contains no elements
  799.  
  800. ERROR#23: reaction contains no compounds
  801.  
  802. ERROR#24: more than 128 simultaneous equations
  803.   The total number of simultaneous equations that must be solved in  order  to
  804.   determine  equilibrium is equal to the number of elements plus the number of
  805.   products. The number of elements adds to this total;   because  conservation
  806.   of these constitutes linear constraints which are implemented using Lagrange
  807.   multipliers. A 128x128 matrix of  single  precision  (REAL*4)  variables  is
  808.   accessible  through  large  memory  addressing.  Anything  bigger  than this
  809.   requires huge memory addressing  and  greatly  increases  the  overhead  and
  810.   subsequent  runtime.  For this reason, I don't even make this an option. You
  811.   will just have to make do with 128.
  812.  
  813. ERROR#25: unable to open plot data file CREST.OUT
  814.  
  815. ERROR#26: write error involving plot data file CREST.OUT
  816.  
  817. ERROR#27: unable to open plot command file CREST.PLT
  818.  
  819. ERROR#28: write error involving plot command file CREST.PLT
  820.  
  821. ERROR#29: illegal video mode... may be a hardware incompatibility
  822.   Your CRT should be in CGA or monochrome mode depending on the hardware.  Try
  823.   setting  the mode to "MODE CO80" if it is a CGA. If you have a CGA plasma or
  824.   LCD display and can't tell the highlighted or color lines from  each  other,
  825.   then try setting it to "MODE BW80".
  826.  
  827. ERROR#30: insufficient available memory
  828.   In  order  to solve the equations it is necessary to allocate a considerable
  829.   amount of memory. Your machine does not have sufficient available memory  to
  830.   process  the  request.  Either  solve  a  smaller  reaction  or find another
  831.   machine.
  832.  
  833. ERROR#31: substance element/compound ambiguity
  834.   This error will occur if a substance which appears in the reaction is  found
  835.   in  the  database as a compound and appears in itself or some other compound
  836.   as an element.
  837.  
  838. ERROR#32: undefined state code
  839.  The state code must be 0-5 which indicates respectively the following states:
  840.  unknown,  gas,  gaseous  ion,  aqueous ion, liquid, or dispersed solid. CREST
  841.  does  not  handle  precipitated  solids  which  have  a  vanishing   activity
  842.  coefficient.
  843. .pa
  844. .pn 0
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.                                   APPENDIX 2
  865.  
  866.                         LISTING OF DATA FILE CREST.GAS
  867. .pa
  868. .de
  869. .ad CREST.GAS
  870. .ee
  871. .pa
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.                                   APPENDIX 3
  892.  
  893.                         LISTING OF DATA FILE CREST.AQU
  894. .pa
  895. .de
  896. .ad CREST.AQU
  897. .ee
  898. .pa
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.                                   APPENDIX 4
  919.  
  920.                             SAMPLE PROGRAM OUTPUT
  921. .pa
  922. CREST/V5.00: Chemical Reactions and Equilibrium developed by Dudley J. Benton
  923.              TVA Engineering Lab, Drawer E, Norris, TN, 37828 (615)632-1887
  924.  
  925. G.... Gibbs free energy [BTU/lb-mole]        H.... enthalpy [BTU/lb-mole]
  926. S.... entropy [BTU/lb-mole/R]                Q.... heat transfer [BTU]
  927. R.... gas constant [BTU/lb-mole/R]
  928. Po... reference pressure [14.7 psia]         To... reference temperature [537R]
  929. Pr... pressure of reactants [psia]           Tr... temperature of reactants [R]
  930. Pp... pressure of products [psia]            Tp... temperature of products [R]
  931. F.... activity coefficient                   Z.... compressibility (Z=PV/RT)
  932. Y.... number of moles                        X.... mole fraction (X=Y/Ytotal)
  933.  
  934. Date: 08/10/91  Time: 2112     database: CREST.AQU        reaction: CEMENT.REA  
  935.  
  936. *********************************** REACTION ***********************************
  937. * aqueous reactions with cement and asbestos - use with database CREST.AQU
  938. *
  939.    1000Water .5Cdiox .00001Odia .1Tricaaloxide .1Casilicateb .1Cawollastoni
  940.                      .1Mgchrysotile .005Ca^^ .01Clmonox~
  941.                                       =
  942.      Water Cldia Cdiox Hdia Odia Algibbsite Tricaaloxide Calcite Caoxide
  943. Casilicateb Cawollastoni Mghydroxide Mgchrysotile Sioquartz H^ Al^^^ Ca^^ Oh~
  944.                     Cl~ Clmonox~ Ctriox~~ Hcarbonate~ Mg^^
  945. ********************************************************************************
  946.  
  947. solving reaction
  948.  
  949. elements=8, products=23, equations=31
  950.  
  951. iterations=164, seconds=35, dY=0.0001, dE=0.0001
  952.  
  953. Tr=580, Pr=14.7, Tp=580, Pp=14.7, Q/RTo=-33  (Isobaric)
  954.  
  955. substance    state       Y        X       Z     F       H/RTo     S/R      G/RTo
  956. --------------------------------------------------------------------------------
  957. Water         lqd1000.0000000 0.9990859  0.10  1.00    -114.5     9.11    -124.4
  958. Cdiox         gas   0.5000000 0.0004995  1.00  1.00    -158.3    33.67    -194.6
  959. Odia          gas   0.0000100 0.0000000  1.00  1.00       0.3    43.36     -46.5
  960. Tricaaloxide  sol   0.1000000 0.0000999  0.01  0.10   -1444.5    27.63   -1474.4
  961. Casilicateb   sol   0.1000000 0.0000999  0.01  0.10    -929.1    17.48    -948.0
  962. Cawollastoni  sol   0.1000000 0.0000999  0.01  0.10    -658.4    11.57    -670.9
  963. Mgchrysotile  sol   0.1000000 0.0000999  0.01  0.10   -1757.5    30.08   -1790.0
  964. Ca^^          aqu   0.0050000 0.0000050  0.10  1.00    -218.9     5.82    -225.1
  965. Clmonox~      aqu   0.0100000 0.0000100  0.10  1.00     -43.2    16.55     -61.1
  966. --------------------------------------------------------------------------------
  967. reactants        1000.9149170 1.0000000  0.10  1.00 -115077.9  9133.90 -124943.2
  968. ================================================================================
  969. Water         lqd 999.5754395 0.9987319  0.10  1.00    -114.5     9.11    -124.4
  970. Cldia         gas   0.0000000 0.0000000  1.00  1.00       0.3    61.67     -66.3
  971. Cdiox         gas   0.0003200 0.0000003  1.00  1.00    -158.3    41.03    -202.6
  972. Hdia          gas   0.0000000 0.0000000  1.00  1.00       0.3    44.79     -48.1
  973. Odia          gas   0.0000000 0.0000000  1.00  1.00       0.3    59.48     -64.0
  974. Algibbsite    sol   0.0999931 0.0000999  0.01  0.10   -1031.5    19.51   -1052.5
  975. Tricaaloxide  sol   0.0000000 0.0000000  0.01  0.10   -1444.5    30.16   -1477.1
  976. Calcite       sol   0.4803705 0.0004800  0.01  0.10    -485.8    12.70    -499.5
  977. Caoxide       sol   0.0000000 0.0000000  0.01  0.10    -255.7     8.44    -264.8
  978. Casilicateb   sol   0.0000000 0.0000000  0.01  0.10    -929.1    20.01    -950.7
  979. Cawollastoni  sol   0.0001326 0.0000001  0.01  0.10    -658.4    12.23    -671.6
  980. Mghydroxide   sol   0.0000000 0.0000000  0.01  0.10    -372.1    11.77    -384.8
  981. Mgchrysotile  sol   0.0999777 0.0000999  0.01  0.10   -1757.5    30.08   -1790.0
  982. Sioquartz     sol   0.1999004 0.0001997  0.01  0.10    -366.9     6.30    -373.7
  983. H^            aqu   0.0000002 0.0000000  0.10  1.00       0.0    22.27     -24.1
  984. Al^^^         aqu   0.0000000 0.0000000  0.10  1.00    -214.2    -4.16    -209.7
  985. Ca^^          aqu   0.1245045 0.0001244  0.10  1.00    -218.9     2.60    -221.7
  986. Oh~           aqu   0.2347642 0.0002346  0.10  1.00     -94.2     5.69    -100.3
  987. Cl~           aqu   0.0100000 0.0000100  0.10  1.00     -67.4    18.31     -87.2
  988. Clmonox~      aqu   0.0000000 0.0000000  0.10  1.00     -43.2    39.57     -85.9
  989. Ctriox~~      aqu   0.0048516 0.0000048  0.10  1.00    -273.0     5.39    -278.8
  990. Hcarbonate~   aqu   0.0144703 0.0000145  0.10  1.00    -279.0    22.12    -302.9
  991. Mg^^          aqu   0.0000700 0.0000001  0.10  1.00    -188.2    -0.13    -188.1
  992. --------------------------------------------------------------------------------
  993. products         1000.8446655 1.0000000  0.10  1.00 -115110.8  9119.19 -124960.2
  994. --------------------------------------------------------------------------------
  995. difference         -0.0702515 0.0000000 -0.00 -0.00     -32.9   -14.70     -17.0
  996. .pa
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.                                   APPENDIX 5
  1017.  
  1018.                                PROGRAM OXMOLES
  1019.  
  1020.                (COMPUTES COMBUSTION PRODUCTS VS. MOLES OXYGEN)
  1021. .pa
  1022. .de
  1023. .ad OXMOLES.C
  1024. .ee
  1025. .pa
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.                                   APPENDIX 6
  1046.  
  1047.                                PROGRAM FINDENTH
  1048.  
  1049.               (COMPUTES ENTHALPY OF COMBUSTION PRODUCTS VS. T)
  1050. .pa
  1051. .de
  1052. .ad FINDENTH.C
  1053. .ee
  1054. .pa
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.                                   APPENDIX 7
  1075.  
  1076.            SAMPLE PLOTS OF COMPUTED MOLE FRACTION VS. TEMPERATURE
  1077.