Packaged Command Line Interface

From a single jar from GitHub version

GitHub Releases

Under the Github releases is a reduced command line version of the JThermodynamics system. The command line system is packed into a single JAVA jar. This jar is used with parameters to access the JThermodynamics system (without a GUI). It is meant to be more platform dependent and slightly easier to install.

Prerequisites

Unfortunately, this packaged form is not independent of some external software packages:

  • JAVA: The platform independent language that JThermodynamics is written. Instructions for installation on any machine type, from Linux, to MacOS to Windows, can be found on the JAVA site.
  • MySQL: This is the database that the JThermodynamics system is based on. This section tells how to get it up and running. The installation not involves setting up a mysql server on your machine, but also importing the JThermodynamics database.

Files to Download

In the Github releases there are three files to download. All should be downloaded in the same directory:


Installation

When you have installed JAVA package and the mySQL server, the installation of the JThermodynamics system consists of the following step. The files needed are found in the GitHub releases:

  • Database Setup: Download and read in the JThermodynamics_20110706.sql file into the mySQL database you set up.
  • Parameter Setup: Download and modify the Jthermodyanmics.properties file
  • JAVA jar: Download the JThermodynamics jar file and run

MySQL Database Setup

Full instructions for setting up the JThermodynamics database can be found in this section under Setting up the JThermodynamics database. The setup basicallly consists of:

  • Downloading the JThermodynamics_XXXXXXXX.sql file
  • Creating the thermodynamics database
  • Loading in the .sql file into the database

One way to do this is with line commands at the terminal. First, get into the mysql client:

mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 83
Server version: 5.7.18 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

At the mysql prompt, perform the following commands:

CREATE thermodynamics;
USE thermodynamics;
SOURCE JThermodynamics_20110706.sql;

You can check whether the database has been created by:

SHOW DATABASES;

The output should be something like this:

+--------------------+
| Database           |
+--------------------+
| thermodynamics     |
+--------------------+

You can test whether the JThermodynamic tables are there by typing:

SHOW TABLES;
+-------------------------+
| Tables_in_mine          |
+-------------------------+
| Administration          |
| AtomCounts              |
| AuthorTag               |
| BondLength              |
| CMLStructures           |
| CalculationTable        |
| DatabaseMolecule        |
| DisassociationEnergy    |
| GroupElement            |
| GroupStandardEnthalpy   |
| GroupStandardEntropy    |
| HeatCapacityElement     |
| MetaAtomInfo            |
| Molecule                |
| NameListSet             |
| ReferenceTag            |
| SourceTag               |
| StructureAtom           |
| StructureBond           |
| StructureType           |
| SymmetryDefinition      |
| SymmetryPairAssignments |
| Vectors                 |
| VibrationalStructures   |
+-------------------------+
24 rows in set (0.00 sec)


Parameter Setup

You may need to modify may parameters in the Jthermodyanmics.properties file. First is the connector to the mySQL database:

thermo.database.connection=jdbc:mysql://localhost:3306/thermodynamics
  • If the database is on another host, you would replace 'localhost' with the IP of where the database is running.
  • 3306 is the default port of a mySQL installation.
  • 'thermodynamics' is the name I use for the JThermodynamic information (where you read in the SQL file)

The other line you may have to modify is:

thermo.database.dbpassword=password

Replace 'password' with the root password you gave when you installed the mySQL database.

Running with the jar file

The java command looks like this:

       java -jar JThermodynamicData-1.0-jar-with-dependencies.jar <commands>

where are the input parameters

Typing just:

java -jar JThermodynamicData-1.0-jar-with-dependencies.jar

will give a hint as to the input.

For example, to calculate the thermodynamics of 1-propyl radical:

java -jar JThermodynamicData-1.0-jar-with-dependencies.jar MOLECULE 'ch3/ch3/ch2(.)' '1-propyl'

The end of the output (there might be some intermediate output) has three parts:

  • The list of parts making up how the final result was calculated. It is important to look at this to make sure all the corrections you were expecting.
  • The total correction in Benson format
  • The total correction in NASA polynomial format

The output looks something like this:

-------------- Corrections --------------
BensonThermodynamicBase(c-(h)/3-(c)):  H298:-10.098  S298:30.423  Reference:'Standard'  [500.0, 9.4]  [600.0, 10.79]  [1000.0, 14.77]  [800.0, 13.02]  [300.0, 6.15]  [400.0, 7.84]  [1500.0, 17.58]
BensonThermodynamicBase(c-(h)/2-(c)/2):  H298:-4.93  S298:9.357  Reference:'Standard'  [1000.0, 12.34]  [500.0, 8.25]  [1500.0, 14.25]  [300.0, 5.47]  [400.0, 6.95]  [600.0, 9.35]  [800.0, 11.07]
BensonThermodynamicBase(c-(h)/3-(c)):  H298:-10.098  S298:30.423  Reference:'Standard'  [600.0, 10.79]  [400.0, 7.84]  [1000.0, 14.77]  [800.0, 13.02]  [500.0, 9.4]  [1500.0, 17.58]  [300.0, 6.15]
BensonThermodynamicBase:  H298:0.0  S298:-4.363418960440238  Reference:'InternalSymmetry(9)'
BensonThermodynamicBase:  H298:0.0  S298:-1.3765054247197919  Reference:'ExternalSymmetry-C(B1)(B1)(B2)(B2)'
BensonThermodynamicBase:  H298:131.0  S298:0.0  Reference:'Disassociation Energy From: c///ch'
BensonThermodynamicBase:  H298:0.0  S298:1.3765054247197919  Reference:'Spin Contribution: Rln(2) = (1.98587755)*(0.6931471805599453)'
BensonThermodynamicBase:  H298:-52.1  S298:0.0  Reference:'Hydrogen Radical'
BensonThermodynamicBase:  H298:0.0  S298:1.9085130337993101  Reference:'Correction:  CCH(tw)-Bend: 1150.0   Count=8.0'  [300.0, 1.9547962246106307]  [400.0, 4.477191661529886]  [500.0, 6.840457627309437]  [1000.0, 12.704810473646875]  [1500.0, 14.367181485654925]  [600.0, 8.729697075939983]  [800.0, 11.250073308762051]
BensonThermodynamicBase:  H298:0.0  S298:3.3074134532289152  Reference:'Correction:  CHH-SecondaryBend: 700.0   Count=-4.0'  [800.0, 6.971028404765653]  [500.0, 5.722755025878192]  [400.0, 4.800094877835307]  [300.0, 3.3432485718878415]  [600.0, 6.31199475271108]  [1500.0, 7.651210559543411]  [1000.0, 7.3037568746643045]
BensonThermodynamicBase:  H298:0.0  S298:4.1726964407651907E-4  Reference:'Correction:  C.H-Stretch: 3100.0   Count=3.0'  [600.0, 0.1939004897244822]  [400.0, 0.010560586889450331]  [800.0, 0.705118184779108]  [1000.0, 1.3992406665771298]  [1500.0, 2.9877447214442086]  [500.0, 0.06299646096503521]  [300.0, 4.5496500430436296E-4]
BensonThermodynamicBase:  H298:0.0  S298:0.3754828434500743  Reference:'Correction:  C.C-Stretch: 1000.0   Count=1.0'  [500.0, 1.0378852774581537]  [600.0, 1.255078703887745]  [1000.0, 1.6755681091408947]  [800.0, 1.526530286198852]  [1500.0, 1.8401410921863695]  [300.0, 0.38282410149983986]  [400.0, 0.7432940986689677]
BensonThermodynamicBase:  H298:0.0  S298:4.1726964407651907E-4  Reference:'Correction:  CH-Stretch: 3100.0   Count=3.0'  [600.0, 0.1939004897244822]  [1500.0, 2.9877447214442086]  [400.0, 0.010560586889450331]  [800.0, 0.705118184779108]  [1000.0, 1.3992406665771298]  [500.0, 0.06299646096503521]  [300.0, 4.5496500430436296E-4]
BensonThermodynamicBase:  H298:0.0  S298:0.3754828434500743  Reference:'Correction:  CC-Stretch: 1000.0   Count=1.0'  [300.0, 0.38282410149983986]  [400.0, 0.7432940986689677]  [600.0, 1.255078703887745]  [1500.0, 1.8401410921863695]  [800.0, 1.526530286198852]  [500.0, 1.0378852774581537]  [1000.0, 1.6755681091408947]
BensonThermodynamicBase:  H298:0.0  S298:3.3074134532289152  Reference:'Correction:  CCH-SecondaryBend(op): 700.0   Count=4.0'  [500.0, 5.722755025878192]  [400.0, 4.800094877835307]  [1000.0, 7.3037568746643045]  [600.0, 6.31199475271108]  [300.0, 3.3432485718878415]  [1500.0, 7.651210559543411]  [800.0, 6.971028404765653]
BensonThermodynamicBase:  H298:0.0  S298:0.9542565168996551  Reference:'Correction:  CCH-SecondaryBend: 1150.0   Count=4.0'  [1500.0, 7.183590742827462]  [400.0, 2.238595830764943]  [500.0, 3.4202288136547185]  [300.0, 0.9773981123053154]  [600.0, 4.3648485379699915]  [1000.0, 6.352405236823437]  [800.0, 5.6250366543810255]
BensonThermodynamicBase:  H298:0.0  S298:0.3538766650631874  Reference:'Correction:  CCH-SecondaryBend(rk): 1450.0   Count=-4.0'  [400.0, 1.1831662117394728]  [800.0, 4.635818372667078]  [1500.0, 6.77617782650123]  [1000.0, 5.592341289094274]  [500.0, 2.194646500422028]  [600.0, 3.155048060658377]  [300.0, 0.3659031168955553]
BensonThermodynamicBase:  H298:0.0  S298:0.23856412922491377  Reference:'Correction:  CCH-SecondaryBend(tw): 1150.0   Count=-2.0'  [300.0, 0.24434952807632884]  [400.0, 0.5596489576912358]  [1500.0, 1.7958976857068656]  [1000.0, 1.5881013092058593]  [500.0, 0.8550572034136796]  [600.0, 1.0912121344924979]  [800.0, 1.4062591635952564]
BensonThermodynamicBase:  H298:0.0  S298:1.9085130337993101  Reference:'Correction:  CCH(rk)-Bend: 1150.0   Count=-8.0'  [300.0, 1.9547962246106307]  [400.0, 4.477191661529886]  [1500.0, 14.367181485654925]  [800.0, 11.250073308762051]  [500.0, 6.840457627309437]  [600.0, 8.729697075939983]  [1000.0, 12.704810473646875]
BensonThermodynamicBase:  H298:0.0  S298:0.7077533301263748  Reference:'Correction:  CHH-Bend: 1450.0   Count=-8.0'  [600.0, 6.310096121316754]  [800.0, 9.271636745334156]  [300.0, 0.7318062337911106]  [1000.0, 11.184682578188548]  [500.0, 4.389293000844056]  [400.0, 2.3663324234789456]  [1500.0, 13.55235565300246]
BensonThermodynamicBase:  H298:-0.0  S298:2.181709480220119  Reference:'InternalSymmetry(3)'

-------------- Total --------------
BensonThermodynamicBase(Total):  H298:53.773999999999994  S298:81.45939436133877  Reference:'Sum Total'  [1000.0, 62.366778278917245]  [1500.0, 63.88850586063044]  [800.0, 56.61627868022346]  [400.0, 76.73028461023205]  [300.0, 63.277547148297096]  [600.0, 79.073890083705]  [500.0, 58.89231817084702]
-------------- NASA Polynomial --------------
propyl                  c   3h   7          G    300.00   2000.00   1000.00    1
+2.96388114e+01+3.55271368e-15-3.46944695e-18-8.47032947e-22+0.00000000e+00    2
-2.57590245e+03-1.26138096e+02+4.98000468e+01-1.10452483e-01+2.20330236e-04    3
-1.90183083e-07+6.00853145e-11-5.42560088e+03-2.16746580e+02                   4