MLWC is a package written in Python/C++, designed to calculate the dielectric properties of various materials combined with molecular dynamics. This package construct deep learning models using the Wannier centers calculated from DFT as training data to predict the dipole moments of the system with high accuracy and efficiency.
For more information, please check the documentation.
- interfaced with DFT packages, including CPMD and Quantum Espresso.
- implements the chemical bond-based approach, enabling high accuracy on finite and extended, small and large molecular systems.
- implements openMP and GPU supports, making it highly efficient for high-performance parallel and distributed computing.
- scripted using Pytorch, allowing for fast training with python and prediction with C++.
CPml.py
: Main command to train&test models.dieltools
: C++ interface for predicting bond dipoles.CPextract.py
: To retrieving data from DFT codes anddieltools
.CPmake.py
: To make input files for DFT codes.
Please visit the following webpage for installation and usage.
Python commands are easily installed via pip
as
git clone https://github.com/dirac6582/dieltools
cd dieltools
pip install .
We also support PyPI
and conda-forge
, and you can use them as
# PyPI
pip install mlwc
# conda-forge
conda install -c conda-forge mlwc
For C++ interface, we support CMake
. Please read the online documentation for details.
For simple instruction and sample input files, see examples
directory. Also, following commands output sample input files for each command.
CPtrain.py sample
CPmake.py sample
For detailed explanations, please explore the website.
The repository is organized as follows:
docs
: documentations.examples
: examples.examples/tutorial
: examples for tutorials explained in documentations.src/cpp
: source code of C++ interface.src/cmdline
: source code of python command line.src/cpmd
: source code for data processing.src/ml
: source code for deep neural network.src/diel
: source code for calculating dielectric property.script
: additional scripts for developers.test
: additional files for developers.
For a detailed explanation of the theory and implementation, please see the following publication.
- conda-forge support for C++ interface.
- Interface with
VASP
,Wannier90
. LAMMPS
integration for C++ interface.
The project MLWC is licensed under GNU LGPLv3.0. If you use this code in any future publication, please cite the following publication:
- Tomohito Amano (The University of Tokyo)
- Tamio Yamazaki (JSR-UTokyo Collaboration Hub, CURIE, JSR Corporation)