SeqQuest Features
Table of Contents
- Introduction
- Feature summary
- Future plans
Introduction
Quest is a general purpose electronic structure code based on density
functional theory. It uses pseudpotentials and a high quality local
orbital basis of contracted Gaussian functions in a linear combination
of atomic orbitals (LCAO) approach to solve the Kohn-Sham equations
fully self-consistently.
Feature summary (Version 2.61)
- Basic functionality
- General purpose electronic structure code:
finite molecular, 1D chain, 2D slab, or 3D bulk
- Density functional, pseudopotential, contracted Gaussian LCAO basis
- Self-consistent total energies
- Analytic forces and stresses, with full Pulay terms
- Cartesian or lattice/fractional/direct units for atomic positions
- Cartesian representation of lattice/supercell vectors
- User-specified general symmetry
- Used to constrain geometry and cell updates, reduce BZ sample
- No automatic detection of symmetry
- No completion of geometry from symmetry-unique set.
I.e., all atoms/cell parameters must be explicitly listed
- Library of symmetry definitions for many crystal symmetries
- Molecular dynamics
- Leapfrog Verlet integrators
- Equilibration and production MD phase
- Multiple MD methods: NVE; NVT: Berendsen, Hoover, temperature scaling
- Automated geometry and cell optimization
- Multiple optimization methods:
Modified Broyden, accelerated steepest descent, damped dynamics,
steepest descent, ...
- Full symmetry constraints enabled
- Constrained minimizations: "freeze"/relax selected atoms, some ad hoc bond constraints
- Uses results from previous step to accelerate SCF convergence
- Nudged elastic band (NEB) transition state finder
- MPI-parallel over images/beads/replicas, with parallel images
- Full suite of minimization methods
- Full symmetry constraints enabled
- Gamma-point, or complex k-point sampling
- User-specified k-vectors and weights, -or-
- Automatic grid generation and folding into Irreducible Zone
- Metallic or "closed shell" defect sampling methods
- Finite temperature (metallic) occupation method (Fermi-function)
- Closed shell (DDO-Discrete Defect Occupation), both 0K and finite temperature
- Limited post-processing tools
- Geometry history converter to MOLDEN or JMOL visualization
- Density of states, projected density of states
- Mulliken populations
- Band structure (2.62)
- Restartable - automatic checkpoint/status/restart capability
- Density Functional Approximation
- LDA: CAPZ - Ceperley/Alder as parameterized by Perdew/Zunger
- GGA: PBE, PW91, AM05, BLYP
- All available either with spin polarization, or without
- Fixed net spin, or automated optimization of spin polarization
- No anti-ferromagnetism
- No time-dependent DFT (planned), GW, meta-GGA etc.
- No exact exchange (yet)
- Supercell Approximation
- Proper finite vs. periodic basis
- Basis explicitly finite in non-periodic directions
- Net charge -- choice of boundary conditions
- Jellium neutralization of charged supercells - or -
- More rigorous Local Moment CounterCharge (LMCC) treatment
- Finite Defect Supercall Approximation, rigorous localized charge defects in bulk
- LMCC method (mixed boundary conditions Poisson solver) for local charges
- Chemical potential leveling, common electron reservoir for charge
- Discrete Defect Occupation (DDO) for defect occupations
- Jost model bulk polarization for charge bulk defects
- Automatic correction of slab dipole potential via LMCC
- Automatic LMCC treatment for molecular charge/dipole
- External applied electric field (non-periodic)
- No solvation fields (planned)
- No Berry Phase treatment
- Atomic potentials and basis sets
- Deployed in libraries, and invoked in input files
- Extensive
LDA atom library (70+ elements)
- Extensive
GGA/PBE library (70+ elements)
- GGA/PW91: Only Pt, Al (no plans for more)
-
AM05 : H and O,N,C, and Al,Si,K (Jun07) and Fe,Ni (Jan08), and growing
-
BLYP : H and O,N,C, and Al,Si,K (Jun07) (no plans for more)
- Norm-conserving pseudopotentials (optimized)
- Hamann/GNCPP for most atoms
- "Improved" Troullier-Martins for very "hard" atoms
- "Semi-local", i.e., non-separable form of potential used
- Highest angular projector used as local potential
- Non-linear core corrections (Louie,Froyen&Cohen) where needed
- No spin-polarized pseudopotentials
- No spin-orbit coupling (soon?)
- No projector operators, e.g., for hyperfine calculations
- Optimized high-quality contracted Gaussian basis sets
- Atom-centered and "floating" orbitals
- Double-zeta plus polarization (DZP) quality
- two radial degrees of freedom for strongly occupied shells
- single degree of freedom for polarization functions
- Developed and refined pseudo-variationally
- Pseudopotential/functional-specific basis sets
- Refinement in quantum calculations (e.g. C in diamond)
- Transferability checked (e.g. Ba in Ba metal and in BaO)
- No f-orbitals
- User-friendly input files
- Self-documenting: user-friendly,-readable,-modifiable
- Text-driven, with mostly free-format data input
- Modular by function (setup,relaxation,cell-opt, etc.)
- Extensive web-based documentation, with Tutorials
- Intelligent defaults - not necessary to define all inputs
- GUI completed for basic functionality.
- Efficient, portable, compact implementation
- Sequential (serial) workstation version
- MPI task-parallel version (multi-processor - faster, but not bigger)
Note: data-parallel development in progress, for bigger and faster
- MPI parallel-parallel-NEB version (multi-processor per image/bead/replica)
- Simple makefile, typically few minutes to build executable
(usually, just type: "make platform")
- Vanilla f77 implementation (g77-friendly)
- Highly-structured, disciplined
style
- Very limited (safe and portable) extensions only
- Static memory (with internal allocation via emulated pointers)
- Passed arguments, no global data (with some emulated "objects")
- Uses BLAS/LAPACK for performance (MPI and SCALAPACK+BLACS for parallel
eigensolves), no other external dependencies
- Portable: Linux, Mac, Compaq alphas, SGI, IBM, PC's (just because
we could), ...
- Performance
- Compact memory usage, which
enables >500 atoms on 2GB, >300 atoms on 1GB,
~160 atoms on 256MB workstation
- Linear scaling Hamiltonian (beyond second nearest neighbor)
- Turnover from O(N) Hamiltonian- to O(N^3) eigensolver-dominated
computation at ~200 bulk atoms
- Very fast for systems 50-300 atoms, even with "hard" atoms.
Return to Top
Future plans
The Quest code is under active development at Sandia National Laboratories,
and amongst our collaborators.
The intention is to:
- add new functionality (e.g., time-dependent DFT,
exact exchange, anti-ferromagnetism,
projectors, f-orbitals) to get better accuracy with improved DFT
approximations and to be able to explore new physics
- add and organize post-processing to better analyze the results
- further improve computational performance
- enhance usability through building graphical user interfaces
- integrate with other (semi-)empirical simulation methods (molecular
dynamics, force fields, solvation) in a "multiscale" approach
and better address materials problems of interest to Sandia in particular,
and the broader computational materials community in general.
See the news page for more details on
recent progress and future developments.
A major focus of our efforts in the near future is to implement and tune
parallelism in the code.
The current parallel code achieves useful scaling for
modest numbers (4-16) of processors, depending on problem size.
SeqQuest is NOT available under GPL, but is only available in a
limited fashion via no-fee licenses from Sandia National Labs.
Return to Top
or SeqQuest Home
Send questions and comments to:
Peter Schultz
at
paschul@sandia.gov
Last updated: September, 2010