Introduction
Socorro is a modular, object oriented code for performing self-consistent electronic-structure calculations utilizing the Kohn-Sham formulation of density-functional theory. Calculations are performed using a plane wave basis and either norm-conserving pseudopotentials or projector augmented wave functions. Several exchange-correlation functionals are available for use including the local-density approximation (Perdew-Zunger or Perdew-Wang parameterizations of the Ceperley-Alder QMC correlation results) and the generalized-gradient approximation (PW91, PBE, and BLYP). Both Fourier-space and real-space projectors have been implemented, and a variety of methods are available for relaxing atom positions, optimizing cell parameters, and performing molecular dynamics calculations.
Executables
Below are listed the various executables created after building socorro
socorro | The main executable. Used to perform electronic structure calculations. |
check_symmetry | Used to determine the symmetry of a set of atom coordinates in a parallelpiped and, optionally, to symmetrize the atom coordinates to machine precision. |
check_kpoints | Used to determine the symmetry of a set of atom coordinates in a parallelpiped and the Monkhorst-Pack special k-points for a set of Monkhorst-Pack parameters. |
taginfo | Used to view the data blocks in a restart file. |
Unit conventions
Atomic units are used wherein energies are in Ryd, lengths are in Bohr, and e2 = 2 Ryd*Bohr. Calculations are always performed using periodic boundary conditions and Kohn-Sham functions (wave functions) are represented either on a real-space mesh or a reciprocal-space mesh. One representation can be transformed into the other via a Fourier transform and a wave function is normalized such that:
- sum(phi_i*conjg(phi_i)) = N, where the sum is over the N real-space mesh points in a periodic cellsum(phi_i*conjg(phi_i)) = 1, where the sum is over the reciprocal-space mesh points
With these conventions, the real-space to reciprocal-space Fourier transform is scaled by 1/N.
Tips for dealing with memory problems.
When performing calculations for large numbers of atoms and/or large cutoffs, the memory requirements may exceed the amount of RAM resulting in poor performance due to swapping to disk or in a crash. The remedy for this is to reduce the size of the calculation by lowering the energy cutoff or increase the memory by increasing the number of processors. If the problem occurs in the decomposition of the Kohn-Sham functions, you can decrease the memory requirement by setting the dcomp_memory tag to s.
« | TOC | Input/Output Files »