Releases: JuliaMolSim/Molly.jl
Releases · JuliaMolSim/Molly.jl
v0.5.0
- Readers are added for OpenMM XML force field files and coordinate files supported by Chemfiles.jl. Forces, energies and the results of a short simulation exactly match the OpenMM reference implementation for a standard protein in the a99SB-ILDN force field.
- A cell neighbor list is added using CellListMap.jl.
CoulombReactionField
is added to calculate long-range electrostatic interactions.- The
PeriodicTorsion
interaction is added and the previous Ryckaert-BellemansTorsion
is renamed toRBTorsion
. - Support for weighting non-bonded interactions between atoms in a 1-4 interaction is added.
- The box size is changed from one value to three, allowing a larger variety of periodic box shapes.
- Support for different mixing rules is added for the Lennard-Jones interaction, with the default being Lorentz-Bertelot mixing.
- A simple
DistanceCutoff
is added. - Excluded residue names can now be defined for a
StructureWriter
. - The
placediatomics
andustripvec
functions are added. - The
AtomMin
type is removed, withAtom
now being a bits type andAtomData
used to store atom data. - Visualisation now uses GLMakie.jl.
adjust_bounds
is renamed towrapcoords
.
v0.4.0
- Unitful.jl support is added and recommended for use, meaning numbers have physical meaning and many errors are caught. More type parameters have been added to various types to allow this. It is still possible to run simulations without units by specifying the
force_unit
andenergy_unit
arguments toSimulation
. - Interaction constructors with keyword arguments are added or improved.
- The maximum force for non-bonded interactions is removed.
v0.3.0
- The spelling of "neighbour" is changed to "neighbor" throughout the package. This affects
NoNeighborFinder
,DistanceNeighborFinder
,TreeNeighborFinder
,find_neighbors!
and theneighbor_finder
argument toSimulation
. - Torsion angle force calculation is improved.
- A bug in force calculation for specific interactions is fixed.
- Support for Julia versions before 1.6 is dropped.
v0.2.2
- The
TreeNeighbourFinder
is added for faster distance neighbour finding using NearestNeighbors.jl.
v0.2.1
- Documentation is added for cutoffs.
- Compatibility bounds are updated for various packages, including requiring CUDA.jl version 2.
- Support for Julia versions before 1.5 is dropped.
v0.2.0
- Shifted potential and shifted force cutoff approaches for non-bonded interactions are introduced.
- An
EnergyLogger
is added and the potential energy for existing interactions defined. - Simulations can now be run with the
CuArray
type from CUDA.jl, allowing GPU acceleration. - The in-place
force!
functions are changed to out-of-placeforce
functions with different arguments. - The i-i self-interaction is no longer computed for
force
functions. - The Mie potential is added.
- The list of neighbours is now stored in the
Simulation
type. - Documentation is added for experimental differentiable molecular simulation.
- Optimisations are implemented throughout the package.
- Support for Julia versions before 1.3 is dropped.
v0.1.0
Initial release of Molly.jl, a Julia package for molecular simulation.
Features:
- Interface to allow definition of new forces, simulators, thermostats, neighbour finders, loggers etc.
- Read in pre-computed Gromacs topology and coordinate files with the OPLS-AA forcefield and run MD on proteins with given parameters. In theory it can do this for any regular protein, but in practice this is untested.
- Non-bonded interactions - Lennard-Jones Van der Waals/repulsion force, electrostatic Coulomb potential, gravitational potential, soft sphere potential.
- Bonded interactions - covalent bonds, bond angles, torsion angles.
- Andersen thermostat.
- Velocity Verlet and velocity-free Verlet integration.
- Explicit solvent.
- Periodic boundary conditions in a cubic box.
- Neighbour list to speed up calculation of non-bonded forces.
- Automatic multithreading.
- Some analysis functions, e.g. RDF.
- Run with Float64 or Float32.
- Physical agent-based modelling.
- Visualise simulations as animations.