Any input record that is not recognized as command is considered to be a data record. In a data record, all character data must be specified in single quotes, e. g. 'Character Data', so that it can be read using unformatted FORTRAN reads. Any unquoted entry is taken to be the begining of a new command or data record. In the case of a data record, the unquoted character string is the label for the data record. The pound symbol '#' is the begining of a comment and all characters after the '#' symbol are ignored.
This data record gives an alternative equilibrium geometry used when
generating new geometries using normal modes with the
GeomNormMode
or GeomNormModeN
commands
or when analyzing geometries
in terms of normal modes using the
FindQ
command
i = 1
to NAtom
vec(1:3, i)
vec(1:3, i)
i
in Angstroms
This data record contains the information needed to construct the asymptotic part of the V_{CP} potential.
SwitchD
nterm
iterm = 1
to nterm
itcen
itcen
equal to 0
then readpcen(1:3, iterm)
ittyp
ittyp
equal to 1
then readapolsph(iterm)
ittyp
equal to 2
then read apol(1, 1, iterm), apol(2, 2, iterm),
apol(3, 3, iterm), apol(1, 2, iterm),
apol(1, 3, iterm), apol(2, 3, iterm)
icrtyp
icrtyp
equal to 2
then readrmatch
icrtyp
not equal to 2
then readilntyp
icrtyp
not equal to 2
and
ilntyp < 0
then readxln(1:3)
SwitchD
nterm
itcen
= 0
, then explicitly read in the location of the center
= 1
, through the number of atoms in the molecule, then use atom
itcen
for the polarization center.
pcen(1:3, iterm)
(x,y,z)
of this polarization center
in Angstroms.
ittyp
= 1
, for only spherically symmetrical polarizability so that
xx=yy=zz
and xy=xz=yz=0
only the
xx
term is read in.
= 2
, read in all 6 terms, xx, yy, zz, xy, xz, yz
.
A common case is if the a0
and a2
terms are known then the
potential has the forma a 0 2 V (R) = - ---- - ---- P (cos theta) pol 4 4 2 2R 2Rwhere
2 P (u) = (1/2)(3u - 1) 2In this case
a = a = (a - (1/2)a ) and a = (a + a ) xx yy 0 2 zz 0 2with the other terms being zero.
apolsph(iterm)
apol(i, j, iterm)
icrtyp
= 0
, use second crossing coming in form the asymptotic region.
= 1
, use first crossing coming in from the asymptotic region.
= 2
, read in a fixed matching r.
= 3
, use second crossing or nearest relative approach (i. e. switch
when V_{pol}/>V_{corr} is closest
to 1.0)
= 4
, use first crossing or nearest relative approach.
rmatch
ilntyp
= 0
use the l=0 partial wave.
= 1-natom
use the line from the origin passing through one
of the atomic centers.
= -1
use a line from the origin passing through an inputed
point.
xln(1:3)
ilntyp = -1
.
This record specifies which orbitals to use from the Quantum
Chemistry program, the form is specific to the program being used.
In G03Cnv and MoldenCnv there is a single read of the form
nmos
, nmoe
or
-nmor
, (nmos(i), nmoe(i), i = 1, nmor)
nmos
is the start of a series of orbitals to use and nmoe
is the
corresponding end of a sequence. if the first number is negative
then a series of such numbers are read in. This option can also be used
to reorder the orbitals. This reordering is sometime required when a set of degenerate core orbitals
are ordered such that groups of orbitals that are degnerate by symmetry (e. g. pi-x and pi-y orbitals)
are not contiguous as is required in the RotOrb.
This is an optional data record.
If this record is present then when the
GetCro
is run the cross section will be computed
for each partial wave, with partial waves with the same value of l being summed together.
This data record contains the information needed to construct the correct dipole matrix
elements.
This data record is usually created using the command
GenFormPhIon
although it can be constructed by hand.
NumOrbFrm
OrbDegn(1:NumOrbFrm)
SymCont, SymTotal, SymInit
NumRec
i = 1
to NumRec
ContComp(i), iOrbSelgrp(i), iOrbSelcomp(i), CoefOrbSel(i)
NumOrbFrm
OrbDegn(1:NumOrbFrm)
SymCont
SymTotal
SymInit
NumRec
ContComp(i)
OrbSelgrp(i)
OrbSelcomp(i)
OrbSelgrp
to use in this formula.
CoefOrbSel(i)
This data record contains the matrix that transforms the direct product FUNCTION into the symmetrized
functions.
This record is usually created automatically by the command
GenFormPhIon
using the program MatEle.
SymCont, SymTarg, SymTotal
nrdimCont, nrdimTarg, nrdimTotal
ProdOvlp(1:nrdimCont,1:nrdimTarg,1:nrdimTotal)
SymCont
SymTotal
SymTarg
nrdimCont
nrdimTarg
nrdimTotal
ProdOvlp(i,j,k)
This record contains three real numbers in a single read
x
, y
, z
which give the center for the single-center expansion in units of Angstroms. ECenter is optional
for those program which use it. The default value is (0.0, 0.0, 0.0)
This record contains a real number that specifies the maximum value of the electron kinetic energy (in eV) that will be used in the calculations. This is used by GenGrid to control the step size in the asymptotic part of the radial grid.
top
This data record contains the expression for the interaction potential, in term of J and K operators. This record can be created automatically by the command GenFormPhIon using the program MatEle.
iPotFrmType = 0
, no orhtogonality constraints are imposed and the
potential is assumed to have the form 2J-K for each occupied orbital
(2J for positron scattering).
The record has the format:
iChrgMolec, iPotFrmType
iPotFrmType = 1
, no orthogonality constraints are imposed and the
potential is assumed to have only diagional terms, i. e. the J and K
operators only involve one bound orbital. The record has the format:
iChrgMolec, iPotFrmType
NumOrbFrm
i = 1
to NumOrbFrm
read:
OrbOccFrm(i), CoefK(i)
iPotFrmType = 2
, individual orhtogonality constraints are read in, and the
potential is assumed to have only diagional terms, i. e. the J and K
operators only involve one bound orbital. The record has the format:
iChrgMolec, iPotFrmType
NumOrbFrm
i = 1
to NumOrbFrm
read:
OrbOccFrm(i), CoefK(i), iOrthOrb(i)
iPotFrmType = 3
, the continuum orbital is forced to be orthogonal to
all of the bound orbitals. The record has the format:
iChrgMolec, iPotFrmType
NumOrbFrm
OrbDegn(1:NumOrbFrm)
SymCont, SymTotal
OrbOccFrm(1:NumOrbFrm)
NCoefKInt
CoefKInt(1:NCoefKInt)
iChrgMolec
iPotFrmType
NumOrbFrm
OrbDegn(1:NumOrbFrm)
SymCont
SymTotal
OrbOccFrm(i)
NCoefKInt
CoefK(i)
iOrthOrb(i)
CoefKInt(1:NCoefKInt)
iAsymCond = 1
and EpsAsym = CnvgKMat/10.0
.
iAsymCond, EpsAsym
iAsymCond
EpsAsym
iAsymCond = 1
then STOP when |V|/E < EpsAsym
iAsymCond = 2
then STOP when |V| < EpsAsym
. In this case EpsAsym
has units of eV
iAsymCond = 3
then STOP at r = EpsAsym
. In this case EpsAsym
has
units of Angstroms
EpsAsym
This data record defines a range of orbitals groups that ExpOrb should expand.
mofr, moto
mofr
moto
This data record contains a single real number that is the value of the energy parameter (in eV) needed to compute the fege potential. It is usually taken to be the ionization potential of the molecule. Naturally, this data record is only needed if the fege potential is being used.
top
This data record contains a single real number that is used to scale the local exchange potential. This can be used to curcumvent singularities in the interative procedure. Default value is 1.0.
top
This data record specifies which nuclear centers should have their charge adjusted either for the purpose of computing the potenital or for the purpose of changing the symmetry used in the calculation. Chaging the charge for the potential calculation could be used when the quantum chemistry calculation is an equivalent core calculation for a core ionization problem.
ChgCenter, ChgCharge, ChgType
ChgCenter, ChgCharge, ChgType
.......(repeat as many times as needed)]
ChgCenter
ChgCharge
ChgType
This data record contains the tolernace use to determine if vibrational frequency eigenvalues are degenerate (in units of cm-1). Used in the SymNormMode command. Default value is 1.0e-4.
top
This data record contains a single positive integer that controls the grid density. This can be used to systematically check the convergence of the grid. This is an optional data record. The default value is 1.
top
This data record contains a single integer that controls the type of Green function that is used.
This data record a real number that is used to generate the radial grid. The higher the value the more dense the grid will be around the nuclei. The default value is 10.0.
top
This data record a real number that is used to generate the radial grid. The higher the value the more dense the grid will between the nuclei and at larger R. The default value is 10.0.
top
This data record a real number that is used to generate the radial grid in the asymptotic region, i. e. for r beyond RMax. The higher the value the more dense the grid will between the nuclei and at larger R. The default value is the value of HFacWave used to generate the grid. The default value for HFacWave is 10.0.
top
This data record contains an interger that is the spin degeneracy of the initial state.
top
This data record contains a character string (LEN = 5)
that indicates
the
IR of the initial state.
PlotData
top
This optional record contains
an integer that specifies the truncation of the partial wave expansion at large r.
Thus outside the nuclei, the partial wave expansion goes up to at least the value of
LMaxA
.
Default value is (RAMax+2 Angs)*sqrt(2*Max(EMax, 27.2 eV)) converted into atomic units, where
RAMax is the maximum distance of an atom from the center of expansion.
1/r_12
in the exchange terms in ScatStab.
If the value of the maximum is set to -1, then all possible terms are retained, i. e. 2*LMax
.
Default value is -1, which inclludes all exchange terms.
top
This record contains
an integer that specifies the truncation of the partial wave expansion
in the homogeneous solution of the static potential scattering.
The default value is MAX(LMaxA, LMax/2)
This record contains an integer that is the effective maximum l used in numerical integrations.
This variable controls the number of grid points used in the angular integrations.
It is usually taken to be at least twice the value of LMax
.
Default value is 2 times LMax.
This record contains a real number that controls the maximum step size in the inner region when the AsyPol data record is present. Default value is 0.02.
top
This record contains a real number such that the effective exponent on each center will be at least equal to Z*Z*MinExpFac. The default value is 300.
top
This record contains input needed to define the molecular frame DCS calculation
top
This record contains an integer which is the maximum value of m to use in expanded functions about each unique axis for high partial waves. A default value is MMax = 3. A value of -1 leads to no m truncation.
top
This record contains an integer
that controls how the m values for the abelian subgroup are chosen.
MMAxAbFlag = 1
to include all m values.
MMaxAbFlag = 2
to use MMax to constrain the m values for the abelian subgroup.
This record defines the number of angles that a differential cross section is computed at. Default value is 181 for scattering calculations.
top
This record defines the range of the functions on the left of the variational expression that should be computed. The default value is to use the full range up to NAsymL.
NAsymLF, NAsymLL
NAsymLF
NAsymLL
This record contains an integer that indicates the nucleus at which the single center expansion should occur. NECenter is optional for those program which use it. The default expansion point is (0.0, 0.0, 0.0).
top
This record contains an integer that is the number regions the radial grid is divided into for integration. In the usual scattering program the boundaries of these regions are where the solutions are stabilized. In the piecewise diabatic calculations these regions are the diabatic regions. In general, more regions are better, although the calculations become slower. Default value is 40 for scattering calculations.
top
If this data record is present, then no exchange potentials will be included in the scattering potential.
top
This data record contains an integer vector of the orbital group occupations of the target state.
top
This data record contains an integer vector of the orbital group occupations of the initial state.
top
This data record contains an integer flag (=0 for false /=0 for true) that determines if an average over the azimuthal angle should be performmed in the fixed-in-space differential cross section calculation. The default value is 0 for not performing the average.
top
This data record contains a real number that gives the angle in degrees of a reflection plane of symmetry containing the z axis that should be used as the zero of the azimuthal angles in the molecular frame. The default value is 0.0, i.e. use the same refrence frame as the matrix elements.
top
This data record contains an integer vector that specifies for
each orbital group if the continuum should be constrained to be
orthogonal to that group
(=1) or not (=0). For
PhIonPlaneWv
calculations, the absence of this record indicates the no orthogonalization
should be performmed. When this record is present then orthogonalization
is performmed with respect to all orbitals. With integers persent, then this record
controls orthogonalization as in a regular photoionization calculation.
This record contains
a real number that is used to determine the value of m to use about each unique
axis with high partial wave expansions. The maximum m is limited by the value of
MMax.
The default value is 1.0e-8
.
This record contains
a real number that is used to determine at what value of r each radial grid is
truncated. The default value is 1.0e-8
. Smaller values will cause the grids
for each l to be extended further into the asymptotic region and towards
the origin.
This record contains an integer the determines the charge on the molecule used in the
CalcInt
command with function type PlaneWv
or in a
PhIonPlaneWv
command.
The default value is zero corresponding to plane waves. A value of 1 would be to use Coulomb waves
with a +1 charge on the molecule.
This record controls the density of the radial grid that is put into the PlotData grid. If this record is present, then the full grid will be plotted, otherwise the grid is sampled at a subset of the available points.
top
vpol.dat
.
top
1.0e-06
top
posplot.dat
nplots
i = 1
to nplots
theta(i), phi(i)
nplots
theta(i)
phi(i)
This data record contains a single integer that controls the amount of output that is sent to the standard output. Set equal to zero for minimal print and set > 0 for additional information. Default value is 0.
top
This record contains the range of energies in the complex plane that are examined in
the search for poles of the S matrix
in the command
ResSearch
.
These poles then correspond to scattering resonances.
nengrb
i = 1
to ABS(nengrb)
engrb(i), estprb(i)
engrb(ABS(nengrb)+1), eendzi, estpzi
nengrb
engrb(i)
i
'th region.
estprb(i)
i
'th region.
engrb(ABS(nengrb)+1)
eendzi
0
to eendzi
.
estpzi
This record contains an integer that controls the resonance search. The default value is 0.
ResSearchType
= 0 then do a single pass search using only the initial extimates of the
poles in each sub region.
ResSearchType
= 1 then do a single pass serach but include the locations of any found poles
in the call to muller as they become available.
ResSearchType
= 2 then do an exhaustive search in each region until no further poles
are found in that region. At each stage previously found poles are included in both the initial pole estimation
and in the final muller search.
This record contains a real number specifing the maximum value of r (in Angstroms) in the radial grid. The default value is determined by RMaxEps
top
This record contains a real number that is used to determine RMax. RMax is chosen so that MAXVAL(ABS(Orb(RMax, Theta, Phi)*RMax**2)) < RMaxEps. Default value is 1.0e-6.
top
This optional record contains the specification of a series of rotations and translations to perform on the molecular geometry. The translations is performed before the rotation.
NumRot, (IAxis(i), RotAngle(i), i = 1, NumRot)
(Translate(i), i = 1, 3)
NumRot
IAxis(i)
RotAngle(i)
Translate(i)
The translation is performed first, then the rotations are performed in the order given.
top
This optional record contains the specification of a series of rotations and translations to perform on the molecular geometry that is used in the transformation of dynamical coefficients in the cross section calculation.
NumRot, (IAxis(i), RotAngle(i), i = 1, NumRot)
NumRot
IAxis(i)
RotAngle(i)
This data record contains a character string (LEN = 5)
that indicates
the
IR of the continuum orbital.
This data record contains a character string (LEN = 5)
that indicates
the
IR of the total scattering state
including both the target state and the continuum orbital.
This data record contains an interger that is the spin degeneracy of the total scattering state.
top
This data record the tolernace in the atomic position used to determine the symmetry operations. Used in the command GetBlms. Default value is 1.0e-05
top
This data record contains an interger that is the spin degeneracy of the target state.
top
This is an optional data record that contains an integer and is used in
OrientCro
.
For a degenerate target state, the integer will indicate which component to include. The default
is to sum all components.
This data record contains a character string (LEN = 5)
that indicates
the
IR of the target state.
This data record contains a real number which is the static polarizability of the molecule (in atomic units). If this data record is present, then the asymptotic polarization potential is forced to match this static polarizability in a scattering calculation. This record is usually created automatically by the command GetPot.
top
This data record contains a single character string that is the type of correlation potential. If the calculation does not use a correlation potential then this variable can either be not present on the data file or it can have the value of 'None'. Possible values are:
This data record defines the input used in the vibrational averaging calculation with the command VibAve
NumXV
XV(1:NumXV)
XtoQDef, OmegaQDef
XEIni, OmegaIni
XEIon, OmegaIon
Nv_Ini, Nv_Ion
Nv_Ini
greater than 0
and Nv_Ion
greater than 0
then
v_Ini(1:Nv_Ini)
v_Ion(1:Nv_Ion)
X_n, X_f, X_l
i = 1
to NumXV
FileNames(i), PhaseFix(i), NumRot(i),(IAxis(j, i), RotAngle(j, i), j = 1, NumRot(i))
NFitStep
NFitStep
greater than 0 then
NTermFitExpr(1:NFitStep)
i = 1
to NTermFitExpr(NFitStep)
then
FitExpr(i)%nn, FitExpr(i)%nd
j = 1
to FitExpr(i)%nn
then
FitExpr(i)%n(j)%e, FitExpr(i)%n(j)%x1, FitExpr(i)%n(j)%vary
j = 1
to FitExpr(i)%nd
then
FitExpr(i)%d(j)%e, FitExpr(i)%d(j)%x1, FitExpr(i)%d(j)%vary
i = 1
to SUM(FitExpr(:)%nn)+SUM(FitExpr(:)%nd)
then
InitFitFactors(i)
NFuncX1, NFuncEeV
NEngOut
greater than 0
then read
NEngOut, EngOutF, EngOutL
NEngOut
less than 0
then read
NEngOut, EngOutv(1:-NEngOut)
NEngOut
is equal to 0
then read
NEngOut
InterpType, OrderX, OrderE, EpsNLFit
NumXV
XV(1:NumXV)
XtoQDef
OmegaQDef
OmegaQDef
XEIni
OmegaIni
XEIon
OmegaIon
Nv_Ini
Nv_Ion
v_Ini(1:Nv_Ini)
v_Ion(1:Nv_Ion)
X_n
Nv_Ini
or Nv_Ion
are less than zero, then only
will be performed and the resulting cross secitons will be computed at the interpolated points.
Otherwise this grid of points will be used for the integration over the vibration mode
to obtain the vibrationally specific cross sections.
X_f
X_l
FileNames(i)
XV(i)
PhaseFix(i)
XV(i)
NumRot(i)
IAxis(i)
RotAngle(i)
NFitStep
NTermFitExpr(1:NFitStep)
FitExpr(i)%nn
i
th rational fraction
FitExpr(i)%nd
i
th
rational fraction
FitExpr(i)%n(j)%e
j
th term in the
numerator of the i
th rational fraction
FitExpr(i)%n(j)%x1
j
th term in the
numerator of the i
th rational fraction
FitExpr(i)%n(j)%vary
j
th term in the
numerator of the i
th rational fraction to vary, if equal to 0 then do not vary
FitExpr(i)%d(j)%e
j
th term in the
denominator of the i
th rational fraction
FitExpr(i)%d(j)%x1
j
th term in the
denominator of the i
th rational fraction
FitExpr(i)%d(j)%vary
j
th term in the
denominator of the i
th rational fraction to vary, if equal to 0 then do not vary
InitFitFactors(i)
NFuncX1
NFuncEeV
NEngOut
NEngOut
greater than zero then generate the list of energies using EngOutF
and
EngOutL
NEngOut
less than zero then read in a list of
NEngOut
energies
NEngOut
equal to zero then use the energies
at which the original matrix were computed.
EngOutF
EngOutL
EngOutv(1:-NEngOut)
InterpType
= 0
no final local interpolation, thus only the global
non-linear interpolation is done
= 1
do a polynmial interpolation
= 2
use cubic spline interpolation
OrderX
OrderE
EpsNLFit
This data record defines the input use in the vibrational averaging calculation for more than one dimension using the command VibAveN
DimModes, VibType
NumXV(1:DimModes)
(XV(1:NumXV(i), i), i = 1, DimModes)
XtoQDef(1:DimModes,1:DimModes), OmegaQDef(1:DimModes)
XEIni(1:DimModes), OmegaIni(1:DimModes)
XEIon(1:DimModes), OmegaIon(1:DimModes)
VibType
is equal to 2
then
VMax_Ini(1:DimModes), VMax_Ion(1:DimModes)
Nv_Ini_Out, Nv_Ion_Out
VibType
is equal to 1
and
Nv_Ini_Out
greater than 0
and Nv_Ion_Out
greater than 0
then
v_Ini(1:DimModes,1:Nv_Ini_Out)
v_Ion(1:DimModes,1:Nv_Ion_Out)
VibType
is equal to 2
then
MorsePot_Ini%n
MorsePot_Ini%beta(1:DimModes)
MorsePot_Ini%x0(1:DimModes)
(MorsePot_Ini%c(i), MorsePot_Ini%p(1:DimModes,i), i = 1, MorsePot_Ini%n)
MorsePot_Ion%n
MorsePot_Ion%beta(1:MorsePot_Ion%n)
MorsePot_Ion%x0(1:MorsePot_Ion%n)
(MorsePot_Ion%c(i), MorsePot_Ion%p(1:DimModes,i), i = 1, MorsePot_Ion%n)
(X_n_Vib(i), X_f_Vib(i), X_l_Vib(i), i = 1, DimModes), alpha
NumXVTotal
NumXVTotal
greater than 0
indXV(1:DimModes,1:NumXVTotal)
NumXVTotal
is read in as -1
then
inside the program it is reset to NumXV(1)*...*NumXV(DimModes)
X_nType
X_nType
equal to 4
then read
NXRays
DirXRays(1:DimModes,1:NXRays)
X_nType
equal to 5
then read
NXRays
(DirXOrigin(1:DimModes,k), DirXEnd(1:DimModes, k), X_n(k), k = 1, NXRays)
X_nType
not equal to 5
and X_nType
greater than 0
then read
(X_n(i), X_f(i), X_l(i), i = 1, DimModes)
X_nType
equal to 0
then read
X_nTotal, XI_n(1:DimModes,1:X_nTotal)
NumXVTotal
not equal to 0
then
i = 0
to NumXVTotal
FileNames(i), PhaseFix(i), NumRot(i),(IAxis(j, i), RotAngle(j, i), j = 1, NumRot(i))
NFitStep
equal to 0
NFitStep
NFitStep
not equal to 0
NFitStep, NLIterMax, WeightsNLFlag, WeightsIdyFlag, WeightsEnergyFlag
NFitStep
not equal to 0
then
WeightNLFlag
is not equal to 0
then read
WeightsNL(1:NumXVTotal)
WeightsIdyFlag
is not equal to zero then read
(WeightsIdyPoint(i), WeightsIdyVal(i), i = 1, WeightsIdyFlag)
WeightsEnergyFlag
not equal to 0
then read
(WeightsEnergyEVal(i), WeightsEnergyVal(i), i = 1, WeightsEnergyFlag)
NFitStep
greater than 0
then read
NTermFitExpr(1:NFitStep)
i = 1
to NTermFitExpr(NFitStep)
read
FitExpr(i)%nn, FitExpr(i)%nd
j = 1
to FitExpr(i)%nn
then
FitExpr(i)%n(j)%n, FitExpr(i)%n(j)%p, (FitExpr(i)%n(j)%c(k), FitExpr(i)%n(j)%e(k),
FitExpr(i)%n(j)%x(1:DimModes,k), k = 1, FitExpr(i)%n(j)%n), FitExpr(i)%n(j)%vary
j = 1
to FitExpr(i)%nd
then
FitExpr(i)%d(j)%vary
is greater or equal to 0
then read
FitExpr(i)%d(j)%n, FitExpr(i)%d(j)%p, (FitExpr(i)%d(j)%c(k), FitExpr(i)%d(j)%e(k),
FitExpr(i)%d(j)%x(1:DimModes,k), k = 1, FitExpr(i)%d(j)%n), FitExpr(i)%d(j)%vary
FitExpr(i)%d(j)%vary
is less than 0
then read
FitExpr(i)%d(j)%n, FitExpr(i)%d(j)%p, (FitExpr(i)%d(j)%c(k), FitExpr(i)%d(j)%e(k),
FitExpr(i)%d(j)%x(1:DimModes,k), k = 1, FitExpr(i)%d(j)%n), FitExpr(i)%d(j)%vary,
FitExpr(i)%d(j)%fi, FitExpr(i)%d(j)%fj
i = 1
to SUM(FitExpr(:)%nd)
then
InitFitFactors(i)
i = 1
to NTermFitExpr(NFitStep)
read
j = 1
to FitExpr(i)%nd
read
FitExpr(i)%d(j)%ref
NFuncXTotal, NFuncEeV
(IndNCoefFuncX(i), indPowFuncX(i), (indCoefFuncX(j, i), indFuncX(1:DimModes, j, i), j = 1,
indNCoefFuncX(i)), i = 1, NFuncXTotal)
EpsNLFit, Gamma
NumXVTotal
not equal 0
then read
NEngOut
greater than 0
then read
NEngOut, EngOutF, EngOutL
NEngOut
less than 0
then read
NEngOut, EngOutv(1:-NEngOut)
NEngOut
is equal to 0
then read
NEngOut
InterpType
greater than 0
but not equal to 5
then read
InterpType, OrderXTotal, WeightsMax, InterpPower
InterpType
is less than or equal to 0
or equalt to 5
then read
InterpType
InterpType
greater than 0
but not equal to 5
then read
(IndNCoefOrderX(i), indPowOrderX(i),(indCoefOrderX(j, i), indOrderX(:, j, i),
j = 1, indNCoefOrderX(i)), i = 1, OrderXTotal)
InterpType
equal to 3
or 4
then read
NSpRay, RayCut
RayDir(1:DimModes, 1:NSpRay)
DimModes
VibType
= 1
to use the harmonic approximation
= 2
to compute coupled anharmonic vibrational wave functions using
a Morse expansion to represent the potential
NumXV(i)
i
that is needed to define where the matrix elements have been computed
XV(1:NumXV, i)
RedMass(i)
XEIni(i)
X(i)
at the origin of of the normal modes for the initial state
XtoQDef
T(iQ, iX)
to multiply the input coordinate vector X
to obtain the defining normal mode Q(Def)
using Q = T*(X-Xe)
such that Q_i
= 1 corresponds to the classical turning point of the lowest vibrational
state which in the harmonic approximation has frequency OmegaQDef(i)
OmegaQDef
Q(Def)
normal mode coordinate system.
OmegaIni
XEIon
OmegaIon
VMax_Ini(i)
i
to use in the anharmonic calculation for the initial state vibrations.
The full basis set is formed as a direct product basis set
for harmonic oscillator functions in each normal mode.
VMax_Ion(i)
i
to use in the anharmonic calculation for the ion state vibrations.
Nv_Ini_Out
Nv_Ini_Out = 0
then write out cross sections on the X_n grid.
If Nv_Ini_Out = -1
then write out selected matrix elements on the X_n grid.
Nv_Ion_Out
Nv_Ini_Out = -1
then Nv_Ion_Out
gives the number of matrix elements
to write out from the list of largest magnitude matrix elements.
v_Ini(iMode,iState)
iState
contains the
quantum state v_Ini(iMode,iState)
from mode iMode
. A value of
v_Ini = 0
implies a ground harmonic oscillator state.
v_Ion(1:Nv_Ion)
v_Ini
for the electronic final (ion) state.
MorsePot_Ini%n
X
coordinates. This expansion
uses the form of the radial parts of Eq. (4) in Sankari et al., Chem. Phys. Lett. 380, 647 (2003).
MorsePot_Ini%beta(i)
i
in the initial state
MorsePot_Ini%x0(i)
i
in the initial state
MorsePot_Ini%c(i)
i
th term in the expansion
in the initial state
MorsePot_Ini%p(j, i)
j
in the i
th term
in the initial state
MorsePot_Ion%n
MorsePot_Ion%beta(i)
i
in the ion state
MorsePot_Ion%x0(i)
i
in the ion state
MorsePot_Ion%c(i)
i
th term in the expansion
in the ion state
MorsePot_Ion%p(j, i)
j
in the i
th term
in the ion state
X_n_Vib(i)
i
th direction in the
vibrational calculation
X_f_Vib(i)
i
th direction in the
vibrational calculation
X_l_Vib(i)
i
th direction in the
vibrational calculation. Note that the range of the vibrational calculation
must be larger than the range of coordinate used to compute the integrals
using the variables X_n(i)
, X_f(i)
, and
X_l(i)
.
alpha
X
.
This parameter is used to define a cutoff function that confines range of the
harmonic oscillator functions to the range defined by X_f_Vib
and
X_l_Vib
. The dependence on alpha
is of the form
exp(-alpha*(X-X_l_Vib))
NumXVTotal
NumXVTotal
is equal to 0
the
only do vibrational part of the calculation.
If NumXVTotal
is equal to -1
the use a direct product grid
and the value of NumXVTotal
in the program is set to
NumXV(1)*...NumXV(DimModes)
.
indXV(i, j)
j
th point where the matrix elements have been computed
is defined as (XV(indXV(i, j), i), i = 1, DimModes)
X_nType
= 0
for explicit list
= 1
for Gauss Quadrature
= 2
for Simpson's rule
= 3
for aribtrarly spaced list
= 4
for plots along rays
= 5
for plots along line between two points
= -1
for full input list
NXRays
DirXRays(:,j)
j
th ray directiondirection from X = 0
used for interpolation
DirXOrigin(:,k)
DirXEnd(:,k)
X_n(i)
i
at which the matrix elements will be
interpolated. If rays are being used for interpolation, then this is for the i
th
ray.
X_f(i)
i
X_l
i
X_nTotal
XI_n(:,i)
FileNames(i)
i
th point in the list of NumXVTotal
points
PhaseFix(i)
i
th
point
NumRot(i)
IAxis(i)
RotAngle(i)
NFitStep
NLIterMax
WeightsNLFlag
WeightsIdyFlag
WeightsEnergyFlag
WeightsNL(i)
i
th point
WeightsIdyPoint(i)
WeightsIdyVal(i)
WeightsIdyPoint(i)
th
matrix element
WeightsEnergyFlag
WeightsEnergyEVal(i)
WeightsEnergyVal(i)
NTermFitExpr(1:NFitStep)
FitExpr(i)%nn
i
th rational fraction
FitExpr(i)%nd
i
th
rational fraction
FitExpr(i)%n(j)%n
j
th
term in the numerator for the i
th rational fraction
FitExpr(i)%n(j)%p
FitExpr(i)%n(j)%c(k)
k
th power series factor in the j
th term in the
numerator of the i
th rational fraction
FitExpr(i)%n(j)%e(k)
k
th factor in the j
th term in the
numerator of the i
th rational fraction
FitExpr(i)%n(j)%x(:,k)
k
th factor in the j
th term in the
numerator of the i
th rational fraction
FitExpr(i)%n(j)%vary
j
th term in the
numerator of the i
th rational fraction to vary, if equal to 0 then do not vary
FitExpr(i)%d(j)%n
j
th
term in the denominator for the i
th rational fraction
FitExpr(i)%d(j)%p
FitExpr(i)%d(j)%c(k)
k
th power series factor in the j
th term in the
denominator of the i
th rational fraction
FitExpr(i)%d(j)%e(k)
k
th factor in the j
th term in the
denominator of the i
th rational fraction
FitExpr(i)%d(j)%x(:,k)
k
th factor in the j
th term in the
denominator of the i
th rational fraction
FitExpr(i)%d(j)%vary
j
th term in the
denominator of the i
th rational fraction to vary, if equal to 0 then do not vary.
If FitExpr(i)%d(j)%vary
then read in %fi and %fj and constrain the coefficient
of this term to be the same as that in FitExpr(ABS(%fi))%d(%fj)
. If
%fi
is less than zero then constrain this parameter to have the same value
but opposite sign to the term in FitExpr(i)%d(j)%vary
FitExpr(i)%d(j)%fi
FitExpr(i)%d(j)%fj
InitFitFactors(i)
FitExpr(i)%d(j)%ref
NFuncXTotal
NFuncEeV
E
are used.
IndNCoefFuncX(i)
indPowFuncX(i)
indPowFUncX
are indexes in a list
of orthogonal polynomials so that a term with index 1
corresponds to
term with order 0
indCoefFuncX(j, i)
indFuncX(1:DimModes, j, i)
EpsNLFit
Gamma
Gamma
, the closer the parameters will be to the reference values.
Typical value is 0.04.
NEngOut
NEngOut
greater than zero then generate the list of energies using EngOutF
and
EngOutL
NEngOut
less than zero then read in a list of
NEngOut
energies
NEngOut
equal to zero then use the energies
at which the original matrix were computed.
EngOutF
EngOutL
EngOutv(1:-NEngOut)
InterpType
= 0
no final local interpolation, thus only the global
non-linear interpolation is done
= 1
do a polynmial interpolation
= 2
use a cubic spline interpolation for energy and polynomial MLS on geometry
= 3
do a polynmial interpolation along the interpolation rays
= 4
use a cubic spline interpolation along the interpolation rays and energy and polynomial
MLS in between rays
= 5
use a cubic spline interpolation on the direct product grid for all dimensions
OrderXTotal
WeightsMax
InterpPower
IndNCoefOrderX(i)
indPowOrderX(i)
indCoefOrderX(j, i)
indOrderX(1:DimModes, j, i)
NSpRay
RayCut
RayDir(1:DimModes,i)
This data record defines the input use in the vibrational averaging calculation for more than one dimension using the command VibAveNI
If present, this data record indicates that the one dimensional vibrational averaging calculation is for a bending mode of a linear molecule. This record then contains the information needed for the bending mode calculation.
LambdaIni, LambdaIon
LambdaIni
LambdaIon
This data record defines the Cartesian grid that ViewOrb uses to expand various orbitals.
corig, ((caxis(k, i), k = 1, 3), i = 1, 2)
igrid = 1
to 3
readcmin(igrid), cmax(igrid), cstep(igrid)
corig(1:3)
caxis(k, i)
caxis(1:3,1)
and caxis(1:3,2)
are two
of the vectors that define the axes of the cartesian coordinate system.
The third vector is obtained from the cross product
c3 = c1 x c2
.
cmin(igrid)
igrid
th defining vector (in Angstroms).
cmax(igrid)
igrid
th defining vector (in Angstroms).
cstep(igrid)
igrid
th defining vector (in Angstroms).
This data record defines the spherical polar grid that ViewOrb uses to expand various orbitals.
corig, ((caxis(k, i), k = 1, 3), i = 1, 2)
rmin, rmax, rstep
thetamin, thetamax, thetastep
phimin, phimax, phistep
corig(1:3)
caxis(k, i)
caxis(1:3,1)
and caxis(1:3,2)
are two
of the vectors that define the axes of the cartesian coordinate system.
The third vector is obtained from the cross product
c3 = c1 x c2
.
rmin
rmax
rstep
thetamin
thetamax
thetastep
phimin
phimax
phistep
This data record defines the radial grid that ViewOrb uses to write the partial wave expansions of orbitals.
ExpLMax, rmin, rmax, rstep
ExpLMax
rmin
rmax
rstep
This data record contains the parameter used to divide up the grid for the different processors. Default value is 1.5.
top