PAOFLOW.spectrum.do_pdos#
Attributes#
Functions#
|
Compute the projected density of states with fixed Gaussian smearing. |
|
Compute the projected density of states with adaptive smearing. |
Module Contents#
- PAOFLOW.spectrum.do_pdos.do_pdos(data_controller, emin, emax, ne, delta)[source]#
Compute the projected density of states with fixed Gaussian smearing.
- Parameters:
data_controller (DataController) – Object providing
data_arraysanddata_attributes. Required arrays:E_k(shape(nkpnts, nawf, nspin)),v_k(shape(nkpnts, nawf, nawf, nspin)). Required attributes:nawf,nspin,nkpnts,shift.emin (float) – Lower energy bound of the PDOS grid (eV).
emax (float) – Upper energy bound; clipped to
min(shift, emax)(eV).ne (int) – Number of energy grid points.
delta (float) – Gaussian smearing width (eV).
- Returns:
Writes the following files to the output directory via
DataController.write_file_row_col():{atom_indexed}_{n_orb}_pdos_{ispin}.dat(for exampleSi1_3px_pdos_0.dat) for each orbital and spin channel.
pdos_sum_{ispin}.dat— the total projected DOS.
- Return type:
None
Notes
The PDOS for orbital
mat energyEis\[P_m(E) = \frac{1}{N_k \sqrt{\pi}\,\delta} \sum_{\mathbf{k},n} |\langle m | n, \mathbf{k} \rangle|^2 \exp\!\left(-\left(\frac{E - \varepsilon_{n\mathbf{k}}}{\delta}\right)^2\right)\]MPI reduction (
MPI.Reduce()) is used to accumulate the per-rank partial sums on rank 0.
- PAOFLOW.spectrum.do_pdos.do_pdos_adaptive(data_controller, emin, emax, ne)[source]#
Compute the projected density of states with adaptive smearing.
- Parameters:
data_controller (DataController) – Object providing
data_arraysanddata_attributes. Required arrays:E_k(shape(nkpnts, nawf, nspin)),v_k(shape(nkpnts, nawf, nawf, nspin)),deltakp(shape(nkpnts, nawf, nspin)or similar — per-k adaptive smearing widths). Required attributes:nawf,nspin,nkpnts,shift,smearing('gauss'or'm-p').emin (float) – Lower energy bound (eV).
emax (float) – Upper energy bound; clipped to
min(shift, emax)(eV).ne (int) – Number of energy grid points.
- Returns:
Writes the following files to the output directory:
{atom_indexed}_{n_orb}_pdosdk_{ispin}.dat(for exampleSi1_3px_pdosdk_0.dat) for each orbital and spin channel.
pdosdk_sum_{ispin}.dat— the total adaptive PDOS.
- Return type:
None
Notes
At each energy point the per-k smearing width
deltakpis used to evaluate either a Gaussian or a Methfessel-Paxton broadening function viasmearing.gaussian()orsmearing.metpax(). This approach follows Yates et al., Phys. Rev. B 75, 195121 (2007).