# Fileset

[README.md](https://mdr.nims.go.jp/filesets/1ddf22fb-a797-4fe4-ac4e-b95cf55e49f6/download)

## Creator

[Terumasa Tadano](https://orcid.org/0000-0002-8132-2161)

## Rights

[Creative Commons BY Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/)

## Other metadata

[HeuslerDB_elecDOS_ver1.0](https://mdr.nims.go.jp/datasets/339efb21-ebf6-4687-a186-77874d6d5a6f)

## Fulltext

### DescriptionThis repository contains the electronic density of states (DOS) computed using `VASP` for ternary Heusler alloys reported in [this paper](https://www.sciencedirect.com/science/article/pii/S1359645425005981). The number of entries is 51,373. The DOS data is stored in a JSON format and can be easily loaded and processed using Python as detailed below.The data is organized by compound type (full, inverse, half) and crystal structure (cubic, tetragonal).- PDOS_json_full_cubic_241229.tar.xz: Full Heusler compounds in cubic structure- PDOS_json_full_tetra_241229.tar.xz: Full Heusler compounds in tetragonal structure- PDOS_json_inverse_cubic_241229.tar.xz: Inverse Heusler compounds in cubic structure- PDOS_json_inverse_tetra_241229.tar.xz: Inverse Heusler compounds in tetragonal structure- PDOS_json_half_cubic_241229.tar.xz: Half Heusler compounds in cubic structure- PDOS_json_half_tetra_241229.tar.xz: Half Heusler compounds in tetragonal structure#### Computational Details- PREC = A; ENCUT = 520; ADDGRID = .True.; LASPH = .True.- ISMEAR = 2; SIGMA = 0.05 for structural opt., ISMEAR = -5 for DOS.- Used `pymatgen.io.vasp.Kpoints.automatic_density_by_vol` with a density of 1000 per Å<sup>-3</sup>.- GGA-PBE functional is used for all calculations.- No Spin-orbit coupling and no Hubbard U correction are considered.- Pseudopotentials: default set of PBE_54 by pymatgen. For the complete list of the used pseudopotentials, please refer to pseudolist_Heuslerdb.txt.#### Data Structure and LoadingThe JSON files are created using `pymatgen` CompleteDos objects and serialized with `monty.serialization`. Each file is named as X2YZ_UUID.json where X2YZ represents the compound formula and UUID is a unique identifier. For the UUID, please refer to the [HeuslerDB webpage](https://www.nims.go.jp/group/spintheory/database/).#### DecompressionThe files are compressed using `tar` and `xz`. You can decompress them using the followingcommand in a Unix-like terminal:```bashtar xvJf PDOS_json_full_cubic_241229.tar.xz```#### Required DependenciesTo work with these files, you need to install the following Python packages:```bashpip install pymatgen monty```#### Loading DOSTo load and analyze the DOS data, you can use the following Python code:```pythonimport monty.serialization as msfrom pymatgen.electronic_structure.core import Spin, OrbitalType# Load the DOS data (returns a pymatgen CompleteDos object)dos = ms.loadfn('X2YZ_UUID.json')# Get total DOStotal_dos = dos.get_densities()  # total DOS# For spin-polarized systems:# total_dos = (dos.get_densities(Spin.up), dos.get_densities(Spin.down))# Get energy grid relative to the Fermi levelenergies = dos.energies - dos.efermi# Get spd-decomposed DOSspd_dos = dos.get_spd_dos()dos_s = spd_dos[OrbitalType.s]projected_dos_s = dos_s.get_densities()# Similarly for p and d orbitals:dos_p = spd_dos[OrbitalType.p]dos_d = spd_dos[OrbitalType.d]projected_dos_p = dos_p.get_densities()projected_dos_d = dos_d.get_densities()```#### Data OrganizationThe CompleteDos object contains:- Total DOS: Overall density of states for the compound- Projected DOS: DOS projected onto atomic orbitals (s, p, d, f)- Site-specific DOS: DOS for individual atomic sites- Energy grid: Energy values (typically referenced to the Fermi level)- Fermi energy: The Fermi level of the system#### Example AnalysisHere's a complete example to plot the total DOS:```pythonimport matplotlib.pyplot as pltimport monty.serialization as ms# Load DOS datados = ms.loadfn('X2YZ_UUID.json')# Get energies relative to Fermi levelenergies = dos.energies - dos.efermi# Get total DOStotal_dos = dos.get_densities()# Plotplt.figure(figsize=(8, 6))plt.plot(energies, total_dos)plt.xlabel('Energy (eV)')plt.ylabel('DOS (states/eV)')plt.title('Total Density of States')plt.axvline(x=0, color='r', linestyle='--', label='Fermi Level')plt.legend()plt.grid(True, alpha=0.3)plt.show()```