Skip to content

v0.6.0

Compare
Choose a tag to compare
@jgreener64 jgreener64 released this 06 Jan 18:15
· 1238 commits to master since this release
  • Differentiable simulation works with Zygote reverse and forward mode AD on both CPU and GPU. General and specific interactions are supported along with neighbor lists. It does not currently work with units, user-defined types and some components of the package.
  • Significant API changes are made including a number of functions being renamed, thermostats being renamed to couplers and the removal of some types.
  • Simulation is renamed to System and the time step and coupling are passed to the simulator, which is passed to the simulate! function.
  • System is a sub-type of AbstractSystem from AtomsBase.jl and the relevant interface is implemented, allowing interoperability with the wider ecosystem.
  • Specific interactions are changed to store indices and parameters as part of types such as InteractionList2Atoms. Specific interaction force functions now return types such as SpecificForce4Atoms. Specific interactions can now run on the GPU.
  • Some abstract types are removed. NeighborFinder is renamed to AbstractNeighborFinder.
  • The potential_energy function arguments match the force function arguments.
  • File reader setup functions are called using System and return a System directly.
  • find_neighbors! is renamed to find_neighbors and returns the neighbors, which are no longer stored as part of the simulation.
  • VelocityFreeVerlet is renamed to StormerVerlet.
  • RescaleThermostat and BerendsenThermostat are added.
  • random_velocities! and velocity_autocorr are added.
  • VelocityLogger, KineticEnergyLogger and PotentialEnergyLogger are added.
  • DistanceVecNeighborFinder is added for use on the GPU.
  • Atomic charges are now dimensionless, i.e 1.0 is an atomic charge of +1.
  • HarmonicAngle now works in 2D.
  • Support for Julia versions before 1.7 is dropped.