Skip to content

Complete Support for Quantum ESPRESSO ibrav Convention #10

@mesonepigreco

Description

@mesonepigreco

Issue: Complete Support for Quantum ESPRESSO ibrav Convention

The code currently supports reading Quantum ESPRESSO structures from:

  • pw.x input files, and
  • Harmonic phonon results from DFPT (ph.x).

In Quantum ESPRESSO, high-symmetry structures can be defined using the ibrav convention (i = integer, brav = Bravais lattice).
Each ibrav value corresponds to a specific Bravais lattice type (e.g., simple cubic, bcc, hexagonal, etc.), and the lattice geometry is determined by the 6-element celldm array that uniquely defines the primitive cell.

Currently:

  • Only a subset of the ibrav values is implemented in the code.
  • Some of the less common ibrav options are missing.

The function responsible for converting the ibrav convention into an explicit 3×3 lattice matrix (with lattice vectors in rows) is:

def get_unit_cell_from_ibrav(ibrav, celldm)

This function is located in:
cellconstructor/Methods.py

Reference documentation for all possible ibrav values can be found in the Quantum ESPRESSO pw.x manual:


Task

  • Implement all missing ibrav conventions in get_unit_cell_from_ibrav.
  • Add corresponding unit tests in the test suite to verify correct parsing of each ibrav value.
  • Ensure that the generated 3×3 lattice matrices match the definitions from the Quantum ESPRESSO documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions