Electronic Structure Laboratory

Qbox Release Notes

Note: bugs are numbered according to the entries in http://fpmd.ucdavis.edu/bugs

1.62.2

Implementation of an applied electric field.

1.61.0

Implementation of Optimized Norm-Conserving Vanderbilt (ONCV) potentials.

1.60.9

Various optimizations of the Hartree-Fock exchange and bisection algorithms.

1.60.4

Extended the choice of FFT libraries to include FFTW3 and ESSL.

1.60.0

Variable scf_tol introduced to set the tolerance of the convergence of SCF iterations. Variable alpha_PBE0 introduced to allow for modifications of the coefficients of the Hartree-Fock exchange operator in the PBE0 exchange-correlation functional.

1.58.0

Spin-polarized MLWFs. Stress implementation for PBE0 functional. Various bug fixes (see file src/notes).

1.56.2

Hybrid density functionals PBE0 and B3LYP. Recursive subspace bisection algorithm. Improved polar decomposition algorithm.

1.54.2

CGCellStepper.C: fixed CG algorithm for simultaneous optimization of atomic positions and unit cell parameters.

1.54.1

Basis.C: Fixed bug 26: (could not build basis for some kpoints near the BZ boundary in some non-rectangular cells).

1.54.0

LineMinimizer.h: Limited the number of iterations in bracketing mode in the CG algorithm.
UnitCell.C: accept unit cells with orientation leading to negative volume and define the volume as fabs(a0*(a1^a2)).
CellStepper.C, CGCellStepper.C: implemented CG algorithm to optimize both cell parameters and atomic positions simultaneously (set cell_dyn CG). Moved implementation of common CellStepper member functions to CellStepper.C.

1.53.0

Added the rseed command to initialize random number generator. This can be used to avoid repeating the same sequence of random numbers when running many consecutive MD runs with a stochastic thermostat.
BOSampleStepper.C: reintroduced wf extrapolation when nite>1 (leads to improved energy conservation in liquids)

1.52.4

Introduced a USE_UUID macro in qb.C, uuid_str.[Ch] (some platforms have no uuid library) Fix bug 23: Wavefunction::set_nempty: added update occ when nempty=0.

1.52.3

Compilation with Xerces-C 3.

1.52.2

Commands are echoed between <cmd> and </cmd> tags. Added <eigenset> tag around eigenvalues.

1.52.0

Added the rescale_v command: rescales all velocities. Implemented the Bussi-Donadio-Parrinello thermostat.

1.51.0

Added external forces: atomic, pair or global. Added capability to load samples multiple times. Added capability to redefine species with the species command. Added uuid (universally unique identifier) in output.

1.50.3

Fixed I/O in the serial version.

1.50.4

Bugfix: Fixed uninitialized number of degrees of freedom in ConstraintSet. This may affect the printed value of the ionic temperature. See the Qbox bugs list

1.50.2

Updated to enable compilation of a serial version (not using MPI). Fixed headers in various files to include correct memcpy declaration.

1.50.1

This release fixes a bug that occasionally caused segmentation faults when using the wf_dyn = JD option.

1.50.0

Implementation of a Jacobi-Davidson algorithm for wavefunction optimization (set wf_dyn JD). Improved stability of the charge mixing algorithm by including Tikhonov regularization. New -atomic_density option for the run command to start iterations with an approximate superposition of atomic densities.

1.49.1

Improved the accuracy of the calculation of Esr.

1.48.0

Added a plot command to generate files in "xyz" or "cube" format. The files generated can be viewed using visualization programs such as VMD.

1.47.0

Implementation of multidimensional Anderson acceleration of charge mixing (see charge_mix_ndim variable). Implementation of a position constraint (see constraint command). Implementation of blocked molecular dynamics (BMD) for geometry optimization (see atoms_dyn variable). Modification of the Fourier interpolation of pseudopotential to guarantee higher accuracy (note: this may result in differences in total energies compared with previous versions. Differences are of the order of 5*10-6 Hartree).

1.45.3

Implementation of the client-server mode (-server option).

1.45.1

The implementation of SDCellStepper.C is modified to allow for compilation using the PGI compiler on Cray-XT4. The algorithm used is unchanged.

1.45.0

New features

  • A new "strain" command applies a deformation to the sample corresponding to a symmetric strain tensor. Maximally Localized Wannier Functions (MLWFs) can now be computed at each step of an MD simulation by setting the wf_diag variable to MLWF or MLWFC.
  • Bug fixes

  • The calculation of the stress tensor in 1.44.0 was incorrect when the unit cell was small compared to the rcps parameter (width of the gaussian pseudocharge distributions). The value of rcps is set to 1.5 (a.u.) in AtomSet.C. This affected calculations in which the unit cell is very small, e.g. containing only one atom. Bug fixed in 1.45.0.

  • 1.44.0

    New features

  • FFT grids have the same size at all k-points. Note: when reading sample files created with versions prior to 1.44.0, the wavefunctions are interpolated. This may introduce a small difference in the total energy of the sample.
  • Bug fixes

  • Corrected inefficient memory allocation in the "kpoint add" command
  • 1.43.2

    New features

  • Change of ecut: Changing the value of the ecut variable causes the wavefunction to be interpolated on the new basis. Useful to 1) compute the ground state by progressively increasing the value of ecut, or 2) save wavefunctions at low resolution to save disk space. Resizing of wavefunctions works for both increasing and decreasing values of ecut.
  • Change number of states: Changing the number of states (through a change of nempty or a change of net_charge) preserves the current wavefunctions. Useful to compute empty states after a calculation including only occupied states.
  • Parallel I/O: Improved implementation using MPI-IO
  • New structure optimization algorithms: SDA: Steepest Descent with Acceleration, implements a steepest descent algorithm with line minimization. CG: Conjugate gradient with line minimization
  • Flexible use of XML Schema documents species.xsd and sample.xsd: Parsing XML documents in the absence of the species.xsd and sample.xsd is now possible, with a message warning that validation could not be carried out.
  • Bug fixes

  • torsion command: sign of the torsion angle corrected.
  • Known bugs

  • The PSDA algorithm for wavefunction optimization only works for the k=0 (Gamma) k-point.

  • MPI operation

    The x86_64 FC8, FC6 and RedHat executables can be used on workstations where no mpich library is installed. The code can be run as
    $ ./qbox
    In that case, the files opened and written by qbox will reside in the directory where the executable is located. When working in a directory where the executable is not present, invoke qbox as
    $ ~/bin/qbox -p4wd .
    The parameter p4wd is needed to tell mpich to set the working directory to the current directory.
    If mpich is installed, qbox can be invoked as e.g.
    $ mpirun -np 2 ./qbox
    When using the mpirun command, the current working directory is automatically recognized by mpich. Note that on workstations having multiple CPUs, a corresponding number of mpi tasks can be used to speed-up the calculation. The above example can be used on a workstation having a dual core processor.