Unfortunately, this packaged form is not independent of some external software packages:
The source code of the JThermodynamics system can be found on GitHub. To compile the system, you need to download (clone) the system to your local computer. This is done with a git command using the Git version control system. If it is not already installed, you can find instructions here.
To clone the system, there are basically two steps to perform:
git clone https://github.com/blurock/JThermodynamics.git
The following is the procedure in more detail.
To download the three packages of the JThermodynamics system, first go to the directory of your local computer where you want the cloned source code to be stored. As a note, the cloned system is created under a single directory called 'JThermodynamics'.
The command to clone the system is:
git clone https://github.com/blurock/JThermodynamics.git
The output should look something like:
Cloning into 'JThermodynamics'...
remote: Enumerating objects: 362, done.
remote: Counting objects: 100% (362/362), done.
remote: Compressing objects: 100% (297/297), done.
remote: Total 1146 (delta 48), reused 342 (delta 34), pack-reused 784
Receiving objects: 100% (1146/1146), 95.80 MiB | 5.58 MiB/s, done.
Resolving deltas: 100% (282/282), done.
After this command, using the command, ls,
we see that one directory has been created:
JThermodynamics
Going into this directory and doing ls
again shows the three (actually four, but one is ignored for now) packages:
>> cd JThermodynamics/
>> ls
JTherGas JThermodynamicData JThermodynamicsWebInterface README.md ThermodynamicInterface
Each one of the directories has the source code for each package.
The packages are organized using Maven which is a convenient way to compile and package code and keep track of dependencies. To use Maven, you have to download it. The instructions are found here.
A summary of the steps to compile the system are shown here (details are shown afterward for those interested):
JTherGas
, JThermodynamicsData
and ThermodynamicInterface
)cd JTherGas
(go into the JTherGas directory)mvn clean compile package install
(compile and install the whole package)cd ../JThermodynamicData
(hop to the next package)mvn -Dmaven.test.skip=true clean compile package install
(compile and install the whole package)Now all the packages are installed in the local Maven repository on your local machine.
At the end of each mvn -Dmaven.test.skip=true clean compile package install
, if the command was successful, then you should see something like:
Installing /Users/edwardblurock/thermo/JThermodynamics/JThermodynamicData/target/JThermodynamicData-1.0.jar to /Users/edwardblurock/.m2/repository/info/esblurock/JThermodynamicData/1.0/JThermodynamicData-1.0.jar
[INFO] Installing /Users/edwardblurock/thermo/JThermodynamics/JThermodynamicData/pom.xml to /Users/edwardblurock/.m2/repository/info/esblurock/JThermodynamicData/1.0/JThermodynamicData-1.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.041 s
[INFO] Finished at: 2020-12-30T11:39:13+01:00
[INFO] Final Memory: 32M/117M
[INFO] ------------------------------------------------------------------------
You can see that the install command put the jar file (all the compiled code) in my local repository:
<home_directory>/.m2/repository/info/esblurock/JThermodynamicData/1.0/JThermodynamicData-1.0.jar
The position in the repository was determined by the pom.xml
file having the section:
<version>1.0</version>
<groupId>info.esblurock</groupId>
<artifactId>JThermodynamicData</artifactId>
The package JThermodynamicData
, version 1.0
, is stored in repository directory info/esblurock
(from the groupId info.esblurock
). All the packages have this same groupID.
In target directory there are two jar files:
JThermodynamicData-1.0.jar
: This is just the JThermodynamicData package compiledJThermodynamicData-1.0-jar-with-dependencies.jar
: This is a self-contained JThermodynamicData package with all the extra dependencies built inWith the JThermodynamicData
package you can compute:
java -jar ./target/JThermodynamicData-1.0-jar-with-dependencies.jar <commands>
where <commands> are the set of computational commands we can use. For example, to compute the thermodynamics of 1-propyl radical:
java -jar JThermodynamicData-1.0-jar-with-dependencies.jar MOLECULE 'ch3/ch3/ch2(.)' '1-propyl'
Using the command:
java -jar JThermodynamicData-1.0-jar-with-dependencies.jar MOLECULE 'ch3/ch3/ch2(.)' '1-propyl'
we can calculate the thermodynamics of 1-propyl.
The end of the output (there might be some intermediate output) has three parts:
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