Skip to main content

Collective atomic modulation analysis with irreducible space-group representation

Project description

spgrep-modulation

testing pre-commit.ci status codecov License PyPI - Python Version PyPI version PyPI Downloads

Collective atomic modulation analysis with irreducible space-group representation

Features

  • Calculate representation matrices and irreps formed by phonon eigenmodes
  • Calculate isotropy subgroups of irreps of space groups on the fly
  • Generate modulated structures in selected order-parameter directions of isotropy subgroups

Usage

from pathlib import Path
import phonopy
from phonopy.structure.symmetry import Symmetry
from spgrep_modulation.modulation import Modulation

# Load Phonopy object
path = Path(__file__).resolve().parent.parent / "tests" / "phonopy_mp-2998.yaml.xz"
ph = phonopy.load(path)

# Prepare Modulation class
qpoint = [0.5, 0, 0]  # X point
md = Modulation.with_supercell_and_symmetry_search(
    dynamical_matrix=ph.dynamical_matrix,
    supercell_matrix=[2, 2, 2],
    qpoint=qpoint,
    factor=ph.unit_conversion_factor,
)

# Degenerated imaginary mode
frequency_index = 0
print(f"Frequency (THz): {md.eigvals_to_frequencies(md.eigenspaces[frequency_index][0]):.2f}")
# -> Frequency (THz): -4.88
print(f"Irrep shape: {md.eigenspaces[frequency_index][2].shape}")
# -> Irrep shape: (16, 2, 2)

# Modulated cells corresponding to one-dimensional order-parameter directions of isotropy subgroup
cells = md.get_high_symmetry_modulated_supercells(frequency_index)
for cell in cells:
    symmetry = Symmetry(cell)
    print(f"{symmetry.dataset['international']} (No. {symmetry.dataset['number']})")
# -> Pmma (No. 51) and Cmcm (No. 63)

Installation

pip install spgrep-modulation
conda create -n spgrep python=3.10 pip
conda activate spgrep
git clone git@github.com:lan496/spgrep-modulation.git
cd spgrep-modulation
pip install -e .
# pip install -e ".[dev,docs]"
# pre-commit install

License

spgrep-modulation is released under a BSD 3-clause license.

Development

Document

sphinx-autobuild docs docs_build
# open localhost:8000 in your browser

Acknowledgements

Some test files tests/phonopy_mp-*.yaml.xz are adapted from phonondb under CC BY 4.0.

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

spgrep_modulation-0.2.4.tar.gz (105.6 kB view details)

Uploaded Source

Built Distribution

spgrep_modulation-0.2.4-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file spgrep_modulation-0.2.4.tar.gz.

File metadata

  • Download URL: spgrep_modulation-0.2.4.tar.gz
  • Upload date:
  • Size: 105.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for spgrep_modulation-0.2.4.tar.gz
Algorithm Hash digest
SHA256 62e85e7d03d693b52941a6268d83f1faebdad76255c4641e27d803fc29346b01
MD5 3658184572f8a48d3136ee2fec77a376
BLAKE2b-256 3a17c1a8d7da168fe88fd3aed95e9edb159c94f452da7afca863e6df5a63aaa9

See more details on using hashes here.

File details

Details for the file spgrep_modulation-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for spgrep_modulation-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 927b3eced6376bc177db39d93655193901a0d1cfb8e9dbefd567ae5001ba5d43
MD5 b48407c60aa9bb8c2b0efdb213b9996b
BLAKE2b-256 22b859660c537a644a0e63e67e81ffc50d9e29fb272cb5ae56119e581f7d01e8

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