PAOFLOW.gen.qe_input.record#

Database-agnostic material record shared by every QE-input source.

Each database adapter (AFLOW, C2DB, …) downloads and normalizes one entry into a MaterialRecord. The QE writer in PAOFLOW.gen.qe_input.writer consumes only this record, so the quantum-espresso side of the generator is completely decoupled from the provenance of the data.

Classes#

MaterialRecord

Normalized description of a single database entry.

Module Contents#

class PAOFLOW.gen.qe_input.record.MaterialRecord[source]#

Normalized description of a single database entry.

Variables:
  • compound – Short name used as the QE prefix and default output stem.

  • geometry – Verbatim QE geometry cards in the parse_contcar_qe shape, with keys cell_header, cell_unit, cell_rows, pos_header, pos_unit, pos_rows and atom_order. Both AFLOW and C2DB normalize their structure into this dict so the writer reuses a single assembly path.

  • species – Ordered [(element, count), ...] list (count may be None).

  • natoms – Number of atoms in the cell.

  • metallicTrue when the system needs Gaussian smearing (no gap).

  • magneticTrue when a collinear spin-polarized input is requested.

  • dimensionality'3D' or '2D'. '2D' triggers the vacuum-on-c handling in the writer (proper in-plane ibrav, K_POINTS kz=1, and optional assume_isolated='2D').

  • kpoints – Optional (k1, k2, k3) Monkhorst-Pack grid hint. None lets the writer fall back to its default.

  • energy_cutoff – Optional ecutwfc fallback in Rydberg when reference.json does not cover every species.

  • bravais_hint – Optional Bravais-lattice symbol (e.g. AFLOW 'FCC') passed to the ibrav detector.

  • spacegroup – Optional space-group number/symbol passed to the ibrav detector.

  • source – Provenance label ('aflow', 'c2db', …), used only for messages and header comments.

compound: str[source]#
geometry: dict[source]#
species: list = [][source]#
natoms: int = 0[source]#
metallic: bool = True[source]#
magnetic: bool = False[source]#
dimensionality: str = '3D'[source]#
kpoints: tuple = None[source]#
energy_cutoff: float = None[source]#
bravais_hint: str = None[source]#
spacegroup: object = None[source]#
source: str = ''[source]#
property is_2d[source]#

True when the entry is a two-dimensional material.