Tools for machine learnt interatomic potentials
Project description
janus-core
Tools for machine learnt interatomic potentials
Features in development
- Support for multiple MLIPs
- MACE
- M3GNET
- CHGNET
- Single point calculations
- Geometry optimisation
- Molecular Dynamics
- NVE
- NVT (Langevin(Eijnden/Ciccotti flavour) and Nosé-Hoover (Melchionna flavour))
- NPT (Nosé-Hoover (Melchiona flavour))
- Nudge Elastic Band
- Phonons
- vibroscopy
- Training ML potentials
- MACE
- Fine tunning MLIPs
- MACE
- Rare events simulations
- PLUMED
The code relies heavily on ASE, unless something else is mentioned.
Development
- Install poetry
- (Optional) Create a virtual environment
- Install
janus-core
with dependencies:
git clone https://github.com/stfc/janus-core
cd janus-core
pip install --upgrade pip
poetry install --with pre-commit,dev,docs # install extra dependencies
pre-commit install # install pre-commit hooks
pytest -v # discover and run all tests
Manually updating ASE via https://gitlab.com/ase/ase is strongly recommended, as tags are no longer regularly published. For example:
pip install git+https://gitlab.com/ase/ase.git@b31569210d739bd12c8ad2b6ec0290108e049eea
To prevent poetry downgrading ASE when installing in future, add the commit to pyproject.toml:
poetry add git+https://gitlab.com:ase/ase.git#b31569210d739bd12c8ad2b6ec0290108e049eea
Examples
Single Point Calculations
Perform a single point calcuation (using the MACE-MP "small" force-field):
janus singlepoint --struct tests/data/NaCl.cif --arch mace_mp --calc-kwargs "{'model' : 'small'}"
This will calculate the energy, stress and forces and save this in NaCl-results.xyz
, in addition to generating a log file, singlepoint.log
.
Additional options may be specified. For example:
janus singlepoint --struct tests/data/NaCl.cif --arch mace --calc-kwargs "{'model' : '/path/to/your/ml.model'}" --property energy --log './example.log' --write-kwargs "{'filename': './example.xyz'}"
This defines the MLIP architecture and path to your locally saved model, as well as changing where the log and results files are saved.
Note: the MACE calculator currently returns energy, forces and stress together, so in this case the choice of property will not change the output.
For all options, run janus singlepoint --help
.
Geometry optimization
Perform geometry optimization (using the MACE-MP "small" force-field):
janus geomopt --struct tests/data/H2O.cif --arch mace_mp --calc-kwargs "{'model' : 'small'}"
This will calculate optimize the atomic positions and save the resulting structure in H2O-opt.xyz
, in addition to generating a log file, geomopt.log
.
Additional options may be specified. This shares most options with singlepoint
, as well as a few additional options, such as:
janus geomopt --struct tests/data/NaCl.cif --arch mace_mp --calc-kwargs "{'model' : 'small'}" --fully-opt --vectors-only --traj 'NaCl-traj.xyz'
This allows the cell to be optimised, allowing only hydrostatic deformation, and saves the optimization trajector in addition to the final structure and log.
For all options, run janus geomopt --help
.
License
Funding
Contributors to this project were funded by
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for janus_core-0.1.0b3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a8d899f1fa0e437f08205908d9ad6d349fd800df7efd25213f425330a9cf639 |
|
MD5 | a14c9d3312a916b8bbd9343c78017c3c |
|
BLAKE2b-256 | c03501c56515717a36ace5af76912515b395f0e06f8095e8ef3e720311f9d201 |