###########################
# README file for the entry
###########################

This folder contains comprehensive data for strained Germanium electronic structure calculations.

We provide ab initio calculations, electronic band structures, and structural optimization data for 
biaxially strained bulk Germanium performed using Quantum ESPRESSO and Wannier90. The structure 
is strained by -1% in the xy plane, and the out-of-plane lattice parameter (c) is optimized 
using the Birch-Murnaghan equation of state. The dataset includes:

- Equation of state (EoS) calculations for structural optimization
- Self-consistent field (SCF) calculations for both strained and unstrained systems
- Wannier interpolation of electronic band structures
- Complete provenance data via AiiDA database export
- Pseudopotential files used in all calculations

We also include the data on the EDC calculations and the projected spectral functions in the slab configuration 

## Data Files:

These are contained in the raw_data_inputs_outputs.zip, which contains all the raw data of the ab initio calculations performed in this work:

#### EDC_SLAB/
Contains the data on the EDC calculations and the projected spectral functions in the slab configuration, together with plotting scripts.

#### EoS/
Contains the raw inputs and outputs from Quantum ESPRESSO calculations (via AiiDA) for the 
Equation of State determination. Nine separate calculations varying the out-of-plane lattice 
parameter from 0.98% to 1.06% are included. Each `dump-PwBaseWorkChain-*` directory contains 
the full inputs and outputs for a specific calculation point.

#### pseudo/
Contains the pseudopotential file used in the calculations:
- `Ge_ONCV_PBE_FR-1.0.upf`: Optimized Norm-Conserving Vanderbilt (ONCV) pseudopotential for 
  Germanium using PBE exchange-correlation functional with full relativistic corrections.

#### strained/
Contains the DFT and Wannier interpolation data for the -1% biaxially strained Germanium:
- `DFT/`: Self-consistent field (SCF) calculations with input (`scf.in`) and output (`scf.out`)
- `wannier_interpolation/`: Wannier90 calculations including input files (`wann.win`), output 
  files (`wann.wout`), pw2wannier90 interface files, and band structure interpolations along 
  specific paths (Γ-K-X and Γ-X)

#### unstrained/
Contains the DFT and Wannier interpolation data for the unstrained bulk Germanium with the 
same structure as `strained/`

### data_eos.json
Contains the resulting EoS data:
- `volumes`: Unit cell volumes in ų
- `out_of_plane`: Out-of-plane lattice parameter c in Å
- `energies`: Total energies in eV
- `v0`: Equilibrium volume from Birch-Murnaghan fit (ų)
- `e0`: Equilibrium energy from Birch-Murnaghan fit (eV)
- `B`: Bulk modulus from Birch-Murnaghan fit (eV/ų)

The in-plane strained lattice constant used is a = 5.60142 Å (corresponding to -1% biaxial strain 
from the experimental FCC value of 5.658 Å).

### plot_eos.py
Python script to plot the EoS data from the JSON file. Generates a plot with:
- Volume vs Energy (bottom x-axis)
- Out-of-plane c vs Energy (top x-axis)
- Birch-Murnaghan fit curve
- Fit parameters displayed

Requirements: `json`, `matplotlib`, `numpy`, `ase`

Usage:
```bash
python plot_eos.py
```

## AiiDA Database Export:

### export_eos_Ge.aiida
AiiDA compressed database containing the full provenance and data for all DFT calculations 
performed in this work for the EoS calculations, i.e. it includes all PwBaseWorkChain nodes used to compute the EoS.
To make it work with the provided script, import it with:
```bash
verdi archive import export_eos_Ge.aiida -G eos_Ge
```

Instructions for importing and accessing the database are in `README_aiida.txt`.

### plot_eos_aiida.py
Python script to directly query and plot EoS data from the AiiDA database. This script:
- Queries PwBaseWorkChain nodes from the specified AiiDA group
- Extracts volume and energy data automatically
- Performs Birch-Murnaghan fitting
- Generates publication-quality plots

Requirements: `aiida-core`, `aiida-quantumespresso`, `matplotlib`, `numpy`, `ase`

Usage:
```bash
python plot_eos_aiida.py
```