ePolyScat is a suite of FORTRAN 90 programs and libraries that can be used to study electron-molecule scattering processes. The codes runs on distributed memory parallel computers using the MPI message passing library. The program can be used to study both scattering of electrons from neutral and ionic molecules and molecular photoionization. The current version of the codes only treats single electronic states using several different optical potentials to represent the interaction between the electron and the molecule. The primary potential is the static-exchange correlation-polarization (SECP) potential. The program can also treat positron-molecule scattering using a selection of model local potentials.
The code does not compute molecular orbitals but gets them from the output of a standard quantum chemistry program. Currently, we use the output from GAUSSIAN, MOLPRO (from the molden file), or GAMESS (US version).
Note that the current version can compute sattering from open-shell targets. However, the energy formulas that are computed using the GenFormPhIon and GenFormScat commands are only correct if the continuum is constrained to be orthogonal to all of the bound orbitals. This is not a restriction for photoionization from a closed-shell Hartree-Fock target since the continuum is naturally orthogonal to the orbital describing the hole state.
The codes have been developed as a collaboration of the groups of Lucchese and Gianturco beginning in 1993. The primary references for the development of the numerical methods used are given below in the bibliography.
A given calculation uses a series of major subroutines that exchange information through memory. There is only limited I/O to disk from the master node. The input file contains data records and commands. The data records are labeled and the different data records are defined elsewhere. The programs are set up to run under a UNIX like environment which requires a few environment variables to be defined. Finally, there are a number of sample jobs which illustrate how the ePolyScat suite can be run.
There are also some notes on important commands and data records that have been added to the program since the E3 distribution.
Please cite the following two papers when reporting results obtained with this program:
F. A. Gianturco, R. R. Lucchese, and N. Sanna, J. Chem. Phys. 100, 6464 (1994).
A. P. P. Natalense and R. R. Lucchese, J. Chem. Phys. 111, 5344 (1999).
This program makes use of single-center expansions. The truncation of the single-center expansion is controlled by the LMax input parameter. For publication quality results, we usually take LMax to be at least large enough so that all orbital normalization integrals, as given by ExpOrb, are at least 0.99. In the limit of infinite expansions, the normalization integrals would have the value of 1.0000. Looking at the normalization integrals is also a good way to check that ePolyScat has correctly read in the basis sets, geometry, and orbital expansion coefficients from the quantum chemistry code.
EMax controls two internal parameters. First is the density of the radial grid. Thus larger values of EMax lead to more radial points. In general, at higher energies a more dense grid is needed. The formula used in the program is somewhat conservative, so that the radial integrals will not deteriorate too quickly as EMax is exceeded. The second use for EMax is the selection of the value of LMaxA, which by default is the value of LMaxK. LMaxA is the maximum L in the asymptotic region. As higher kinetic energies are considered, the same impact parameters lead to higher angular momenta. LMaxK controls the maximum partial wave used in the homogeneous solutions of the scattering equations. For a given molecule, the larger the value of EMax the larger LMaxK needs to be to obtain converged cross sections. The one downside, is that when you compute low energy solutions, e.g. below 1 eV, the solution method that is used to compute scattering functions can fail when LMaxK is large. Thus if you want to do both very low energy and high energy (> 40 eV), you should probably use different values of EMax for low and high energy calculations.
The source code is in FORTRAN90 and requires the MPI and LAPACK libraries. To compile the codes, you run "make" in the main directory.
Note that in the usual wrapper scripts, the execution directory is set to a scratch directory different from the working directory at the time of the invocation of the wrapper. Thus any file names given as input to the program should have the full path, and not depend on the location of the working directory.
The number of cores that ePolyScat uses is set by the mpiwrapper that you are using where the mpirun command is invoked. For example in lrc_rrl.mpiwrapper.gen, there are two cases: If the program is being run interactively, the defalut value is 4 nodes, but this can be changed using the -nodes switch. If the program is being run in a SLURM queue, it is assumed that the queuing system interacts with mpirun and tells it how many nodes to use. Thus you need to find out how to run mpirun on your system when the job is being run either interactively or in the queueing system.
FegeEng is used in the calculation of the free electron gas approximation to the exchange potential. This model local exchange potential is used to obtain a first, iteration 0, guess for the scattering state. Subsequent iterations correct for errors in this approximation and lead to a result that is independent of the value of FegeEng that is used. Sometimes the iterative solution does not converge. In such cases, one trick to obtain convergence is to try different values of FegeEng.
One major limitation of the current ePolyScat program is that the target states of the molecule must be represented by single configuration state functions (CSFs). Thus you can compute the cross section for photoionization of a closed shell molecule from its ground state to one of the simple Koopmans' Theorem type simple hole ion state. Ionization from excited states is also possible but only using the one CSF approximation for the ion state.
Additionally, the initial state in a photoionization calculation cannot have spatial degeneracy.
In the root directory of the ePolyScat programs are the following subdirectors:
bin
extras
include
manual
src
tests
(LEN = 7)
with the five character symmetry name and two characters for the component,
or and an integer which indexes the IR and component in a single
list containing all IRs and their components.