StatisticalThermodynamics - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Toolboxes : Quantum Chemistry : Courses : Lessons : StatisticalThermodynamics

Statistical Thermodynamics: Calculating Thermodynamic Functions DH, DG, and DS

Copyright (c) RDMCHEM LLC 2019

 

 

Overview

Initialize

Specify Molecule

Calculate Thermodynamics

Calculate ΔH, ΔG, and ΔS (after completing above for all reactants and products)

Appendix

Overview

 

In this activity, you will apply statistical thermodynamics to calculate the enthalpy, free energy, and entropy of reaction for the combustion of ethene to form ethylene oxide at 298 K:

 

 

Rxn (1)

 

To simplify the calculations, you will treat each species as an ideal gas. The thermal entropy (S) (J/mol K) and the internal energy (E) (J/mol) are given by:

 

(1)

 

and

(2)

 

where q is the molecular partition function qe=qt qe qr qv , where the subscript t, e, r, and v refer to the translational, electronic, rotational, and vibrational contributions, respectively.  To calculate q, we further assume each species is in the ground electronic state (with degeneracy 2 spin + 1) with rovibrational energies given by harmonic oscillator and rigid rotor approximations. These assumptions lead to the following expressions for q, S, and E:

 

Translational:

(3)

(4)

(5)

where P = 1 atm = 100.325 kPa.

 

Electronic:

(6)

(7)

 

The thermal contribution to internal energy is 0 since the qe does not depend on temperature.

 

Rotational:

Linear Molecule:

 

(8)

(9)

(10)

where σr is the rotational symmetry number and Θr is the rotational temperature.  Each molecule we will consider in this activity is characterized by σr = 2.  

Nonlinear Polyatomic Molecule:

 

(11)

(12)

(13)

 

where ΘA, ΘB, ΘC are the rotational temperatures corresponding to the principal moments of inertia.

 

Vibrational:

(14)

(15)

(16)

 

where s = 3N - 5 normal modes for a linear molecule and s = 3N - 6 for a nonlinear polyatomic.

 

Once the translational, electronic, rotational, and vibrational thermal contributions to the total entropy and internal energy have been calculated, total entropy (S), internal energy (E), enthalpy (H), and free-energy (G) can be calculated as follows:

 

(17)

(18)

(19)

(20)

 

Note we have corrected for the vibrational zero-point-energy for the internal energy.  We will calculate S, H, and G for each of the reactants and product in Rxn (1) and calculate ΔH, ΔG, and ΔS as

 

ΔHrxn = nHprodnHreact

(21)

etc.

 

Initialize

 

We begin with initializing the QuantumChemistry package, along with the ScientificConstants and LinearAlgebra packages.

 

restart:withQuantumChemistry:withScientificConstants:withLinearAlgebra:Digits15:

 

Specify Molecule

 

Here we specify the coordinates of the molecule for which we want to calculate thermodynamics as well as some related calculate parameters, such as symmetry number, charge, AObasis, etc.  Note that the geometries provided in .xyz data files are at the HartreeFock / STO-3G level.   If you wish to use a different method/basis combination, begin with the provided .xyz coordinates for each molecule and uncomment the geometry optimization line below.

 

#molec≔ReadXYZethylene.xyz;

molecReadXYZO2.xyz;

molecO,0.,0.,0.,O,0.,0.,1.22169673

(3.1)

# molec≔ReadXYZethyleneoxide.xyz;

molec_symmetry_number2 :    # symmetry number 

molec_spin0:         # molec_spin = 0 for singlet, molec_spin = 1 for triplet

molec_charge0:

freqmethod'HartreeFock':

freqbasissto-3g:

energymethod'HartreeFock':

energybasissto-3g:

freq_scaling0.8953:   # see Ref. 2 for scaling factors (HF = 0.8953, DFT = 0.9613

temp298.15:

molec_index2:     # identifies which reactant or product. Doesn't matter which is 1, 2, or 3, just keep track!

Calculate Thermodynamics

 

If  not using Hartree-Fock and sto-3g, uncomment the following line:

 

#molec,molec_data≔GeometryOptimizationmolec,energymethod,basis=energybasis,spin=2 molec_spin,charge=molec_charge;

 

Calculate electronic energy in J/mol using AOmethod, AObasis, spin, and charge defined above: 

 

molec_energyEnergymolec,method=energymethod,basis=energybasis,spin=2molec_spin,charge=molec_charge; au2Jmol4.359744650ⅇ−18evalfConstantAvogadro_constant: molec_energymolec_energyau2Jmol

molec_energy−147.55157168

molec_energy−3.87396598108

(4.1)

 

 

To calculate the vibrational energies, perform a vibrational analysis:

 

emodes,vmodes  VibrationalModesmolec,freqmethod,spin=2molec_spin,charge=molec_charge, basis=freqbasis; emodesemodesfreq_scaling;

emodes,vmodes2057.72134813,5.4184641110−85.4184601510−8−0.707106931.2643075910−7−5.4184639210−80.70710663

emodes1842.27792298

(4.2)

 

 

Calculate principal moments of inertia:

 

num_atomsnopsmolec:mass_tot0.0:for i from 1 by 1 to num_atoms do      atomiparsemoleci1;      xposimoleci21e−10;      yposimoleci31e−10;      zposimoleci41e−10;     massievalfElementatomi,atomicweight,system=SI;     mass_totmass_tot+massi;end do:xpos_cm0.0:ypos_cm0.0:zpos_cm0.0:for i from 1 by 1 to num_atoms do     xpos_cmxpos_cm+massimass_totxposi;       ypos_cmypos_cm+massimass_totyposi;      zpos_cmzpos_cm+massimass_totzposi;end do:for i from 1 by 1 to num_atoms do              #places origin at center of mass    xposixposixpos_cm;    yposiyposiypos_cm;    zposizposizpos_cm;end do:moment_inertiaMatrix3,3,0:for i  from 1 by 1 to num_atoms do    moment_inertia1,1moment_inertia1,1+massiyposi2+zposi2;   moment_inertia1,2moment_inertia1,2massixposiyposi;  moment_inertia1,3moment_inertia1,3massixposizposi;  moment_inertia2,2moment_inertia2,2+massixposi2+zposi2;  moment_inertia2,3moment_inertia2,3massiyposizposi;  moment_inertia3,3moment_inertia3,3+massixposi2+yposi2;end do:moment_inertia2,1=moment_inertia1,2: moment_inertia3,1=moment_inertia1,3:moment_inertia3,2=moment_inertia2,3:diagsortReEigenvaluesmoment_inertia:I_Adiag1;I_Bdiag2;I_Cdiag3;

I_A0.

I_B1.9826676410−46

I_C1.9826676410−46

(4.3)

 

 

Now we are ready to calculate partition functions!

 

Translational partition function:

 

q_tevalf2Pimass_totConstantktempConstanth232Constantktemp101325.0 ;

q_t7.11466749106

(4.4)

 

Electronic partition function:

 

q_e2molec_spin+1; 

q_e1

(4.5)

 

 

Rotational temperatures and partition function:

 

theta_AevalfConstanth28π2 I_AConstantk&semi;   &num; Kelvintheta_BevalfConstanth28π2 I_BConstantk&semi;     &num; Kelvintheta_CevalfConstanth28π2 I_CConstantk &semi;     &num; Kelvin if I_A<1e−48 then           I_A0&semi;           q_r1molec_symmetry_numbertemptheta_Btheta_C12&semi;            num_modes3num_atoms5&semi; else           q_rPi12molec_symmetry_numbertemp32theta_Atheta_Btheta_C12&semi;           num_modes3num_atoms6&semi; end if&semi;

theta_AFloat

theta_B2.03137108

theta_C2.03137108

I_A0

q_r73.38639462

num_modes1

(4.6)

 

Vibrational temperatures and partition function:

 

 q_v1&colon; for i from 1 by 1 to num_modes do             theta_vievalfConstanthReemodesiConstantc100Constantk&semi;              q_vq_vexp1.0theta_vi2temp1exp1.0theta_vitemp&semi;  end do&colon;q_vq_v&semi;

q_v0.01173726

(4.7)

 

ZPE correction in J/mol:

 

 zpe_correction0.0&colon;for i from 1 by 1 to num_modes do zpe_correctionzpe_correction&plus;Reemodesi2evalfConstantc100evalfConstanthevalfConstantAvogadro_constant end do&colon; zpe_correctionzpe_correction&semi; 

zpe_correction11019.26903875

(4.8)

 

 

Now we can calculate total S, E, H, and G according to the equations provided in the Overview:

 

 &num; Translational ContributionsS_tevalfConstantRlnq_t&plus;1&plus;32&semi;E_tevalf32ConstantRtemp&semi;  &num; Electronic Contributions S_eevalfConstantRlnq_e&semi;  &num; Rotational Contributions if I_A &equals; 0 then         S_revalfConstantRlnq_r&plus;1 &semi;        E_revalfConstantRtemp&semi; else        S_revalfConstantRlnq_r&plus;32&semi;       E_revalf32 ConstantRtemp&semi; end if&colon;  &num; Vibrational Contributions S_v0&colon;E_v0&colon;for i from 1 by 1 to num_modes do     S_vevalfS_v&plus;ConstantRtheta_vitempexptheta_vitemp1ln1exptheta_vitemp&semi;    E_vevalfE_v&plus;ConstantRtheta_vi12&plus;1exptheta_vitemp1&semi; end do&colon;S_vS_v&semi;E_vE_v&semi;  &num;Total Entropy  S0molec_indexS_e&plus;S_t&plus;S_v&plus;S_r&semi;  &num; Total Energy  E0molec_indexmolec_energy&plus;E_t&plus;E_v&plus;E_r&plus;zpe_correction&semi;   &num; Enthalpy  H0molec_indexevalfE0molec_index&plus;ConstantRtemp&semi;  &num; Gibbs Free Energy G0molec_indexevalfH0molec_indextempS0molec_index&semi;         

S_t151.96894459

E_t3718.43428406

S_e0.

S_v0.01132692

E_v11027.51974508

S02196.01147687

E02−3.87368354108

H02−3.87365875108

G02−3.87424316108

(4.9)

 

Repeat the above calculations for each reactant and product in Rxn (1). Don't forget to change the molec_index!

Calculate DH, DG, and DS (after completing above for all reactants and products)

 

 

&Delta;S S03 S0112 S02&semi;

&Delta;SS03S0198.00573844

(5.1)

&Delta;GG03 G0112 G021000.0&semi;

&Delta;G0.00100000G030.00100000G01+193712.15788334

(5.2)

&Delta;H H03 H0112 H021000.0&semi;

&Delta;H0.00100000H030.00100000H01+193682.93747242

(5.3)

 

 

NIST lists the following values for enthalpy of formation and free-energy of formation:

 

 

&Delta;Hf (kJ/mol)

&Delta;Gf (kJ/mol) (calc.)

S (1 bar) (J/molK)

ethylene

52.4

61.4

219.3

ethylene oxide

-52.6

-51.7

243.0

oxygen

0

0

205.15

   

Using Hess's Law, calculate ΔH, ΔG, and ΔS for Rxn (1) and compare to your calculated results.

 

 

&Delta;SHess243.0  219.312205.15&semi;

&Delta;SHess−78.87500000

(5.4)

&Delta;HHess52.652.4&semi;

&Delta;HHess−105.00000000

(5.5)

&Delta;GHess51.761.4&semi;

&Delta;GHess−113.10000000

(5.6)

S02&semi;

196.01147687

(5.7)

 

Appendix

References

1) D. A. McQuarrie and J. D. Simon, Physical Chemistry: A Molecular Approach (University Science, New York, 1997).

2) JPCA scaling factors 2007

3) https://webbook.nist.gov/cgi/inchi/InChI=1S/C2H4/c1-2/h1-2H2

4) https://webbook.nist.gov/cgi/inchi/InChI=1S/C2H4O/c1-2-3-1/h1-2H2