Newtonian and stochastic dynamics backends for atooms
Project description
Dynamics
Newtonian and stochastic dynamics backends for atooms.
Quick start
Run a molecular dynamics simulation of a Lennard-Jones system from an existing xyz file
from atooms.trajectory import Trajectory
from atooms.simulation import Simulation
from atooms.dynamics.netwonian import VelocityVerlet
# Start from the last frame of input.xyz
trajectory = Trajectory('input.xyz')
system = trajectory[-1]
system.interaction = Interaction('lennard_jones')
backend = VelocityVerlet(system, timestep=0.002)
sim = Simulation(backend, steps=200)
sim.run()
Do the same via the API, storing configurations in output.xyz
,
from atooms.dynamics.api import md
md('input.xyz', 'output.xyz',
method='velocity-verlet', model='lennard_jones',
dt=0.002, nsteps=200, config_number=20)
or from the command line
md.py --method velocity-verlet -n 200 --dt 0.002 --config-number 20 input.xyz output.xyz
Features
Integration algorithms (work in progress)
- Netwonian dynamics
- velocity-Verlet
- Nose-Poincaré
- Berendsen thermostat/barostat
- event-driven
- Stochastic dynamics
- overdamped Langevin dynamics
Documentation
Check out the tutorial for more examples and the public API for full details.
Org-mode and jupyter notebooks are available under docs/
. You can run the tutorial interactively on Binder.
Installation
From pypi
pip install atooms-dynamics
You can clone the code repository and install from source
git clone https://framagit.org/atooms/dynamics.git
cd dynamics
make install
Contributing
Contributions to the project are welcome. If you wish to contribute, check out these guidelines.
Authors
Daniele Coslovich: https://www.units.it/daniele.coslovich/