# SeqQuest Atom file format

## Table of Contents

- Introduction
- Input file structure
- Details about input data
- Examples

## Introduction

This page gives a description of the structure of atom files (potentials and
basis sets) used in the DFT calculations.
It is possible to construct atom files for atoms with pseudopotentials,
all-electron atoms with bare-core potentials, and "floating" orbitals without
any potentials. Pseudopotentials with non-local projectors up to l=2 are
allowed (using l=3 as local), and partial core correction (Louie,
Froyen, and Cohen) is supported. Currently (v2.53), even though the code
will do spin-polarized DFT calculations, it cannot handle spin-polarized
*pseudopotentials*.
For each atom "type", the code requires information like the effective nuclear
charge, radial grids on which to do its integrals (these same grids are used
for local xc, Coulomb integrals), the pseudopotentials given on those grids,
and the contracted Gaussian basis sets associated with that atom type.
The default units energy units are Rydberg, and the distance unit is bohr.
In particular, pseudopotentials are given in Ry, and the Gaussian exponents
in the basis sets are in bohr^-2.

## Atom file format

The atom potential/basis data, while it can be input directly from the
input file, is intended to be read in from a separate file specified
in the input file.
Like other input sections to the code, the atom file input is
driven by keywords in such a way as to be self-documenting.
Unlike other input sections, the atom file input (1) has a very strict
order, and (2) data is usually highly formatted, not free-format.
There is optional input data, enclosed in square brackets [].
Because the atom files are collected in libraries, and can last a long time,
there are legacy pieces that serve no useful current function other than
backward compatibility.
`
`
** type number, label **
* itype, type_name * (i2,a24)
** [notesN]** - *N* lines of notes describing atom
* N comments line(s) * (a80)
** [mass ]** - atomic mass for this atom type
* atom_mass * (d16.8)
** [energy]** - reference energy for atom
* atom_energy * (d16.8)
** effective nuclear charge ** - valence charge of atom
* z_valence * (d16.8)
- if( z_valence .eq. 0 ) goto basis: - skips grids/ppots for floating orbs
** pseudopotentials: Lmax, and effective gaussian range **
* L_max, gaussian * (free format int, real)
** [functional type used in generating potential]**
* gmethod * (a8)
** radial mesh: **number of points for local and non-local pot integrals
* N_loc, N_nonloc * (two free format integers)
** mesh points for nuclear potential **
* ( rmesh(i), i = 1, N_loc ) * (3x,6f12.8)
** radwts: weights for radial points **
* ( weight(i), i = 1, N_loc ) *(3x,6f12.8)
- if( L_max .lt. 0 ) goto basis: - skips ps-pot for bare core atom
- do L_pot = 0,L_max
** non-local potential: l,potential*integration weight **
* L_pot, ( pspot(i,L_pot), i = 1, N_loc ) *(i2,1x,6f12.8/(3x,6f12.8))
- enddo
** [partial core charge density] **
* ( corecharge(i), i = 1, N_loc ) *("-3",1x,6f12.8/(3x,6f12.8))
- basis:
** number of radial functions** - number of shells in basis
* n_shell * (i2)
- do i_shell = 1, n_shell
** angular momentum, number of alphas **
* L_shell, n_gaus_shell * (i2,1x,i2)
** alphas ** - gaussian exponents of contracted function
* ( alpha(i), i = 1, n_gaus_shell ) * (4d16.8)
** wave function coefficients ** - contraction coefficients
* ( c_alpha(i), i = 1, n_gaus_shell ) * (4d16.8)
- enddo
** shell occupancies ** - reference atom shell occupancies
* ( occup_shell(i_shell), i_shell = 1, n_shell ) * (3x,6f12.8)
** end atom file **

Return to Top

## Detailed explanation of input data

#### type number, label

This data, the type number (int) and an atom name (char) are not used
in the code (unless the atom data is placed directly in the SeqQuest
input file rather than through a separate file, in which case the
type number keeps the sequence number of the atom type). This input
is subject to change at some future date. Currently, enter a "1" for
the atom type number, and give a name to the atom. Up to 24 characters
are kept internally, but using the elemental symbol is usually best.
#### notesN

The purpose of this section is to document the pedigree of the atom
file - who constructed the file when, using what kind of pseudopotential
generator, and basis refined in what kind of system, etc.
#### mass

This data is optional (and can be overridden in the setup phase input).
It is used in the dynamical geometry (ASD, damped dynamics, MD) updates.
The units are atomic units, e.g., mass(carbon) = 12.0.
#### energy

This data is optional (and can be overridden in the setup phase input).
It is a "reference" energy (Rydberg) for this atom type, and is used
in computing a "binding energy" for a calculation, i.e., the total
scf energy minus the sum of the atomic reference energies.
#### effective nuclear charge

The effective nuclear charge ... the valence Z of the pseudo-atom.
#### pseudopotentials: Lmax, and effective gaussian range

The max angular momentum included in the pseudopotential, and an
effective range for the potential, expressed as a Gaussian exponent.
This latter is used in computing a cutoff criterion for the evaluation
of non-local potential matrix elements between basis functions (themselves
composed of Gaussians). Since the potential is expressed on a radial
grid (rather than as Gaussian fits), an effective Gaussian must be
provided. The practice for Quest is to use the appropriate longest
(i.e., smallest) Gaussian in the pseudopotential fits in: PRB 26, 4199 (1982).
#### functional type used in generating potential OPT

Optional data. Documents which flavor of DFT used to generate the potential.
Should use the same flavor of DFT to generate the atomic pseudpotential as
in the Quest calculation, but the code does not currently enforce this.
#### radial mesh:

The number of points in the radial mesh about this atom type,
and the maximum number of points used
#### mesh points for nuclear potential

The radial mesh, currently logarithmic, used in evaluating both the local
(xc and Coulomb) and non-local pseudopotential integrals over this atom.
It *must* be strictly monotonically increasing, and must *not*
include the origin (r=0).
#### radwts: weights for radial points

The integration weights for each of the radial points.
#### non-local potential:

The pseudopotential projectors, by angular momentum, on the radial mesh.
#### partial core charge density

Optional data. If provided, this is the partial core charge density
as described in Louie, Froyen, and Cohen.
#### number of radial functions

For the basis set, the number of independent contracted radial shells.
In other words, the number of "zetas". For example, a double-zeta-s,
double-zeta-p, single-zeta d-polarization basis for a carbon atom
would amount to five shells.
#### angular momentum, number of alphas

The angular momentum for this shell, and the number of contracted
Gaussians in this shell.
#### alphas

The exponents for the Gaussians in this contracted function.
These values *must* be in strictly increasing order, and should be
separated by at least a factor of two between successive exponents.
#### wave function coefficients

The contraction coefficients for the primitive Gaussians in this shell.
The full contracted basis function need not be normalized; the code
will automatically apply a normalization internally.
#### shell occupancies

In the order of the basis shells given above, the (spherical) occupancies
of the shells that define the "reference" atom density used in Quest.

## Examples

Visit a Quest atom file library directory.

Return to Top
or User Guides
or SeqQuest Home

* Send questions and comments to: *
Peter Schultz
at
paschul@sandia.gov

* Last updated: *
December 3, 2004