Skip to main content

No project description provided

Project description

The package is used to create and test the machine learning potential (MLP), especially 2nd and 4th generation neural network potential proposed by Behler.

The package includes the base of the code, with useful scripting files in script folder

Requirements

The package requires the following packages:

  • numpy for array manipulation

  • pandas for result storage in script

  • torch for machine learning task

  • h5py for large data manipulation

  • scikit-learn for machine learning solving

  • tqdm for display progress

Installation

One can install the package using

pip install .

The script in the folder can be used separated with the package available.

Model supported

The package supports the short-range neural network potential (NNP) with the addition of dispersion correction MLXDM and Charge-Equilibration scheme. All models are included in combine files, and can be imported as

from mlpotential.combine import *

The list of supported models is:

  • ShortRangeModel traditional short-range NNP

  • ShortRangeEnsembleModel traditional short-range NNP with Ensemble

  • ChargeModel Charge-equilibration scheme with NNP

  • ChargeEnsembleModel Charge-equilibration scheme with Ensemble of NNP

  • DispersionModel NNP with MLXDM

  • DispersionEnsembleModel Ensemble of NNP with MLXDM

  • ChargeDispersionModel Charge-equilibration scheme with NNP and MLXDM

  • ChargeDispersionEnsembleModel Charge-equilibration scheme with Ensemble NNP and MLXDM

The workflow

For all model training, first prepare the data structure using dataloader module. See data_generation.py script for example.

  1. Short-range model

To train the short-range model, initialize the model by model/init.py script, train it with train/train_energy.py or train/train_force.py. For ensemble training, train a number of duplicate model (regenerate each for different initial parameters). Using model/merge.py to combine.

  1. Charge model

To train the charge model, first initialize the charge model by model/init.py script. Train the charge model with train/train_charge.py script. After that, modifiy the short-range model’s mean and generate new data file with charge_modification.py script. After that, train the short-range model with train/train_energy.py or train/train_force.py. Finally, combine the short-range part with the charge using model/merge.py script.

To utilize ensemble training, train duplicated model in the short-range training, similar to short-range model.

  1. Dispersion model

For disperson model, create 4 copies of dipsersion model using model/init.py script. Train all the models with train_xdm.py script, one each for m1, m2, m3, and v. After that, train the short-range model similar to section 1. then combine the model with model/merge.py

To utilize ensemble training, train duplicated model in the short-range training, similar to short-range model.

Citations

When using the package or script, please cite:

1. Tu, N. T. P.; Rezajooei, N.; Johnson, E. R.; Rowley, C. N. A Neural Network Potential with Rigorous Treatment of Long-Range Dispersion. Digital Discovery 2023, 2 (3), 718–727. https://doi.org/10.1039/D2DD00150K.

2. Tu, N. T. P.; Williamson, S.; Johnson, E. R.; Rowley, C. N. Modeling Intermolecular Interactions with Exchange-Hole Dipole Moment Dispersion Corrections to Neural Network Potentials. J. Phys. Chem. B 2024, 128 (35), 8290–8302. https://doi.org/10.1021/acs.jpcb.4c02882.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

combinenet-1.0.0.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

combinenet-1.0.0-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file combinenet-1.0.0.tar.gz.

File metadata

  • Download URL: combinenet-1.0.0.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for combinenet-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a1ca1603458cfd20ee8ab673596f29564bd2e20815fc3d3ce7a752ef5f51bdd3
MD5 d12d15e83a988d3296f8a4a8037db725
BLAKE2b-256 3b3c49f048177b62219b929bde1ce929a6606e37b434dc8bd57deb8993cc3beb

See more details on using hashes here.

File details

Details for the file combinenet-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: combinenet-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for combinenet-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32b28071432c374cab1834ed6233dd73d3b0bdde9e60515fa8f15eb04135bd7c
MD5 c215a8ac0292e2c1697fb60a6fb1863f
BLAKE2b-256 b52a1dd2af51c7307a40e48aeded179dba148539c8474f2b0223ab6834f6f719

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page