Non-self-consistent (nscf) band-structure calculations for 19,405 MC3D structures: a summary row per material, the primitive cell it was computed on, and the eigenvalues along the high-symmetry k-point path.
Every structure has all three. There is no row without a structure file and none without a band table.
Same settings and the same family of MC3D structures as the k-index record
52713-55d86, which
answers a different question — which mesh is dense enough. This one answers
what the band structure says about the material.
| File | Contents |
| --- | --- |
| nscf_band_summary.csv | 19,405 rows, one per structure |
| CIF_files.tar.gz | 19,405 structures, CIF_files/<source_db_id>.cif |
| bands.tar.gz | 19,405 eigenvalue tables, bands/<source_db_id>.csv |
| example.py | Reads all three, and plots one band structure |
Everything keys on source_db_id, the MC3D identifier.
python example.py # the summary, then a plotted band structure
python example.py 100115 # one structure by source_db_id
Needs pandas; plotting needs matplotlib. It reads straight out of the
tarballs, so nothing has to be unpacked first — though extracting bands.tar.gz
is much faster if you are opening many structures, because a compressed archive
is scanned from the start for every lookup.
PBEsol, SSSP pseudopotentials, no spin polarisation. Each nscf calculation reads the charge density of its self-consistent parent and samples a high-symmetry path generated by SeeKpath.
The structures are primitive cells, and the CIF published for each material is the cell its bands were computed on.
nscf_band_summary.csv| Column | dtype | Meaning |
| --- | --- | --- |
| source_db_id | str | MC3D identifier, the join key |
| formula | str | Reduced chemical formula |
| n_atoms | int | Atoms in the primitive cell |
| structure_uuid | str | AiiDA StructureData UUID of the input structure |
| nscf_pk | int | AiiDA PK of the nscf calculation |
| nscf_uuid | str | AiiDA UUID of the nscf calculation |
| fermi_energy_ev | float | Fermi energy, eV |
| metallicity | str | metal or insulator |
| band_gap_ev | float | Band gap in eV, empty for every metal |
9,854 rows are metal and 9,551 are insulator. band_gap_ev is populated for
exactly the insulators and empty for exactly the metals; gaps run from 0.0016 to
13.75 eV.
bands/<source_db_id>.csvOne row per k-point along the path, in path order.
| Column | Meaning |
| --- | --- |
| kx, ky, kz | k-point in fractional coordinates of the reciprocal primitive cell |
| label | High-symmetry label (GAMMA, M, K, …), empty between them |
| band_0 … band_N | Eigenvalues in eV, one column per band |
The path runs GAMMA → M → K → GAMMA → …; read the segments off the non-empty
label values in order. Bands are ordered by energy at each k-point, so band
indices do not follow a band across a crossing.
The eigenvalue tables as calculated carried no k-point coordinates. The path came from SeeKpath through the standard workflow, so it was regenerated from each structure — but the archive did not use a single sampling density, so the density was determined per structure.
A reconstruction was accepted only when it matched the calculation's own record of the labelled points on all four of: number of k-points, the labels, their positions in the table, and their coordinates. 19,405 structures met that.
Two groups are excluded from this record entirely — structure, summary row and all: 104 whose reconstruction did not match, rather than publish coordinates that might not be theirs, and 80 whose eigenvalue tables were not in the working archive. What is published is one consistent set.
The eigenvalues themselves are copied unchanged from the calculation output.
metallicity uses a zero threshold, and near-zero gaps are not meaningfulA row is insulator when the band structure has a gap at the Fermi level and
metal when it does not. The threshold is a plain zero, not a tolerance: the
smallest gap in the table is 0.0016 eV and nothing was rounded down.
That is a statement about the calculation, not about the material. A PBEsol
gap of a few meV is far inside the error of the method, and a practitioner would
treat such a system as metallic. If your work needs a physically meaningful
split, choose your own threshold on band_gap_ev — the raw number is published
so that you can:
| Threshold | Insulator rows below it | | --- | --- | | 0.01 eV | 10 | | 0.05 eV | 51 | | 0.1 eV | 110 | | 0.2 eV | 227 | | 0.5 eV | 599 |
No thresholded label is published, because a threshold frozen into an immutable record becomes a convention every consumer then has to discover and match. The gap is the fact; the cut is yours.
⚠️ These are DFT gaps and are systematically smaller than experimental ones.
S382971 (Cs4O16Se4) has two nscf calculations, PK 4667413 and PK 4728621,
which agree: Fermi energy 1.3138 eV, metallic, no gap. The row carries PK
4728621.
Structures come from MC3D and are keyed by source_db_id, so the table rejoins
to that database directly. The AiiDA identifiers in each row name the
calculation that produced it, and are kept so two rows can be told apart even
when they describe the same material.