Band Structure, Projected Density of States and Effective Mass Calculations

Version: X-2025.06

In this tutorial, you will learn how to use the QuantumATK NanoLab GUI to

  • Set-up band structure, projected density of states (PDOS) and effective mass calculations for bulk Si and SiO2 (quartz) using Density Functional Theory (DFT).

  • Analyze obtained results.

All the workflow, input and output files can be found in the Example Project - X-2025.06 ‣ SiO2-quartz-bandstructure-pdos and Si-bandstructure-effective-masses folders.

Prerequisites

introbar

Setting up Band Structure Calculation Workflow

To create a workflow for Bandstructure and ProjectedDensityOfStates calculations in the qatkicon-nl-workflow Workflow Builder, follow the step-by-step protocol described below. Here, you will use DFT with LCAOCalculator basis sets. For the DFT functionals, choose a hybrid HSE06 DFT functional for bulk Si (exact exchange fraction of 0.25 optimized for Si) and a dielectric dependent hybrid HSE06-DDH functional (DDHCustomExchangeCorrelation) for SiO2 (quartz) to find an improved material specific exact exchange fraction for more accurate band structure and band gap.

  1. Follow the Geometry Optimization tutorial to optimize the structure of bulk Si and SiO2 (quartz).

  2. In the qatkicon-nl-builder Builder, click on the qatkicon-builder-sendto Send content to other tools button to send the optimized structures from the qatkicon-nl-builder Builder Stash to the qatkicon-nl-workflow Workflow Builder.

  3. Go to the Block CatalogQuantumATK tab ‣ Calculators and Analysis categories on the right hand panel and drag-and-drop the qatkicon-scripter-calculator SetLCAOCalculator and Bandstructure blocks, respectively, to the middle Workflow AreaBuild tab.

  4. For SiO2 (quartz) case, add a LocalExactExchangeFraction block from the Block CatalogQuantumATK tab ‣ Analysis category. It will return the calculated improved material specific exact exchange fraction for SiO2 (quartz).

    ../../../_images/bandstructure-workflow.PNG
  5. Double-click on the qatkicon-scripter-calculator SetLCAOCalculator block and make the following changes:

  • In the LCAO Basis Set tab of the qatkicon-scripter-calculator SetLCAOCalculator block, change the Exchange Correlation Family from the default GGA to Hybrid with predefined HSEO6 (HybridGGA.HSE06) functional for Si and HSE06DDH (Hybrid.GGA.HSEO6DDH) for SiO2 (quartz).

    ../../../_images/lcao-block-1.PNG
  • In the Numerical Accuracy tab of the qatkicon-scripter-calculator SetLCAOCalculator block, change the numerical accuracy paremeter Broadening from 1000 K to 300 K (recommended for semiconductor materials).

    ../../../_images/lcao-block-2.PNG

Tip

  1. qatkicon-scripter-calculator SetLCAOCalculator block sets medium k-point sampling, medium basis set and 125 Ha density mesh cutoff (system-dependent) by default, typically providing good accuracy results with modest computational resources. It is recommended though to check the convergence of your results with these parameters.

  2. qatkicon-scripter-calculator SetLCAOCalculator block uses a default Fermi-Dirac Occupation Method with 1000 K Broadening, which generally works reasonably well across various systems. Another setting may be more appropriate for your system, and you can adjust these settings according to the recommendations in Occupation Methods for semiconductor, insulator, metal, and molecule systems.

  3. For slabs, surfaces and interfaces (modelled as slabs), it is recommended to set FFT2D Poisson Solver (Dirichlet/Neumann) in the out-of-plane (C) direction instead of the default FFT (Periodic) in the qatkicon-scripter-calculator SetLCAOCalculator block, Poisson Solver section. For neutral molecules, stick to the default FFT Poisson solver, whereas for charged molecules, set the Multigrid/Multipole Poisson Solver. Read these technical notes on Poisson solvers to learn more.

  1. Double-click on the Bandstructure block. Here, the Brillouin zone route is automatically detected, and there is an option to modify it. There is also a possibility to increase the number of points per segment for more fine sampling of bandstructure. Stick to the default settings.

    ../../../_images/bandstructure-block.PNG

Tip

  1. When calculating band structure of very large systems (> 1000 atoms), there is an option to choose IterativeDiagonalizationSolver instead of FullDiagonalizationSolver in the Bandstructure block to speed-up simulations, in particular with Semi-Empirical Thigh-Binding models for more than order of magnitude faster calculations.

  2. Perform LocalBandstructure calculations to get insights into the local properties of the band structure such as effective masses and band unparabolicity for specified k-point, bands and directions.

  3. When setting up bandtructure calculations for low symmetry crystal or systems with atomic disorder (e.g., alloys), one needs to define k-routes in the Brillouin zone in a script input.py. For example, for SiGe alloy specify inequivalent X and L points, resulting in degeneracy lifting, i.e., alloy broadening of bands.

../../../_images/bandstructure-alloy.PNG
  1. Change the Workflow name in the Workflow Stash and Filename as needed (e.g., SiO2-quartz-bandstructure-HSE06-DDH.hdf5).

  2. Click on the qatkicon-builder-sendto Send content to other tools button and choose Jobs as a script to send the workflow to the qatkicon-nl-jobs Jobs tool in order to submit this job on a local machine or a remote cluster. It is recommended to parallelize over both MPI processes and threads in DFT simulations. Read the technical notes on Parallelization of QuantumATK calculations to learn more.

  3. This also generates a Python script SiO2-quartz-bandstructure-HSE06-DDH.py, based on this workflow. It can be opened and edited with the qatkicon-nl-editor Editor tool and then sent to the qatkicon-nl-jobs Jobs tool.

Analyzing Band Structure Results

Once the calculation has finished, we are ready to analyze the results.

  1. Go to the qatkicon-search1 Data View tool.

  2. In the Data Sources select the file SiO2-quartz-bandstructure-HSE06-DDH.hdf5 and then in the Data View window double-click on the Bandstructure_0 object to open it with the Bandstructure Analyzer.

    ../../../_images/bandstructure-data-view.PNG
  3. Examine Direct band gap, Indirect band gap, Valence band edge and Conducion band edge reported in the Bandstructure Analyzer.

  4. Zoom into the band structure using qatkicon-2Dplot-search-orange Zoom and qatkicon-2Dplot-plot Plot editor tools and use measuring tools (right-click to Add measurement) to measure direct and indirect bandgaps yourself.

    ../../../_images/bandstructure-analyzer.PNG
  5. Double-click on GridValues_0 object in Data View to open it with the Grid 1D Projection Analyzer. Examine the automatically calculated exact exchange parameter in HSE06-DDH, which is 0.4 for SiO2 (quartz) - quite different from the pre-set 0.25 exact exchange parameter in the HSE06 functional.

    ../../../_images/exact-exchange.png

Note

  1. Calculated indirect band gap of SiO2 (quartz) 9.62 eV with the HSE06-DDH functional is in a good agreement with experimental (9.65 eV) [1] and many-body GW method (9.68 eV) [2] results. Indirect band gap obtained with HSE06 is 8.39 eV.

  2. When simulating interfaces between different materials, choose HSE06LocalDDH for the predefined functional in the SetLCAOCalculator block, which automatically calculates material specific exact exchange fractions for each material in the interface.

Restarting to Obtain Projected Density of States

In QuantumATK it is easy to restart from a previous simulation and calculate additional properties, for example, projected density of states, without re-doing the SCF convergence part. Follow this step-by-step protocol to set up additional projected density of state calculations.

  1. Go back to the qatkicon-nl-workflow Workflow Builder and click on the the qatkicon-add Add button to add a new workflow.

  2. Change the Workflow name and Filename as needed (e.g., SiO2-quartz-PDOS-HSE06-DDH.hdf5).

  3. Go to the Block CatalogQuantumATK tab ‣ Algorithm and Analysis categories on the right hand panel and drag-and-drop the qatkicon-arrow1-up Load from file and ProjectedDensityOfStates blocks, respectively, to the middle Workflow AreaBuild tab.

    ../../../_images/PDOS-workflow.png
  4. Double-click on the Load from file block to choose from which file to restart the calculation:

  • Click on qatkicon-arrow1-up Load from file.

  • Choose to restart from file SiO2-quartz-bandstructure-HSE06-DDH.hdf5BulkConfiguration.

  • Click Load.

    ../../../_images/load-from-file.png
  1. Double-click on the ProjectedDensityOfSates block and make the following edits:

  • Define an Energy range: default -5 eV ÷ +5 eV is good for Si, but it should be increased for SiO2 (quartz) to -15 eV ÷ +10 eV as it has a much larger band gap than Si.

  • Choose Projections on Elements and Shells from various options, such as Spin, Sites, Sites and Shells, Sites and Orbitals, Elements, Elements and Shells, Elements and Orbitals.

    ../../../_images/PDOS-block.png

Tip

Choose Projections on Sites to get local density of states / band diagram across interfaces, stacks or inhomogeneous systems in general.

  1. Click on the qatkicon-builder-sendto Send content to other tools button and choose Jobs as a script to send the workflow to the qatkicon-nl-jobs Jobs tool in order to submit this job on a local machine or a remote cluster.

Analyzing Projected Density of State Results

Once the calculation has finished, we are ready to analyze the results.

  1. Go to the qatkicon-search1 Data View tool.

  2. In the Data Sources, select the file SiO2-quartz-PDOS-HSE06-DDH.hdf5 and then double-click on the ProjectedDensityOfStates_0 object in the Data View window to open it with the Projected DOS Analyzer.

  3. Use Projected DOS Analyzer to visualize and analyze Projected DOS on elements and shells in SiO2 (quartz). As shown in the image below, valence bands are dominated by O p shell (l=1), whereas conduction bands are dominated by Si p shell (l=1).

    ../../../_images/PDOS-analyzer.png

4.Combine band structure and projected density of states plots for additional insights:

  • Drag-and-drop qatkicon-2Dplot-drag handle from the Projected DOS Analyzer to the Bandstructure Analyzer plot to combine the two plots.

  • Choose combination type: Flipped and side-by-side with shared y axis.

  • Click Merge.

    ../../../_images/bandstructure-dos-merged.png

Calculation of Effective Masses

Let’s see how to estimate effective mass of electrons in bulk Si from the band structure calculated with the hybrid HSE06 functional. The EffectiveMass of holes and electrons can be estimated by fitting a parabola to the minimum/maximum of the conduction/valence bands.

  1. Go to the qatkicon-search1 Data View tool.

  2. In the Data Sources, select the file Si-bandstructure-HSE06.hdf5 and then double-click on the Bandstructure_0 in the Data View window to open it with the Bandstructure Analyzer.

  3. Find the lowest conduction band of Si and determine the minima. As shown in the image below, the minimum is located at k-point (0.425, 0, 0.425) with 0.585 eV energy, where 0.425 is 85% of the distance to the first Brillouin zone boundary at X=(1/2,0,1/2). At this point, the energy isosurfaces are ellipsoids, thus you get different values for the effective mass depending on if you look in the longitudinal (along) or transverse (perpendicular to Δ) directions.

  4. Click on the Effective Mass widget to open the Effective Mass block and set up an effective mass calculation at this conduction band minima k-point (0.425, 0, 0.425).

    ../../../_images/effective-masses-widget-Si.png
  5. In the Effective Mass block, the parameters such as band index and k-point coordinates corresponding to the clicked point will be automatically set. Manually change the Direction to Fractional and set a=1, b=0, c=1, corresponding to the longitudinal direction.

  6. Click on the qatkicon-builder-sendto Send content to other tools button to add this calculation as a block to the Workflow located in the Workflow AreaBuild tab.

    ../../../_images/effective-masses-Si-workflow.png
  7. The workflow already has a Load BulkConfiguration block, which restarts the calculation from the former band structure calculation on Si: file Si-bandstructure-HSE06.hdf5.

  8. Right-click on the Effective Mass block in the Workflow AreaBuild tab and choose to Duplicate the block.

  9. In the duplicated Effective Mass block, change Direction to a=1, b=1, c=0, corresponding to one of the transverse directions.

  10. Optionally right-click on Effective Mass blocks and choose to rename the blocks to Effective Mass: 101 and Effective Mass: 110, respectively.

    ../../../_images/effective-masses-Si-workflow-1.png
  11. Click on the qatkicon-builder-sendto Send content to other tools button and choose Jobs as a script to send the workflow to the qatkicon-nl-jobs Jobs tool in order to submit this job on a local machine or a remote cluster.

  12. Once the calculation is finished, in the Data Sources, select the file Si-effective-masses-HSE06.hdf5 and then double-click on the EffectiveMass_0 and EffectiveMass_1 objects in the Data View window to open them with the Effective Mass Analyzer.

    ../../../_images/effective-mass-analyzer.PNG
  13. Here, the effective mass corresponding to the specified band and direction is reported. From the two EffectiveMass objects you will obtain:

  • Longitudinal effective mass, [1,0,1] direction, \(m^*=0.85\,m_e\).

  • Transverse effective mass, [1,1,0] direction, \(m^*=0.186\,m_e\).

  1. With these values we can now compute the density of states mass \(m^*_{DOS}\)and effective mass for conductivity \(m^*_C\):

\[\begin{split}m^*_C = 3 / (1/m^*_L + 2/m^*_T) \\ m^*_{DOS} = 6^{2/3} (m^*_L(m^*_T)^2)^{1/3}.\end{split}\]

We get \(m^*_{DOS}=1.02\) and \(m^*_C=0.25\), very close indeed to the reference values 1.08 and 0.26 (see https://www.colorado.edu/ecee/sites/default/files/attached-files/sd_constants_sheet.pdf ). Thus DFT actually does reproduce the effective mass of the electrons in the \(\Delta\) valley very well.

References