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
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions