Copyright © 2004–2016 by A. Miyoshi
BEx1D - Quick start: step-3
[Top]   < Prev Step | Next Step >

BEx1D - Quick start: step-3

Sample problem 2: nprCH2

This sample problem treats the intramolecular rotation of -CH2 group in n-propyl (C3H7) radical. (Fig. QS3-1)

Fig. QS3-1. CH2 torsion of n-propyl radical.

bx1fitPlls input:  nprCH2.fit

  1. The first line beginning with '#' is a title line:
    # n-propyl radical -.CH2 intramolecular rotation
  2. Next non-blank line is an output option control;
    outputOption FourierSeries
    which tells bx1fitPlls to generate input file for bx1HRsol named 'nprCH2.inp'.   The program bx1HRsol requires potential function in Fourier series.
  3. The first block;
    optFuncs{
      const
      cos   2
      cos   4
      cos   6
      cos   8
      cos  10
      cos  12
      cos  14
      cos  16
      cos  18
    }
    tells bx1fitPlls that the regression function is:   y = a0 + a1 cos(2x) + a2 cos(4x) + a3 cos(6x) + ... + a9 cos(18x).
  4. Next block is a data table:
    xyTable{
             0.           57.1562
      deriv2 0.                         283.094
             0.414428431  69.7012
      deriv1 0.414428431           0.
      deriv2 0.414428431               -454.686
             1.095630438   0.0000
      deriv1 1.095630438           0.
      deriv2 1.095630438                714.797
             1.570796327  28.1917
      deriv2 1.570796327               -580.236
    }
    Each line between block header 'xyTable{' and terminator '}' defines a datum point.   The two-column format datum line is a regular datum point containing x (coordinate) and y (potential energy), as explained in the previous step.   The three-columned line is a derivative datum.   deriv1, deriv2, etc. stand for first, second, etc. derivative. The second column is x and third is y', y", or etc., depending on the first column.
    Figure QS3-2 shows the potential energies calculated at four stationary points along the CH2 torsion coordinate.

    Fig. QS3-2. Input potential energy points.
  5. The last block is a 'continue' block:
    continue{
      maxAbsQN  50        ! maximum absolute J
      rotConst  10.575    ! cm-1
      nuSpinSt  2  1 3    ! period = 2, alternation is 1,3,1,3,...
    ! symNumbr  2
    !
      output all
      tempRange  200.  500.  50.
      tempRange  600. 1200. 100.
      tempRange 1400. 2000. 200.
      tempRange 2500. 3000. 500.
      tempList   298.
    }
    Any line in the block is copied to the bx1HRsol input, 'nprCH2.inp'.

bx1fitPlls console output

The output is similar to that explained in the previous step. The only one essential difference is that two derivative forms of the functions are also printed as;
Function:
 y = a0 + a1 * cos(2*x) + a2 * cos(4*x) + a3 * cos(6*x) + a4 * cos(8*x) + a5 * cos(10*x) + a6 * cos(12*x) + a7 * cos(14*x) + a8 * cos(16*x) + a9 * cos(18*x)
 y' = a1 * -2*sin(2*x) + a2 * -4*sin(4*x) + a3 * -6*sin(6*x) + a4 * -8*sin(8*x) + a5 * -10*sin(10*x) + a6 * -12*sin(12*x) + a7 * -14*sin(14*x) + a8 * -16*sin(16*x) + a9 * -18*sin(18*x)
 y" = a1 * -4*cos(2*x) + a2 * -16*cos(4*x) + a3 * -36*cos(6*x) + a4 * -64*cos(8*x) + a5 * -100*cos(10*x) + a6 * -144*cos(12*x) + a7 * -196*cos(14*x) + a8 * -256*cos(16*x) + a9 * -324*cos(18*x)
The derived potential energy curve is shown in Fig. QS3-2 by a solid curve.

bx1HRsol input:  nprCH2.inp

  1. The first line is a title line copied from nprCH2.fit:
    # n-propyl radical -.CH2 intramolecular rotation
  2. Also, following non-blank lines are copy of continue block contents:
    maxAbsQN  50        ! maximum absolute J
    rotConst  10.575    ! cm-1
    nuSpinSt  2  1 3    ! period = 2, alternation is 1,3,1,3,...
    ! symNumbr  2
    !
    output all
    tempRange  200.  500.  50.
    tempRange  600. 1200. 100.
    tempRange 1400. 2000. 200.
    tempRange 2500. 3000. 500.
    tempList   298.
    i) Here, 'maxAbsQN', the maximum absolute quantum number, is set to 50. That is, the free rotor basis functions of J = −50 to J = 50 (101 functions) are used as expansion basis.
    ii) The next key 'rotConst' sets the rotational constant ( = 2 / 2I ).
    - Note that the exclamation mark '!' can be used to insert comments.
    iii) Third line beginning with 'nuSpinSt' is nuclear spin statistic information input.   Here, for two indistinguishable hydrogen atoms of CH2 rotor, the statistical weights for even and odd J's are 1 and 3, respectively.   Alternatively, as shown in the next comment line, a key 'symNumber' can be used to set the rotational symmetry number.
    iv) The key output controls the output, as has been described in the previous step.   Here, all possible outputs are generated by bex1HRsol.
    v) The last five lines controls the temperatures at which the partition functions are calculated.   The example sets the temperatures, 200, 250, 298, 300, 350, 400, 450, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1400, 1600, 1800, 2000, 2500, and 3000 K
  3. The last part is potential function input:
    potPars{           ! potential parameters
      0   37.021012
      2   31.151841
      4   4.5381994
      6   -17.268128
      8   1.2278534
      10   0.69347043
      12   -0.23513126
      14   -0.20930961
      16   0.12201598
      18   0.11437619
    }
    Each line in the block specifies the order ni and coefficient ai for a term of Fourier.   Zero or positive order, ni ≥ 0, indicates a cosine term, ai cos(ni x), and negative order, ni < 0, indicates a sine term, ai sin(|ni| x).

bx1HRsol output

Since  'output all'  is specified in the input, bx1HRsol creates all possible output files for this example; 'nprCH2_eigen_values.csv' (eigen values), 'nprCH2_part_funcs.csv' (partition functions), 'nprCH2_eigen_vectors00.csv' (eigen vectors), and 'nprCH2_eigen_funcs00.csv' (eigen functions).
[eigen value output]
  The first few eigen values are shown in Fig. QS3-3.   Because of low barriers for internal rotation, the eigenvalues are well approximated by the free rotor eigenvalues except for the first few eigenstates.

Fig. QS3-3. Calculated eigen values (horizontal dotted lines)
[eigen vector output]
  Major coefficients of eigen vectors corresponding to the first five eigen values are shown in Table QS3-1.   Each eigenvector, which is a vector of coefficients for basis set, uses two columns since the coefficients are complex numbers. (But, in this example, the potential function consists of cosine terms only, the coefficients are real numbers.)   Each column consists of coefficients for J = −Jmax basis, c(−Jmax), to that for J = +Jmax basis, c(+Jmax).
  Because of the low potential barriers, the dominant coefficients are found at corresponding free rotor basis (Table QS3-1).
Table QS3-1. Eigenvectors
eigen_values27.54506329.92165457.70645472.50156290.023541
eigen_vectors(real)(imag)(real)(imag)(real)(imag)(real)(imag)(real)(imag)
J(basis)v0v1v1v2v2
..................
c(−5)000.02450−0.029800000
c(−4)−0.0033000000.127000.04720
c(−3)000.081200.192400000
c(−2)−0.268000000−0.69550−0.65290
c(−1)00−0.70190−0.679700000
c(0)0.92480000000−0.37790
c(1)000.70190−0.679700000
c(2)−0.2680000000.69550−0.65290
c(3)00−0.081200.192400000
c(4)−0.003300000−0.127000.04720
c(5)00−0.02450−0.029800000
..................
[eigen function output]
  Calculated eigen functions are shown in Fig. QS3-4.

Fig. QS3-4. Calculated eigen functions of first few eigenstates.
  Part of the eigen function output is shown in Table QS3-2.   Here, the coordinate, x, is the angle of internal rotation, and in the unit of degrees.   For the non-degenerated eigenstates, the eigenfunction is either pure real or pure imaginary.
Table QS3-2. Eigenfunctions
eigen_
functions
(real)(imag)(real)(imag)(real)(imag)(real)(imag)(real)(imag)
xf0f1f1f2f2
00.1670000.0000−0.4193000.0000−0.64480
..................
300.2471000.2012−0.4416000.3871−0.42150
600.4974000.5115−0.4436000.57670.08900
900.5587000.59400.0000000.00000.40540
1200.4974000.51150.443600−0.57670.08900
1500.2471000.20120.441600−0.3871−0.42150
1800.1670000.00000.4193000.0000−0.64480
..................
[partition function output]
First few rows of the partition function output is shown in Table QS3-3.
Table QS3-3. Partition functions
10000/TTQ
502002.4981113
402502.9310031
33.5570472983.3027287
33.3333333003.3174545
28.5714293503.6689322
254003.9930044
22.2222224504.2949329
205004.5785312
16.6666676005.1015135
14.2857147005.5780156
12.58006.0183203
11.1111119006.4294505
1010006.8164426

[Top]   < Prev Step | Next Step >