Band-decomposed charge densities: Difference between revisions

From VASP Wiki
No edit summary
Line 1: Line 1:
The partial (band-decomposed) charge density can be used to analyze the contributions of different orbitals or energy ranges to a specific region in real space. It helps in gaining insight and visualizing electronic, magnetic, or transport properties, and is especially important when simulating scanning tunneling microscopy (STM) pictures.
The partial (band-decomposed) charge density can be used to analyze the contributions of different orbitals or energy ranges to a specific region in real space. It helps in gaining insight and visualizing electronic, magnetic, or transport properties, and is especially important when simulating scanning tunneling microscopy (STM) images.
In VASP, the calculation of partial charges is a quick post-processing step that is selected by setting {{TAG|LPARD}} = .TRUE. in the {{FILE|INCAR}} file. It is necessary to provide a {{FILE|WAVECAR}} file from a converged ground state calculation as an input file. To select the contributing k points and bands, various options exist, which can be selected via the {{TAG|NBMOD}}, {{TAG|IBAND}}, {{TAG|EINT}}, and {{TAG|KPUSE}} tags.
In VASP, the calculation of partial charges is a quick post-processing step that is selected by setting {{TAG|LPARD}} = .TRUE. in the {{FILE|INCAR}} file. It is necessary to provide a {{FILE|WAVECAR}} from a converged ground state calculation as an input file. To select the contributing '''k''' points and bands, various options exist, which can be selected via the {{TAG|NBMOD}}, {{TAG|IBAND}}, {{TAG|EINT}}, and {{TAG|KPUSE}} tags.
{{NB|mind|All charge densities, including the band-decomposed charge densities, are symmetrized using both the space and point group symmetries. However, in certain cases, such as when calculating partial charge from selected k-points, this can lead to wrong results. In that case, the symmetry must be turned off during the initial ground state calculation from which the WAVECAR is generated, as well as during the subsequent band-decomposed charge density calculation.}}
{{NB|mind|All charge densities, including the band-decomposed charge densities, are symmetrized using both the space and point group symmetries. However, when calculating partial charge from selected '''k''' points, this can lead to wrong results due to wrong '''k''' point weights. In that case, the symmetry must be turned off during the initial ground state calculation from which the WAVECAR is generated, as well as during the subsequent band-decomposed charge density calculation.}}
{{NB|warning|Band-decopmposed partial charge density postprocessing is not supported for noncollinear magnetic calculations ({{TAG|LNONCOLLINEAR}} {{=}} .TRUE.).}}


==Input tags for selecting and writing the partial charges==
==Input tags for selecting and writing the partial charges==
Line 8: Line 9:
*{{TAG|LPARD}}: Toggles the partial charge postprocessing on or off. If only this tag is set, the valence charge density is computed for all occupied bands and written to the {{FILE|CHGCAR}} file (without the augmentation occupancies usually written to that file).
*{{TAG|LPARD}}: Toggles the partial charge postprocessing on or off. If only this tag is set, the valence charge density is computed for all occupied bands and written to the {{FILE|CHGCAR}} file (without the augmentation occupancies usually written to that file).
*{{TAG|IBAND}}: An integer array specifying the bands to include in the partial charge density. If {{TAG|IBAND}} is specified, {{TAG|NBMOD}} is automatically set to the number of selected bands.
*{{TAG|IBAND}}: An integer array specifying the bands to include in the partial charge density. If {{TAG|IBAND}} is specified, {{TAG|NBMOD}} is automatically set to the number of selected bands.
*{{TAG|EINT}}: Specifies an energy interval. Any energy bands with eigenvalues within this range will contribute to the calculation of the partial charge density. If the value of the {{TAG|NBMOD}} tag is set to -3, the energy values are interpreted as relative to the Fermi energy. If the {{TAG|NBMOD}} tag is not set or is set to -2, the provided energy values will be considered as absolute total energies.
*{{TAG|EINT}}: Specifies an energy interval. Any energy bands with eigenvalues within this range will contribute to the calculation of the partial charge density. If the value of the {{TAG|NBMOD}} tag is set to -3, the energy values are interpreted as relative to the Fermi energy <math>\epsilon_f</math>. If the {{TAG|NBMOD}} tag is not set or is set to -2, the provided energy values will be considered as absolute total energies.
*{{TAG|NBMOD}}: This tag controls the mode of selecting bands that should contribute to the calculation of partial charges.
*{{TAG|NBMOD}}: This tag controls the mode of selecting bands that should contribute to the calculation of partial charges.
** {{TAG|NBMOD}} = n: Use n bands (set automatically if {{TAG|IBAND}} is set).
** {{TAG|NBMOD}} = n: Use n bands (set automatically if {{TAG|IBAND}} is used).
** {{TAG|NBMOD}} = 0: Use all bands (occupied and empty).
** {{TAG|NBMOD}} = 0: Use all bands (occupied and empty).
** {{TAG|NBMOD}} = -1: Use all occupied bands (and write to {{FILE|CHGCAR}} instead of {{FILE|PARCHG}}).
** {{TAG|NBMOD}} = -1: Use all occupied bands (and write to {{FILE|CHGCAR}} instead of {{FILE|PARCHG}}).
** {{TAG|NBMOD}} = -2: To choose the bands that contribute, you can utilize an energy interval defined by the tag {{TAG|EINT}}.
** {{TAG|NBMOD}} = -2: To choose the bands that contribute, you can utilize an energy interval defined by the tag {{TAG|EINT}}.
** {{TAG|NBMOD}} = -3: Use an energy interval relative to the Fermi energy to select contributing bands (defined by {{TAG|EINT}}).
** {{TAG|NBMOD}} = -3: Use an energy interval relative to the Fermi energy <math>\epsilon_f</math> to select contributing bands (defined by {{TAG|EINT}}).
*{{TAG|KPUSE}}: Specifies which k-points are used in the evaluation of the partial DOS.
*{{TAG|KPUSE}}: Specifies which '''k''' points are used in the evaluation of the partial DOS.
*{{TAG|LSEPB}}: Specifies whether to write the partial charge density for selected bands to individual files or merge them.
*{{TAG|LSEPB}}: Specifies whether to write the partial charge density for selected bands to individual files or merge them.
*{{TAG|LSEPK}}: Specifies whether to write the partial charge density for selected '''k''' points to individual files or merge them.
*{{TAG|LSEPK}}: Specifies whether to write the partial charge density for selected '''k''' points to individual files or merge them.
Line 21: Line 22:
==Output files==
==Output files==
The partial valence charge density is written in the {{FILE|PARCHG}} file. If you want to separate the output by '''k''' points or bands, setting {{TAG|LSEPB}} and/or {{TAG|LSEPK}} allows you to write it to multiple PARCHG.*.* files.
The partial valence charge density is written in the {{FILE|PARCHG}} file. If you want to separate the output by '''k''' points or bands, setting {{TAG|LSEPB}} and/or {{TAG|LSEPK}} allows you to write it to multiple PARCHG.*.* files.
{{NB|mind|For spin-polarized calculations, the PARCHG and its variants hold the total density and the magnetization density. For instance, if the 4th band is selected ({{TAG|IBAND}} {{=}}4) the first data set in the PARCHG file corresponds to the summed density of the 4th spin up and 4th spin down orbital, whereas the second data set holds the difference between the 4th spin-up and 4th spin-down orbital (magnetization density). Hence, to obtain the charge density corresponding to a specific orbital of a specific spin channel some post-processing of the {{TAG|PARCHG}} file might be required (building differences or sums). A simple workaround is to use  {{TAG|EINT}} and specify sufficient digits to select only one orbital from either the spin-up or spin-down channel.}}
{{NB|mind|For spin-polarized calculations, the PARCHG and its variants hold the total density and the magnetization density. For instance, if the 4th band is selected ({{TAG|IBAND}} {{=}} 4) the first data set in the PARCHG file corresponds to the summed density of the 4th spin up and 4th spin down orbital, whereas the second data set holds the difference between the 4th spin-up and 4th spin-down orbital (magnetization density). Hence, to obtain the charge density corresponding to a specific orbital of a specific spin channel some post-processing of the {{TAG|PARCHG}} file might be required (building differences or sums). A simple workaround is to use  {{TAG|EINT}} and specify sufficient digits to select only one orbital from either the spin-up or spin-down channel.}}


==Step-by-step instructions==
==Step-by-step instructions==
Line 40: Line 41:
  LSEPB = .FALSE.
  LSEPB = .FALSE.
  LSEPK = .FALSE.
  LSEPK = .FALSE.
{{TAG|LPARD}} = .TRUE. activates the partial charge mode and assures that the WAVECAR file is read. {{TAG|NBMOD}} = -3 and {{TAG|EINT}} = -1.5 0.25 ensure that the bands below and slightly above the Fermi energy are included (corresponding to a negative bias voltage of about 1.5 Volt). The two remaining tags, {{TAG|LSEPB}} and {{TAG|LSEPK}} are set to their default values (.FALSE.) and are there for clarity only. We want to sum up the contributions of all bands in the energy range at all '''k''' points without separating any of this information.
{{TAG|LPARD}} = .TRUE. activates the partial charge mode and assures that the WAVECAR file is read. {{TAG|ENCUT}} and {{TAG|ISPIN}} settings are copied over from the ground state calculation. {{TAG|NBMOD}} = -3 and {{TAG|EINT}} = -1.5 0.25 ensure that the bands from <math>\epsilon_f-1.5</math> to <math>\epsilon_f+0.25</math> eV are included (corresponding to a negative bias voltage of about 1.5 Volt). The two remaining tags, {{TAG|LSEPB}} and {{TAG|LSEPK}} are set to their default values (.FALSE.) and are there for clarity only. We want to sum up the contributions of all bands in the energy range at all '''k''' points without separating any of this information.


'''Step 4''': Run VASP. No electronic (or ionic) minimization is performed, so the calculation is rapid and does not even require parallelization.
'''Step 4''': Run VASP. No electronic (or ionic) minimization is performed, so the calculation is rapid and does not even require parallelization.


'''Step 5''': Load the resulting {{FILE|PARCHG}} file with your favorite visualization program to view constant-height images by looking at slices through the data or constant current images by using isosurfaces.
'''Step 5 (optional)''': Load the resulting {{FILE|PARCHG}} file with your favorite visualization program to view constant-height images by looking at slices through the data or constant current images by using isosurfaces.


== Related tags and articles ==
== Related tags and articles ==

Revision as of 08:50, 6 February 2024

The partial (band-decomposed) charge density can be used to analyze the contributions of different orbitals or energy ranges to a specific region in real space. It helps in gaining insight and visualizing electronic, magnetic, or transport properties, and is especially important when simulating scanning tunneling microscopy (STM) images. In VASP, the calculation of partial charges is a quick post-processing step that is selected by setting LPARD = .TRUE. in the INCAR file. It is necessary to provide a WAVECAR from a converged ground state calculation as an input file. To select the contributing k points and bands, various options exist, which can be selected via the NBMOD, IBAND, EINT, and KPUSE tags.

Mind: All charge densities, including the band-decomposed charge densities, are symmetrized using both the space and point group symmetries. However, when calculating partial charge from selected k points, this can lead to wrong results due to wrong k point weights. In that case, the symmetry must be turned off during the initial ground state calculation from which the WAVECAR is generated, as well as during the subsequent band-decomposed charge density calculation.
Warning: Band-decopmposed partial charge density postprocessing is not supported for noncollinear magnetic calculations (LNONCOLLINEAR = .TRUE.).

Input tags for selecting and writing the partial charges

The following list briefly explains the various INCAR tags that control the behavior of the band-decomposed charge density decomposition. Please refer to the documentation of each tag for further details.

  • LPARD: Toggles the partial charge postprocessing on or off. If only this tag is set, the valence charge density is computed for all occupied bands and written to the CHGCAR file (without the augmentation occupancies usually written to that file).
  • IBAND: An integer array specifying the bands to include in the partial charge density. If IBAND is specified, NBMOD is automatically set to the number of selected bands.
  • EINT: Specifies an energy interval. Any energy bands with eigenvalues within this range will contribute to the calculation of the partial charge density. If the value of the NBMOD tag is set to -3, the energy values are interpreted as relative to the Fermi energy . If the NBMOD tag is not set or is set to -2, the provided energy values will be considered as absolute total energies.
  • NBMOD: This tag controls the mode of selecting bands that should contribute to the calculation of partial charges.
    • NBMOD = n: Use n bands (set automatically if IBAND is used).
    • NBMOD = 0: Use all bands (occupied and empty).
    • NBMOD = -1: Use all occupied bands (and write to CHGCAR instead of PARCHG).
    • NBMOD = -2: To choose the bands that contribute, you can utilize an energy interval defined by the tag EINT.
    • NBMOD = -3: Use an energy interval relative to the Fermi energy to select contributing bands (defined by EINT).
  • KPUSE: Specifies which k points are used in the evaluation of the partial DOS.
  • LSEPB: Specifies whether to write the partial charge density for selected bands to individual files or merge them.
  • LSEPK: Specifies whether to write the partial charge density for selected k points to individual files or merge them.

Output files

The partial valence charge density is written in the PARCHG file. If you want to separate the output by k points or bands, setting LSEPB and/or LSEPK allows you to write it to multiple PARCHG.*.* files.

Mind: For spin-polarized calculations, the PARCHG and its variants hold the total density and the magnetization density. For instance, if the 4th band is selected (IBAND = 4) the first data set in the PARCHG file corresponds to the summed density of the 4th spin up and 4th spin down orbital, whereas the second data set holds the difference between the 4th spin-up and 4th spin-down orbital (magnetization density). Hence, to obtain the charge density corresponding to a specific orbital of a specific spin channel some post-processing of the PARCHG file might be required (building differences or sums). A simple workaround is to use EINT and specify sufficient digits to select only one orbital from either the spin-up or spin-down channel.

Step-by-step instructions

In this example, we will produce a partial charge density useful for STM picture simulation. Note that the bias voltage and tip distance from an experiment do not always translate one-to-one to the simulation.

Step 1: Ensure that the ground state calculation has a well-converged charge density (low rms(c) in the standard output or the OSZICAR). The k point mesh should be well converged to get good results for STM simulations.

Step 2: Copy POSCAR, KPOINTS, POSCAR, and WAVECAR to a new directory.

Step 3: Prepare an appropriate INCAR file in the new directory, making sure you specify the same settings for energy cutoff, symmetry, and spin as in the groundstate calculation. This could be a possible INCAR:

SYSTEM = STM simulation
ENCUT = 520
ISPIN = 2
LPARD = .TRUE.
NBMOD = -3
EINT = -1.5 0.25
LSEPB = .FALSE.
LSEPK = .FALSE.

LPARD = .TRUE. activates the partial charge mode and assures that the WAVECAR file is read. ENCUT and ISPIN settings are copied over from the ground state calculation. NBMOD = -3 and EINT = -1.5 0.25 ensure that the bands from to eV are included (corresponding to a negative bias voltage of about 1.5 Volt). The two remaining tags, LSEPB and LSEPK are set to their default values (.FALSE.) and are there for clarity only. We want to sum up the contributions of all bands in the energy range at all k points without separating any of this information.

Step 4: Run VASP. No electronic (or ionic) minimization is performed, so the calculation is rapid and does not even require parallelization.

Step 5 (optional): Load the resulting PARCHG file with your favorite visualization program to view constant-height images by looking at slices through the data or constant current images by using isosurfaces.

Related tags and articles

LPARD, IBAND, EINT, NBMOD, KPUSE, LSEPB, LSEPK, PARCHG, Examples that use this tag