Keeping a formal change log is new - started in version 3.10.
- Bug fix: Fix the temperature reported by atoms in parallel simulations with constraints.
- Fix a compilation issue with some C++ compilers (incl. gcc 4.8.5). Issue #46.
- Fix Atoms.get_moments_of_inertia() and Atoms.get_angular_momentum() for parallel simulations.
- Add ZeroRotation function to asap3.md.velocitydistribution as the one in ASE does not work for parallel simuations.
- Add Atoms.delete_atoms_globally to delete atoms in a parallel simulation.
- Fix NVTBerendsen and NPTBerendsen, so they work in parallel.
- Fix that changing boundary conditions could cause a crash (issue #44).
- Fix that FixAtoms would crash if multiple dynamics were using the same atoms.
- Fix that running some analysis tools between changing the atoms and calculating energies/forces would cause the energy/force calculation to crash or give wrong results (parallel simulations only, issue #43).
- Temporarily disable storing FixAtoms constraints in trajectory files in parallel simulations (would crash).
- Fix a small memory leak in parallel simulations (introduced with Python 3.X support).
- Fix a memory leak introduced in version 3.12.1.
- Account for removed degrees of freedom in the asap-optimized version of the FixAtoms constraint.
- Fix a corner case where compilation would crash (including for EasyBuild with GCC 10.X).
- Add an extra test of the LennardJones potential, confirming it worked as intended (but there was an error in the docs).
- Dropped support for Python 2.7 as ASE no longer supports this ancient version.
- Fix handling of temperature in all modules. Temperature should now be given in Kelvin using the named parameter temperature_K. The old way of specifying temperature is kept for backwards compatibility.
- Fix handling of pressure in constant-pressure dynamics, they now all use atomic units. (This point and the previous mirror the same changes in ASE).
- Parallel simulations no longer require a custom-built Python executable. Just start python with mpiexec and import the asap3 module.
- Now requires ASE version 3.21.1 or later.
- Fixes to the GitLab CI (they updated something).
- Better handling of CFLAGS when building in some environments (such as EasyBuild).
- Adaptations to ASE 3.18.1 and 3.19.0b1
- pbc removed from unit cell object.
- The time step parameter of VelocityVerlet renamed to timestep from dt.
- atoms.get_number_of_atoms() renamed to atoms.get_global_number_of_atoms().
- atoms.get_scaled_positions() will stop wrapping to [0,1[ per default.
- Move calculation of dynamic part of stress from Asap to ASE (expected in ASE 3.19). Note that Asap automatically will detect and old ASE and do the calculation itself.
- Move PrimiPlotter from ASE to Asap.
- get_neighbors_querypoint method added to FullNeighborList by Peter Jørgensen. Thanks!
- Obsolete tests removed from test suite, and some more MD algorithms tested properly.
- Remove the (obsolete) PickleBackend from the BundleTrajectory.
- Update build process to work in virtual environments.
- Update to handle OpenKIM's kim-api 2.1.2 (only the test suite was affected).
- Handle that massively parallel simulations may result in cores with no atoms (hopefully only rarely, as this hurts performance).
- Allow test suite to run on four cores as well as two.
- Small adaptiation to ASE 3.18.0.
- Bug fix release: Version 3.11.8 did not always compile with OpenKIM.
- Use pkg-config to locate OpenKIM library, if available.
- Asap to recent change in ASE: Atoms.cell may be something more complicated than a numpy array.
- OpenKIM version 2.0.2 has been released, necessitating a minor change in the build process.
- OpenKIM version 2.0.0 has officially been released, and a method name has changed since the last beta version. Asap was updated accordingly.
- Fix a small memory leak that also affected the exported OpenKIM model (thanks to the OpenKIM.org team for detecting it and helping me find it).
- OpenKIM models had their version number bumped due to fixing the memory leak, and their metadata updated to reflect best practice in the OpenKIM project.
- KIM models exported from Asap to the OpenKIM project have had their files updated with the KIM ID, and a few corrections.
Since compiling this version produces exactly the same modules as version 3.11.3 (a part from the version number), version 3.11.4 has not been released on PyPI and will not be installed on Niflheim.
- MAJOR CHANGE: Asap now uses OpenKIM version 2.X. Almost all version 1.X OpenKIM models have been ported. The main consequence of this change is that parallel simulations with OpenKIM models now works consistently.
- Numerous internal changes:
- Stop redefining assert() as a macro, it caused portability problems.
- Source tree slightly reorganized (new Potentials folder).
- Catch all C++ exceptions by reference.
- C++ potentials now calculate Virials which are converted to stresses in Python.
- Stop relying on the C++ 2011 standard, as surprisingly many compilers do not comply properly. This allows building with Anaconda Python on a Mac, where the default compiler does not include the c++ 2011 header files correctly.
- Fix a few installation issues: Really old system Python interfering (Issue #27) and failure to build with debugging Python (Issue #26).
- Update PTM module to latest version from https://github.com/pmla/polyhedral-template-matching (commit 2ea9c80).
- Compatibility with upcoming ASE release (iterimages method on Atoms object).
- Prevent compilation with versions of the Intel compiler known to be bad.
- Bug fix: Reusing an EMT calculator with atoms containing different elements could lead to crashes or even wrong results.
- Updates to the asap-sbatch script for submitting to some clusters (and let pip install it).
- Fix an incompatibility with ASE 3.15.0.
- Fix some compilation issues with some newer compilers.
- Add ability to set a RNG seed in Langevin dynamics, for deterministic MD runs. Thanks to Kasper P. Lauritzen for implementing this.
- Add analysis.findcluster and analysis.cutcluster modules (to be documented).
- Bug fix: PTM would sometimes crash (multiple bugs fixed).
- Bug fix: After a recent optimization, the dislocation setup module would lose the screw component of mixed dislocations 50% of the time.
- Bug fix: Langevin dynamics was totally broken when used with the FixAtoms constraints.
- Bug fix: The FixAtoms constraint was incorrectly written to Trajectory files, resulting in an unreadable file. It still does not work in parallel simulations.
- Bug fix: Optimized VelocityVerlet dynamics did not respect if the atoms had nonstandard masses.
- Updated test suite to reflect that the atomic masses in ASE have finally been updated to the latest IUPAC values (2016).
- Updated module for Creating nanocrystalline materials.
- Fix an issue where the Asap installtion script would fail on some Linux distributions if MPI was not available.
- Maintain compatibility with ASE version 3.13.
- Add BundleTrajectory.get_atoms_distributed message, see Input and output.
- Bug fix in PTMdislocation: classified atoms in stacking faults incorrectly.
- Return the ase.calculators.calculator.PropertyNotImplementedError if a propery is not defined by a calculator. With old ASE versions, return its own such exception - both are derived from NotImplementedError.
- Fix error in test suite that appeared with the upcoming NumPy version 1.12.0.
- Give a reasonable error message if one or more dimensions of the unit cell are zero (as produced by newest developer version of ASE).
- OpenKIM now supported in Python 3.X.
- More portable BundleTrajectory files (independent of Python version) with ASE 3.14 (supporting the Ulm backend for BundleTrajectory). Per default, also saves 50% on disk space by storing data in single precision.
- Bug fix: OpenKIM support was not enabled correctly when installing with setup.py.
- A 25% reduction in memory footprint (to approx. 800 bytes/atom for EMT), at no cost in performance (around 1% gain, actually).
- Fix the dislocation setup module for Python 3.
- Experimental support for compiling the EMT potential with Intel Math Kernel Library and GCC, giving almost as good performance as using the Intel compilers.
- Re-enable support for compiling with the Intel compiler for better performance.
- More reliable installation on different Linux distributions.
- Fixed PTMdislocation tool, so it works in parallel (PTM itself already worked)
- Parallel binary compiled with optimization everywhere.