From OctopusWiki
Jump to: navigation, search

This page contains the changes in the releases of Octopus.

[9.0] - To be released

  • Added a random number generator to the parser. MR:151
  • Added option to output the total energy density to a file. MR:217
  • Added an option to benchmark the LDA+U part of the code. MR:234
  • The DFT+U can now be used with domain parallelization (for empirical U only). MR:238
  • Changed the behaviour of the states randomization to generate real states at Gamma. MR:258
  • Support for PSP8 pseudopotential format. MR:265 MR:271
  • Several fixes and updates to the implementation of magneto-optics for solids within the Sternheimer approach. MR:267
  • Added the possibility to test the application of the Hamiltonian. MR:269
  • The oct-dielectric-function utility now allows for the calculation of transient absorption. MR:270
  • Added G=G'=0 term in the long-range contribution (LRC) to exchange-correlation kernel in Sternheimer approach. MR:274
  • Bugfix for the calculation of forces, if KPointsUseSymmetries=yes was used with zero-weight k-points. MR:276
  • Converted the oct-test utility into a calculation mode of Octopus. MR:281
  • Adding a contribution to the forces to take into account the SCF convergence, see Phys. Rev. B 47, 4771 (1993). MR:287
  • Set a new default damp factor for exponential and gaussian damping methods in the calculation of spectra. MR:299
  • Add the possibility to construct a LDA+U basis from states taken from a different calculation. MR:302
  • Implementation of more Gram-Schmidt orthogonalization schemes. MR:308
  • Add the possibility to select the Gram-Schmidt scheme used for the Arnoldi process (used for Lanczos exponential method). MR:310
  • Removed octopus-mpi dummy executable. MR:327
  • Removed the complex scaling method. MR:329 MR:344
  • Fixed bug in multigrid preconditioner. MR:331
  • Add input option DebugTrapSignals to enable or disable trapping signals inside the code. MR:333 MR:347
  • Added all the input files from the Octopus basics tutorials to the testsuite. MR:337
  • k-point parallelization is now used by default. MR:338 MR:358
  • Removed initial attempt to implement subsystem DFT as this was not mature enough. MR:343
  • Allow for changing the amount of screening taken into account in the ACBN0 functional. MR:348
  • Add the output of the electron-ion potential as an output of Output=potential_gradient. MR:360
  • Improved the mixing for DFT+U GS calculations. MR:367
  • Many optimizations:
  • Other bug fixes and improvements. MR:196 MR:215 MR:231 MR:251 MR:254 MR:261 MR:282 MR:288 MR:289 MR:294 MR:301 MR:305 MR:309 MR:313 MR:314 MR:317 MR:325 MR:326 MR:332 MR:336 MR:345 MR:352 MR:377

[8.3] - 2018-11-13

  • Fixed the value of the localMagneticMomentsSphereRadius variable for the case of one atom in a periodic system. MR:318
  • Fixed the xcrysden output for non-orthogonal cells. MR:354
  • Fixed several bugs in the eigensolvers. MR:355
  • The divergence was not correctly calculated for non-orthogonal cells, making GGA and MGGA calculations incorrect. MR:359
  • MoveIons = yes is now forbidden when either NLCC or DFT+U are used, as there is a missing term. MR:361
  • Fixed several missing OpenMP private statements. MR:368
  • Fixed bug in the calculation of the Ewald summation for 2D periodic systems. MR:380
  • Minor fixes. MR:366

[8.2] - 2018-08-08

  • Fix a problem of normalization of the NLCC for spinors. MR:293
  • MGGA should not be used with pseudopotentials that have non-linear core-corrections. MR:295
  • Fixed bug when TDMultipoleLmax = 0.. MR:300
  • Fix bug in Jacobi preconditioner. MR:303
  • KPointsUseTimeReversal input variable is not marked as experimental anymore. MR:306
  • Fixed bug affecting TDDeltaStrengthMode = kick_spin_and_density. MR:307
  • Fixed bug in the geometry optimization restart. MR:311
  • Fixed bug when reading geometry optimization constrains from xyz files in Angstroms. MR:312
  • Fixed incorrect display of the parallelepiped simulation box lengths. MR:316

[8.1] - 2018-07-06

  • Fix memory leak in Lanczos propagator. MR:241
  • Update experimental status for several features. MR:243
  • Fixed incorrect number of excited electrons in TD output with spin-polarization. MR:247
  • Fix problem with cylinder box for periodic systems. MR:253
  • Fix incorrect path to the td.general folder when using the oct-harmonic-spectrum utility. MR:278 MR:284
  • Fix LDA and PBEsol stringent pseudos sets that were using the standard ones instead. MR:279
  • Several minor fixes and improvements. MR:240 MR:242 MR:260 MR:266 MR:283

[8.0] - 2018-06-15

[7.3] - 2018-03-24

  • Fixed bug in Casida mode: for matrices of even size, half of the rows to be computed had one entry less than the other half, and some elements were computed twice, while others remained zero. MR:178

[7.2] - 2018-01-15

  • Fixed bug when using the aetrs propagator along with the lanczos method for the application of the exponential. MR:132

[7.1] - 2017-06-09

  • Fixed file missing from tarball. MR:83

[7.0] - 2017-06-06

  • Support for CUDA.
  • Improved assertions and error checking in the input file parser and added possibility to include another file into the input file.
  • More flexible jellium volumes: The volumes can be constructed by summing and subtracting spheres and slabs.
  • Scissors operator for TD calculations.
  • Calculation of stress tensor.
  • Calculation of band structures by using the unocc run mode and by defining k-point paths.
  • New selection of MD integrators for the Fire algorithm.
  • Many bug fixes.

[6.0] - 2016-09-05

  • New numbering scheme. Now all releases have a major and minor number. Changes in the minor number indicate bug fix releases.
  • The octopus_mpi executable is gone. Now the octopus binary should be used in all cases.
  • New simpler and more flexible interface for Species block. This makes it easier to use external pseudopotentials.
  • Pseudopotential sets, included sets are HGH, SG15, and HSCV.
  • Support for UPF2 and ONCV pseudopotentials.
  • van der Waals corrections.
  • Support for libxc 3.0.0.
  • Solvation effects by using the Integral Equation Formalism Polarizable Continuum Model (IEF-PCM)

[5.0.1] - 2016-01-11

  • Several bug fixes to 5.0.0, including supporting GSL 2.0 and use of gcc version 5.0 or later for preprocessing Fortran.

[5.0.0] - 2015-10-07

  • Casida: excited-state forces and complex wavefunctions
  • More helpful treatment of preprocessor in configure script
  • Improvements and bugfixes to LCAO and unocc mode
  • Non-self-consistent calculations starting only from density in unocc (e.g. for bandstructure)
  • Utilities can be run in serial without MPI, even after compiling the code with MPI.
  • Hybrid meta-GGAs are enabled.
  • Bugfixes for partially periodic systems.
  • Linear-response vibrational modes: restart from saved modes and numerical improvements
  • FIRE algorithm for geometry optimization
  • OpenSCAD output for geometries and fields
  • VTK legacy output for scalar fields
  • More flexible and safer restart
  • Parallel mesh partitioning using Parmetis
  • New libISF Poisson solver

[4.1.2] - 2013-11-18

  • Several bug fixes to 4.1.1, including a critical bug that affected the calculation of GGA and MGGA exchange and correlation potentials.

[4.1.1] - 2013-09-03

  • Several bug fixes to 4.1.0.

[4.1.0] - 2013-06-12

  • Several bug fixes.
  • Compressed sensing for the calculation of spectra.
  • Improved GPU support.
  • Support for Libxc 2.0.x
  • Tamm-Dancoff approximation, CV(2) theory, and triplet excitations, in Casida run mode
  • PFFT 1.0.5 implementation as Poisson solver
  • FMM implementation through Scafacos library
  • Faster initialization
  • Added Doxygen comments to the source code
  • Support for BerkeleyGW output.

[4.0.1] - 2012-02-03

  • Several bug fixes to 4.0.0

[4.0.0] - 2011-06-19

  • Many bugfixes.
  • Several improvements for calculations on periodic systems.
  • Libxc is now a stand alone library.
  • Improved vectorization.
  • Experimental Scalapack parallelization.
  • Experimental OpenCL support (for GPUs).

[3.2.0] - 2009-11-24

  • Improved parallelization.
  • Support for cross compiling.
  • Initial support for Meta-GGAs.
  • Fixed several bugs with UPF pseudopotentials (they are still considered under development, though).
  • 4D runs for model systems.
  • Inversion of Kohn-Sham equation.
  • Hybrids with non-collinear spin.
  • Several new functionals in libxc.
  • Optimizations for Blue Gene/P systems.
  • Compilation fixes for several supercomputer platforms.

[3.1.1] - 2009-11-04

  • Fixed a dead-lock in time propagation.
  • Fixed unit conversion in the output.
  • Fixed a bug with parallel multigrid.
  • Disabled UPF pseudopotentials.
  • Hybrid OpenMP/MPI parallelization.

[3.1.0] - 2009-04-14

  • Pseudo-potential filtering.
  • Car-Parrinello molecular dynamics.
  • Parallelization over spin and k-points.
  • Improved parallelization over domains.
  • Improved calculation of unoccupied states.
  • Removed support for FFTW2.
  • Small performance optimizations.

[3.0.1] - 2008-05-08

  • Several bug fixes to 3.0.0

[3.0.0] - 2008-02-19

  • Physics
    • Hartree-Fock approximation
    • Hybrid XC functionals, more GGA functionals.
    • Sternheimer linear-response calculation of:
      • First-order dynamic hyperpolarizabilities.
      • Magnetic susceptibilities (experimental).
      • Van der Waals coefficients.
      • Vibrational frequencies and infrared spectra.
    • Optimal control theory.
    • Fast Ehrenfest molecular dynamics (
    • Circular dichroism.
  • Algorithms
    • Improved geometry optimization.
    • More precise calculation of forces.
    • Double-grid support.
    • Preconditioning for the ground state and Sternheimer linear response.
    • Interpolating scaling functions Poisson solver (J. Chem. Phys. 125, 074105 (2006)).
    • More pseudopotential formats supported.
  • Parallelization and optimization:
    • Non-blocking MPI communication.
    • OpenMP parallelization that can be combined with MPI.
    • Optimized inner loops, including hand-coded vector routines for x86 and x86_64 and assembler code for Itanium.
    • Optimized scheme to store non-local operators that results in higher performance, better scalability and less memory consumption.
    • Single-precision version (experimental).
  • Other:
    • New platform-independent binary format for restart files (old restart files are incompatible).
    • oct-help command-line utility.

[2.1.0] - 2007-06-05

  • The complex executable is gone, all the work is done by the normal (a.k.a real) executable. The type of the wavefunctions is selected automatically according to the input file.
  • Calculation of dynamical polarizabities using linear-response theory.
  • Basic support for full-potential all-electron species.
  • The texinfo documentation has been obsoleted and replaced by an online wiki-based documentation.
  • Debian packages are generated using the gfortran compiler.

[2.0.1] - 2006/03/23

  • Fixed bugs for the following cases:
    • Spin-unrestricted calculations for systems with non-local pseudopotentials were giving wrong numbers. For some atoms, the error was small, but there were cases for which the errors were sizeable.
    • Wrong units were used in a part of the Vosko, Wilk & Nusair correlation functional.
    • Parallel calculations with orbital-dependent xc functionals crashed under some circumstances.
    • Local magnetic moments were not computed properly when running parallel in domains.

[2.0.0] - 2006/02/17

  • Curvilinear coordinates: This is one of the main novelties. A general framework is implemented, and several different curvilinear systems are implemented. At this moment only the coordinate transformation of François Gygi is working well. The efficiency gained from using curvilinear coordinates can be as large as a factor of 2 or 3 in computational time. However, note that this method is not well suited if you want to move the ions.
  • Parallelization in domains: You will be able to run octopus in parallel in domains. This means that not only the real time is reduced, but also the memory is shared among the different nodes. Also some parts of the code will have a mixed parallelization. For example, the time-dependent propagation will be parallel both in domains and in states. This was basically the work of Florian Lorenzen and Heiko Appel.
  • Static response properties: Now Octopus can calculate the static polarizability and the first static hyperpolarizability. These are obtained by solving a Sternheimer equation. We have also planned the computation of vibrational properties. This was done mainly by Xavier Andrade and Hyllios. Instructions here
  • A larger selection of exchange-correlation functionals. This came with the development of the NANOQUANTA xc library. We have by now all LDAs and some GGAs. This library is also used by the newest version of ABINIT. We expect that the number of xc functionals available will increase rapidly.
  • A multigrid solver for the Poisson equation. Implemented by Xavier Andrade. (Note: not working with curvlinear coordinates)
  • Periodic Systems. Finally, the ground state seems to work at least for cubic systems. There is still some work remaining in order to run a time-dependent simulation. Implemented by Carlo Rozzi and Heiko Appel.
  • Spinors and Spin Orbit. Yes, spin-orbit works but only with HGH pseudopotentials. The calculations are quite heavy, though ;). Brought to you by Alberto Castro and Micael Oliveira.
  • Multi Subsystem Mode. Like ABINIT, now you can perform multiple runs with only one input file. Implemented by Heiko Appel.