Skip to main content

Vector-oriented LAMMPS interface to rapidly iterate over series of atomistic structures or interatomic potentials.

Project description

pyiron_lammps

Unittests Coverage Status

Disclaimer

The pyiron_lammps package is under development.

Idea

  • The pyiron_lammps package is designed to calculate concentration dependent material properties, like the elastic constants, energy-volume curves and phonons for interatomic potentials.
  • It uses mpi4py for parallel execution, does not write any files to the file system and does not use any database. With this combination is it one order of magnitude faster than competing software packages for evaluating material properties for interatomic potentials.
  • In contrast to all other pyiron_* packages, pyiron_lammps does not depent on pyiron_base. Overall the dependencies are designed to be minimal.

Example

import pyiron_lammps as pyr

# Generate SQS Structure
structure = pyr.generate_sqs_structure(
    structure_template=pyr.get_ase_bulk("Al", cubic=True).repeat([3,3,3]), 
    element_lst=["Fe", "Ni", "Cr", "Co", "Cu"], 
    count_lst=[22, 22, 22, 21, 21]
)[0]

# Select Potential
potential = '2021--Deluigi-O-R--Fe-Ni-Cr-Co-Cu--LAMMPS--ipr1'
df_pot = pyr.get_potential_dataframe(
    structure=structure, 
    resource_path="/Users/janssen/mambaforge/share/iprpy"
)
df_pot_selected = df_pot[df_pot.Name==potential].iloc[0]

# Optimize Structure
structure_opt = pyr.optimize_structure(
    structure=structure, 
    potential_dataframe=df_pot_selected
)

# Calculate Elastic Constants
elastic_matrix = pyr.calculate_elastic_constants(
    structure=structure_opt, 
    potential_dataframe=df_pot_selected, 
    num_of_point=5, 
    eps_range=0.005, 
    sqrt_eta=True, 
    fit_order=2
)
print(elastic_matrix)

Features

  • generate_sqs_structure - generate an SQS structure using sqsgenerator.
  • get_ase_bulk - create an ase.build.bulk structure.
  • get_lammps_engine - create an LAMMPS instance, these instances can then be shared between multiple serial calculation.
  • get_potential_dataframe - load dataframe of suitable interatomic potentials for the selected atomistic structure from the NIST database.
  • optimize_structure - optimize the cell and the positions of a given structure, while maintaining the cell shape.
  • calculate_elastic_constants - calculate the elastic constants.
  • calculate_elastic_constants_with_minimization - combine the structure optimization and the calculation of the elastic constants.
  • optimize_structure_parallel - optimize a list of atomistic structures all with the same interatomic potential.
  • calculate_elastic_constants_parallel - calculate the elastic constants for a list of atomistic structures.
  • calculate_elastic_constants_with_minimization_parallel - combine the structure optimization and the calculation of the elastic constants for a list of atomistic structures.

License and Acknowledgments

pyiron_lammps is licensed under the BSD license.

If you use pyiron in your scientific work, please consider citing:

@article{pyiron-paper,
    title = {pyiron: An integrated development environment for computational materials science},
    journal = {Computational Materials Science},
    volume = {163},
    pages = {24 - 36},
    year = {2019},
    issn = {0927-0256},
    doi = {https://doi.org/10.1016/j.commatsci.2018.07.043},
    url = {http://www.sciencedirect.com/science/article/pii/S0927025618304786},
    author = {Jan Janssen and Sudarsan Surendralal and Yury Lysogorskiy and Mira Todorova and Tilmann Hickel and Ralf Drautz and Jörg Neugebauer},
    keywords = {Modelling workflow, Integrated development environment, Complex simulation protocols},
}

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

pyiron_lammps-0.2.13.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

pyiron_lammps-0.2.13-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file pyiron_lammps-0.2.13.tar.gz.

File metadata

  • Download URL: pyiron_lammps-0.2.13.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pyiron_lammps-0.2.13.tar.gz
Algorithm Hash digest
SHA256 6eb55c6006d8494ee63e58165c3dd64baf890b2ec040cb93af4b20f9fe9992b3
MD5 8eedea2590652a7ed408b5c4eacfca45
BLAKE2b-256 8ebcdbe9846a8dd84479b7f83cd5ecee502ea8fa3ff83868cdf16bd578c1c4cf

See more details on using hashes here.

File details

Details for the file pyiron_lammps-0.2.13-py3-none-any.whl.

File metadata

File hashes

Hashes for pyiron_lammps-0.2.13-py3-none-any.whl
Algorithm Hash digest
SHA256 05b96dcd5fdf5d478fc20aad5a59a5d1b9c69ba686f4352d0cf4742a4665ab7f
MD5 ef64949daccda4126575ad7650ce6180
BLAKE2b-256 02c3ad8c9d0eee378c92e28432fa80586641843f48d4392d5cd749bd26c4a7d9

See more details on using hashes here.

Supported by

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