Copyright © 2004–2016 by A. Miyoshi
BEx1D reference manual - bx1HRsol
[Top]

BEx1D reference manual - bx1HRsol

Synopsis Description Input Output Program limits

Synopsis

bx1HRsol basefilename

Description

  bx1HRsol solves one-dimensional time-independent Schrödinger equation with the periodic boundary condition, which is suitable for intramolecular hindered rotations.   For a potential energy curve given by a Fourier series, the eigen states are calculated by expanding a wavefunction with a free-rotor basis function set.   Most of the input parameters and output files are similar to those for bx1VIBsol.
  Using the base file name specified in command-line, inputs are read from 'basefilename.inp'.   Similarly to the bx1VIBsol program, files 'basefilename_eigen_values.csv' and 'basefilename_part_funcs.csv' are created by default, and optionally, 'basefilename_eigen_vectorsNN.csv' and 'basefilename_eigen_funcsNN.csv' are also generated.

Input

  The following parameters can be specified in the input 'basefilename.inp'.
same as bx1VIBsol?
1) * title, yes
2) solver control, NO
3) * nuclear spin statistics, yes
4) * output option, yes
5) * temperatures for part-func calc., yes
6) potential function NO
Optional parts are marked by asterisks (*).   These parts may appear in any order and as many times as required.   When duplicated, the one-value parameter (parameters in solver control part) is overwritten, while duplicated part is combined to the existing part for multi-value parameters such as title or temperature input.
  Below, only the input parts different from bx1VIBsol are described.   Refer to the Input section of the bx1VIBsol manual for the other parts.
Title and comments
same as bx1VIBsol manual.
Solver control
  The following essential parameters must be specified in bx1HRsol input.
maxAbsQN
  This parameter is used to set the size of basis-set by the maximum absolute quantum number.
maxAbsQN maximum_absolute_quantum_number
The basis functions used by bx1HRsol are the free-rotor eigen functions.
ψJ = exp(iJθ) / (2π)1/2,   J = 0, ±1, ±2, ...
The following example input tells the program to use basis functions from J = −50 to +50 (101 basis functions in total).
maxAbsQN  50        ! maximum absolute J
rotConst
  The keyword 'rotConst' specifies the coefficient 2 / 2I ( = B) in the one-dimensional Hamiltonian,
H = −(2 / 2I)(d2 / dx2) + V(x) = −B(d2 / dx2) + V(x)
rotConst hbar-square_over_2I
UNIT: The unit of rotConst must be in cm−1, where is used as a unit of energy.
Nuclear spin statistics
Output option
Temperatures for part-func calc.
  See the corresponding parts ('nuclear spin statistics', 'output option', and 'temperature') of the bx1VIBsol manual.
Potential function
  A Fourier series potential function must be specified in the following format.
potPars{
 order-1 coefficient-1
 order-2 coefficient-2
 order-3 coefficient-3
 ...
}
A term of order-i > 0 is a cosine function, cos[(order-i)x], and one with negative order, order-i < 0, indicates a sine function, sin(|order-i|x).   order-i = 0 is used to set a constant term.

Output

  Similar to bx1VIBsol program, results of calculation are stored in the following four types of files.   The outputs marked with '*' are optional.
Output File name
1) eigen values (basefilename_eigen_values.csv)
2) partition functions (basefilename_part_funcs.csv)
3) * eigen vectors (basefilename_eigen_vectorsNN.csv) NN = 00, 01, 02, ...
4) * eigen functions (basefilename_eigen_funcsNN.csv) NN = 00, 01, 02, ...
The diagnostic messages printed to the console are also similar to bx1VIBsol.
estimated eigenvalue error is <= 1% at |q.n.| = 50.
estimated partition function error is 3.06022e-006 at 3000 K.
The contents of the each output files are also similar to those for bx1VIBsol.   One of the major differences arises from the fact that bx1HRsol solves a complex-number eigen problem.
Table r3-1. Hindered rotor eigen values
number eigenValue J w  
0 27.545063 0 (1/4) 
1 29.921654 1 (3/4) 
2 57.706454 1 (3/4) 
3 72.501562 2 (1/4) 
4 90.023541 2 (1/4) 
............ 
9926474.652 50 (1/4) 
10026474.652 50 (1/4)(maximum ...)
Eigen value output
  An example output for -CH2 rotation of n-propyl radical is shown in Table r3-1.   The fourth column, which is not present in the bx1VIBsol output, indicates the rotational quantum numbers.
  Similar to bx1VIBsol, all the eigen values are printed but the threshold quantum number is printed to the console and marked by '(maximum reliable quantumNbr)' in the eigen value output.
Partition function output
  Same as bx1VIBsol.
Table r3-2. Hindered rotor eigen vectors
eigen_values 27.545063 29.921654 57.706454 ...
eigen_vectors (real)(imag) (real)(imag) (real)(imag)
J(basis) v0 v1 v1
... ... ... ...
c(−3) 00 0.08120 0.19240
c(−2) −0.26800 00 00
c(−1) 00 −0.70190 −0.67970
c(0) 0.92480 00 00
c(1) 00 0.70190 −0.67970
c(2) −0.26800 00 00
c(3) 00 −0.08120 0.19240
... ... ... ...
Eigen vector output
  Table r3-2 shows a part of eigen vector output.   The real and imaginary part of the complex eigen vectors are printed, and each column shows the coefficients for the basis functions in the order of the quantum number, −maxAbsQN to +maxAbsQN.
  The eigen vectors up to 'maximum reliable quantum number' are printed in the output and the output is separated in multiple CSV files when the number of eigen vectors exceeds 125 (250 columns).
Table r3-3. Hindered rotor eigen functions
eigen_functions (real)(imag) (real)(imag) (real)(imag)
x f0 f1 f1
00.1670000.0000−0.41930
300.2471000.2012−0.44160
600.4974000.5115−0.44360
900.5587000.59400.00000
1200.4974000.51150.44360
1500.2471000.20120.44160
1800.1670000.00000.41930
Eigen function output
  An example output of eigen functions is shown in Table r3-3.   Only thinned-out values at x = 0, 30, 60, 90, 120, 150, and 180 degrees are shown here.   Similarly to the eigen vector output, each eigen function consists of real and imaginary parts.
  The eigen functions up to the 'maximum reliable quantum number' are printed.   The output is separated in multiple files when the number of eigen functions exceeds 125.

Program limits

  Internally, bx1HRsol calls ZHBEV routine (eigen problem solver for complex Hermite band matrix) in LAPACK written by FORTRAN.   Only limitations hard-wired in the source codes are the declaration part of static arrays which are passed to FORTRAN routines.   These can be found in 'libbx1FS.h' file at the beginning of basisFreeRotor class declaration;
class basisFreeRotor {
 public:
  enum { MXNBAS = 2001,  // maximum number of basis functions
         SZRWLP = 6001,  // size of ZHBEV rwork array: max(1, 3*MXNBAS-2)
         MXRWAB = 51 };  // max nbr rows of ZHBEV ab mat: maxAbsOrder+1
that is, the maximum absolute quantum number of basis function is 1000 and the maximum absolute order of the potential function polynomial is 50.   All the other working variables use dynamically allocated memory and the system resource may limit the program execution.