Skip to main content

Our version of the NIST-JARVIS ALIGNN optimized in terms of model performance and to some extent reliability, for large-scale deployments over the MPDD infrastructure by Phases Research Lab.

Project description

MPDD - ALIGNN Calculator

This tool is a modified version of the NIST-JARVIS ALIGNN optimized in terms of model performance and to some extent reliability, for large-scale deployments over the MPDD infrastructure by Phases Research Lab.

Critical Changes

Key modifications that were made here:

  • A set of models of interest has been selected and defined in config.yaml for consistency, readability, and easy tracking. These are the models which will be populating MPDD.

  • Dependency optimizations for running models, skipping by default installation of several packages needed only for training and auxiliary tasks. Full set can still be installed by pip install "mpdd-alignn[full]".

  • The process of model fetching was far too slow using pretrained.get_figshare_model(); thus, we reimplemented it similar to pySIPFENN by multi-threading connection to Figshare via pysmartdl2 we maintain, and parallelize the process on per-model basis. Model download is now 7 times faster, fetching all 7 default models in 6.1 vs 41.4 seconds.

  • Optimized what is included in the built package. Now, its package size is reduced 33.5 times, from 21.7MB to 0.65MB.

  • Streamlined operation, where we can get results for a directory of POSCARS for all default models in just 3 quick lines

    from alignn import pretrained
    pretrained.download_default_models()
    result = pretrained.run_models_from_directory('example.SigmaPhase', mode='serial')
    

    Which give us neat:

    [
        {
            'name': '22-Fe10Ni20.POSCAR',
            'ALIGNN-Alexandria Bandgap [eV]': 0.001391,
            'ALIGNN-Alexandria Formation Energy [eV/atom]': 0.095294,
            'ALIGNN-Alexandria Volume Per Atom [A^3]': 11.140231,
            'ALIGNN-JARVIS Bulk Modulus [GPa]': 183.945847,
            'ALIGNN-JARVIS Exfoliation Energy [meV/atom]': 350.855591,
            'ALIGNN-JARVIS Formation Energy [eV/atom]': 0.027578,
            'ALIGNN-JARVIS MBJ Bandgap [eV]': 0.017667,
            'ALIGNN-JARVIS Shear Modulus [GPa]': 74.540077,
            'ALIGNN-MP Formation Energy [eV/atom]': -0.045874,
            'ALIGNN-MP PBE Bandgap [eV]': 0.01164,
        },
        {
            'name': '2-Fe8Ni22.POSCAR',
            'ALIGNN-Alexandria Bandgap [eV]': 0.001679,
            'ALIGNN-Alexandria Formation Energy [eV/atom]': 0.25086,
            'ALIGNN-Alexandria Volume Per Atom [A^3]': 10.656669,
            'ALIGNN-JARVIS Bulk Modulus [GPa]': 187.983017,
            'ALIGNN-JARVIS Exfoliation Energy [meV/atom]': 352.69455,
            'ALIGNN-JARVIS Formation Energy [eV/atom]': 0.025119,
            'ALIGNN-JARVIS MBJ Bandgap [eV]': 0.010531,
            'ALIGNN-JARVIS Shear Modulus [GPa]': 80.09848,
            'ALIGNN-MP Formation Energy [eV/atom]': -0.042081,
            'ALIGNN-MP PBE Bandgap [eV]': 0.019553,
        },
        {
            'name': '11-Fe10Ni20.POSCAR',
            'ALIGNN-Alexandria Bandgap [eV]': 0.001165,
            'ALIGNN-Alexandria Formation Energy [eV/atom]': 0.217117,
            'ALIGNN-Alexandria Volume Per Atom [A^3]': 10.583747,
        ...
    

ALIGNN Compatibility and Install

In general, we tried to retain full compatibility with the original ALIGNN, so this should be a drop-in replacement. You have to simply:

pip install mpdd-alignn

or (as recommended) clone this repository and

pip install -e .

DGL Issues

On some platforms, pip may struggle to get the dgl from PyPI that is compatible with the torch version you need for other dependencies and so on. In such case, we recommend to install lightweight (CPU) version of torch and matching dgl that should work well together by:

pip install torch==2.3.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

and

pip install  dgl -f https://data.dgl.ai/wheels/torch-2.3/repo.html

adjusting the torch version in both to your needs.

Contributions

Please direct all contributions to the ALIGNN repository. We will be synching our fork with them every once in a while and can do it quickly upon reasonable request.

The only contributions we will accept here are:

  • Expanding the list of default models.
  • Performance improvements to our section of the code.

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

mpdd_alignn-1.3.0.tar.gz (109.1 kB view details)

Uploaded Source

Built Distribution

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

mpdd_alignn-1.3.0-py3-none-any.whl (126.0 kB view details)

Uploaded Python 3

File details

Details for the file mpdd_alignn-1.3.0.tar.gz.

File metadata

  • Download URL: mpdd_alignn-1.3.0.tar.gz
  • Upload date:
  • Size: 109.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mpdd_alignn-1.3.0.tar.gz
Algorithm Hash digest
SHA256 61e12b53f9b689af814710467b0f80ba661b1a60eeb098e0018789427015a652
MD5 53e5166d70ff26d4f53e9f1578eb8f43
BLAKE2b-256 e3643d35ee1dc2a4f11a020b8bb566effdcf71aed6a4010bcf1e98f6d04be00e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mpdd_alignn-1.3.0.tar.gz:

Publisher: publishToPyPI.yaml on amkrajewski/mpdd-alignn

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mpdd_alignn-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: mpdd_alignn-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 126.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mpdd_alignn-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7cf57359d839d700944c877c7d8e1e761ddbc37f9ff62160ad5dae8a99218f3c
MD5 3d8b23a1bcf7fe6f0cbd75acf0eb2ab4
BLAKE2b-256 e8739dba6f0259d4638253987131a4457a75548d55d1af8453df9854fc815421

See more details on using hashes here.

Provenance

The following attestation bundles were made for mpdd_alignn-1.3.0-py3-none-any.whl:

Publisher: publishToPyPI.yaml on amkrajewski/mpdd-alignn

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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