Skip to content

jzhang-github/AGAT

Repository files navigation

AGAT (Atomic Graph ATtention networks)

GitHub Pypi PyPI - Downloads PyPI - Wheel

The PyTorch backend AGAT is available now, try with pip install agat. For previous version, install with pip install agat==7.*.



Model architecture

Using AGAT

The documentation of AGAT API is available.

Installation

Install with conda environment

  • Create a new environment

    conda create -n agat python==3.10
  • Activate the environment

    conda activate agat
  • Install PyTorch,
    Navigate to the installation page and choose you platform. For example (GPU):

    conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
  • Install dgl.
    Please navigate to the Get Started page of dgl. For example (GPU):

    conda install -c dglteam/label/cu118 dgl
  • Install AGAT package

    pip install agat
  • Install CUDA and CUDNN [Optional].

    • For HPC, you may load CUDA by checking module av, or you can contact your administrator for help.
    • CUDA Toolkit
    • cuDNN

Quick start

Prepare VASP calculations

Run VASP calculations at this step.

Collect paths of VASP calculations

  • We provided examples of VASP outputs at VASP_calculations_example.
  • Find all directories containing OUTCAR file:
    find . -name OUTCAR > paths.log
    
  • Remove the string 'OUTCAR' in paths.log.
    sed -i 's/OUTCAR$//g' paths.log
    
  • Specify the absolute paths in paths.log.
    sed -i "s#^.#${PWD}#g" paths.log
    

Build database

from agat.data import BuildDatabase
if __name__ == '__main__':
    database = BuildDatabase(mode_of_NN='ase_dist', num_of_cores=16)
    database.build()

Train AGAT model

from agat.model import Fit
f = Fit()
f.fit()

Application (geometry optimization)

from ase.optimize import BFGS
from agat.app import AgatCalculator
from ase.io import read
from ase import Atoms

model_save_dir = 'agat_model'
graph_build_scheme_dir = 'dataset'

atoms = read('POSCAR')
calculator=AgatCalculator(model_save_dir,
                          graph_build_scheme_dir)
atoms = Atoms(atoms, calculator=calculator)
dyn = BFGS(atoms, trajectory='test.traj')
dyn.run(fmax=0.05)

Application (high-throughput prediction)

from agat.app.cata import HpAds

model_save_dir = 'agat_model'
graph_build_scheme_dir = 'dataset'
formula='NiCoFePdPt'

ha = HpAds(model_save_dir=model_save_dir, graph_build_scheme_dir=graph_build_scheme_dir)
ha.run(formula=formula)

For more custom manipulations, see our documentation page.

Some default parameters

agat/default_parameters.py; Explanations: docs/sphinx/source/Default parameters.md.

Change log

Please check Change_log.md