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:
- JThermodynamicData-1.0-jar-with-dependencies.jar: The jar file with the packaged system
- JThermodynamics_20110706.sql: The mySQL database information
- Jthermodyanamic.properties: Properties file (maybe has to be modified with your mySQL installation)
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