Changes
From OctopusWiki
This page contains the changes in the releases of Octopus.
Contents
- 1 [9.0] - To be released
- 2 [8.3] - To be released
- 3 [8.2] - 2018-08-08
- 4 [8.1] - 2018-07-06
- 5 [8.0] - 2018-06-15
- 6 [7.3] - 2018-03-24
- 7 [7.2] - 2018-01-15
- 8 [7.1] - 2017-06-09
- 9 [7.0] - 2017-06-06
- 10 [6.0] - 2016-09-05
- 11 [5.0.1] - 2016-01-11
- 12 [5.0.0] - 2015-10-07
- 13 [4.1.2] - 2013-11-18
- 14 [4.1.1] - 2013-09-03
- 15 [4.1.0] - 2013-06-12
- 16 [4.0.1] - 2012-02-03
- 17 [4.0.0] - 2011-06-19
- 18 [3.2.0] - 2009-11-24
- 19 [3.1.1] - 2009-11-04
- 20 [3.1.0] - 2009-04-14
- 21 [3.0.1] - 2008-05-08
- 22 [3.0.0] - 2008-02-19
- 23 [2.1.0] - 2007-06-05
- 24 [2.0.1] - 2006/03/23
- 25 [2.0.0] - 2006/02/17
[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
- Optimization of some DFT+U routines for the non-packed case using blas. MR:235
- The DFT+U can now be used with domain parallelization (for empirical U only). MR:238
- Improved performance for the application of the non-local part of the pseudopotentials. MR:255 MR:321 MR:322
- Optimization of the application of the phase in the exponential methods. MR:252 MR:323 MR:330
- 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
- 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
- Other bug fixes and improvements. MR:196 MR:215 MR:231 MR:246 MR:251 MR:254 MR:261 MR:275 MR:282 MR:288 MR:289 MR:294 MR:301 MR:309 MR:313 MR:314 MR:317 MR:324 MR:325 MR:326 MR:332 MR:334 MR:335 MR:336 MR:340 MR:345
[8.3] - To be released
- Fixed the value of the localMagneticMomentsSphereRadius variable for the case of one atom in a periodic system. MR:318
[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
- Introduced the possibility of adding constrains for a geometry optimization. MR:80
- Update spglib to version 1.9.9. MR:84 MR:89 MR:207
- Option to output quantities integrated over a plane. MR:85
- Lattice vectors can now be specified using angles. MR:86
- Added two new pseudopotential sets, pseudodojo_lda and pseudodojo_pbe, taken from pseudo-dojo.org. MR:87 MR:170
- The atomic coordinates are now printed at the beginning of a calculation to exec/initial_coordinates. MR:88
- Support for Libxc 4. MR:90 MR:195
- Use of symmetries and reduction of Brillouin zone for non-magnetic periodic systems are now working. MR:96 MR:101
- Introduced DFT-D3 van der Waals corrections of S. Grimme et al (J. Chem. Phys. 132, 154104 (2010)). MR:99 MR:120 MR:121
- Information about failed tests is now printed at the end of the test suite run. MR:100
- The output of the total current is now done for the spin-resolved current. MR:107
- Calculation of HHG from the current with the oct-harmonic_spectrum utiltiy. MR:117
- Split the StatesPack input option into StatesPack and HamiltonianApplyPacked. MR:135
- New ExtraStatesToConverge input option. MR:143
- Updated ELPA supported version to 20170403. MR:149
- The FIRE algorithm is now used by default for Geometry Optimization runs. MR:152
- New CasidaPrintExcitations and CasidaWeightThreshold input options to control which excitations are written during a Casida calculation. MR:155
- New OutputGradientPotential input option. MR:161
- Output of Forces during real-time propagation. MR:165
- Support for PSML pseudopotential format. MR:166
- Non-equilibrium Time-dependent Polarizable Continuum Model MR:176 MR:202
- Output of electronic and current densities resolved in momentum space. MR:180
- New set option in the Species block MR:185
- RMDFT orbital optimization is now done using steepest descent by default. MR:145
- Default value for XCFunctional is taken, when available, from the pseudopotential. MR:171
- The band-gp.dat and bands-e_fermi.dat output files have been removed. MR:209
- New commutator-free Magnus propagator. See section 3.2 of https://arxiv.org/abs/1803.02113 for more details. MR:220
- DFT+U method. The U can be user defined (empirical), or determined self-consistently using the ACBN0 functional (PRX 5, 011006 (2015)). MR:221 MR:227 MR:228
- Support for AVX512 vector intrinsics. MR:225
- Many bugfixes and other improvements. MR:81 MR:91 MR:92 MR:95 MR:98 MR:104 MR:105 MR:108 MR:110 MR:112 MR:115 MR:119 MR:123 MR:125 MR:127 MR:130 MR:134 MR:137 MR:139 MR:141 MR:142 MR:144 MR:146 MR:147 MR:150 MR:153 MR:154 MR:156 MR:157 MR:158 MR:159 MR:163 MR:164 MR:168 MR:169 MR:172 MR:173 MR:175 MR:177 MR:182 MR:186 MR:187 MR:188 MR:189 MR:190 MR:191 MR:193 MR:194 MR:197 MR:198 MR:199 MR:200 MR:201 MR:203 MR:204 MR:205 MR:208 MR:210 MR:212 MR:214 MR:216 MR:218 MR:219 MR:229
[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 (http://arxiv.org/abs/0710.3321).
- 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.