Calculating the chemical shieldings: Difference between revisions

From VASP Wiki
(Created page with "Many nuclei have an inherent, non-zero spin '''I''' and therefore a magnetic dipole moment '''μ''', conventionally along the z-axis: :<math> \mu_z = \gamma \textbf{I}_z </math> In the absence of a magnetic field, these are degenerate states. When an external magnetic field '''B'''<sub>ext</sub> is applied, the energy difference between two states is given by the following equation: :<math> \Delta E = \gamma \hbar \textbf{B}_{ext} </math> Conventionally, the z-axis...")
 
 
(168 intermediate revisions by the same user not shown)
Line 1: Line 1:
Many nuclei have an inherent, non-zero spin '''I''' and therefore a magnetic dipole moment '''&mu;''', conventionally along the z-axis:
The chemical shielding tensor ''σ'' is the relation between the induced and external magnetic fields and describes how much the electrons shield the nuclei from an external field. The absolute chemical shielding is calculated by linear response using {{TAG|LCHIMAG}} {{Cite|pickard:prb:2001}}{{Cite|yates:prb:2007}}. The chemical shielding is directly related to the chemical shift ''δ'' recorded in nuclear magnetic resonance (NMR), cf. [[:Category:NMR|NMR category page]] and {{TAG|LCHIMAG}} page for details, and, indirectly, to the resonance frequency. The theory is covered in the [[:Category:NMR|NMR category page]] and {{TAG|LCHIMAG}} page.
{{NB|warning|The chemical shifts are calculated from the orbital magnetic response under the assumption that the system is an insulator. Smearing schemes intended for metals can generate nonsense.}}


:<math>
==Step-by-step instructions==
\mu_z = \gamma \textbf{I}_z
</math>


In the absence of a magnetic field, these are degenerate states. When an external magnetic field '''B'''<sub>ext</sub> is applied, the energy difference between two states is given by the following equation:
The chemical shielding is calculated post-self-consistent field (post-SCF) using {{TAG|LCHIMAG}}. A well-converged SCF calculation is therefore crucial. The chemical shielding is very sensitive to several input parameters that must all be independently tested.


:<math>
'''Step 1 (optional):''' Calculate the chemical shielding using a previously converged calculation
\Delta E = \gamma \hbar \textbf{B}_{ext}
</math>


Conventionally, the z-axis is chosen for the direction of '''B'''<sub>ext</sub>. Along this axis, '''&mu;''' aligned with '''B'''<sub>ext</sub> will be slightly more energetically favorable and so more populated than '''&mu;''' opposed to '''B'''<sub>ext</sub>. This is only signficant in the presence of strong magnetic fields.
Since the chemical shielding is calculated post-SCF, you can use a previously converged {{FILE|WAVECAR}} with {{TAG|ISTART}} = 1 and {{TAG|NELM}} = 1. The corresponding density, {{TAG|CHGCAR}} is calculated from the {{FILE|WAVECAR}} file before the first elementary step so it need not be included.  


In the presence of '''B'''<sub>ext</sub>, '''&mu;''' precesses at its Larmor frequency ''&omega;''<sub>L</sub>, determined by the strength of the magnetic field and the nucleus' gyromagnetic ratio &gamma;:
'''Step 2 (optional):''' Determine a suitable energetic break value


:<math>
The break condition for the self-consistency step {{TAG|EDIFF}} strongly influences the chemical shielding. A setting of {{TAG|EDIFF}} = 1E-8 eV is generally recommended. Convergence is taken to be within 0.1 ppm.
\omega_L = \gamma \textbf{B}
</math>


A weak, oscillating magnetic field applied perpendicular (i.e. in the ''transverse frame'') to '''B'''<sub>ext</sub> (''reference frame''), e.g. using a radio-frequency (RF) pulse at frequency ''&omega;''<sub>rf</sub>, can cause '''&mu;''' to oscillate with the RF. If ''&omega;''<sub>rf</sub> is similar to ''&omega;''<sub>L</sub>, then resonance occurs, hence nuclear magnetic resonance (NMR). '''&mu;''' flips from the reference to the transverse frame and the relaxation of '''&mu;''' back to the reference frame creates a signal that is measured in NMR {{Cite|laws:bitter:jerschow:2002}}{{Cite|reif:ashbrook:emsley:hong:2021}}.
'''Step 3:''' Converge the plane-wave basis


==Chemical shielding==
A large plane-wave energy cutoff is required to fully converge the chemical shieldings. Perform multiple calculations while increasing the basis set size, as defined in {{TAG|ENCUT}}, incrementally (e.g., by 100 eV intervals). Convergence should be aimed to be within 0.1 ppm, although this will not be feasible for heavier elements.


Each nuclear isotope has a different gyromagnetic ratio. Even with the same isotope, the frequency can subtly differ based on the chemical environment. Electrons are also charged and so their movement in atoms, i.e. the electronic current, generates a magnetic field opposed to '''B'''<sub>ext</sub>. This induced magnetic field '''B'''<sub>ind</sub> reduces the magnetic field at the nucleus, decreasing the frequency measured in NMR. In this way, the electrons ''shield'' the nucleus from '''B'''<sub>ext</sub>. Since the electron density of a molecule or crystal is determined by its molecular orbitals, its chemical environment can be probed by these subtle differences in frequency. This shielding relation between '''B'''<sub>ext</sub> and '''B'''<sub>ind</sub> is described by the ''chemical shielding'' tensor &sigma;<sub>ij</sub>:
'''Step 4:''' Converge the '''k''' point mesh


<math>\textbf{B}_{ind}(\textbf{R}) = -\sigma(\textbf{R}) \textbf{B}_{ext}</math>
Similar to the basis, the '''k''' point mesh can strongly influence the chemical shielding. The '''k''' point mesh should be increased incrementally, i.e., 1x1x1, 2x2x2, 3x3x3, until convergence within 0.1 ppm is achieved. It is only necessary to converge the '''k''' point mesh for crystals, gas-phase molecules should use the &Gamma;-point only.


The chemical shielding itself cannot be measured in experiment, instead, it must be taken relative to a standard reference {{Cite|harris:pac:2008}}, which results in the ''chemical shift'' &delta;<sub>ij</sub>:
'''Step 5:''' Compare to experiment


<math>
The purpose of these calculations is to compare to experiment. However, the calculated absolute chemical shieldings are not directly comparable to the measured chemical shift due to the lack of a reference. To avoid bias from any single calculation, a series of calculated and their corresponding experimental values are used. The experimental chemical shifts are plotted against the calculated chemical shieldings as is found in Fig. 3 of Ref. {{Cite|dewijs:laskowski:jcp:2017}}.
\delta_{ij}(\mathbf{R}) = \sigma_{ij}^{\mathrm{ref}} - \sigma_{ij}(\mathbf{R})
</math>


where ''i'' and ''j'' are Cartesian axes.
==Recommendations and advice==
Calculating the chemical shielding requires tightly converged settings. As described in the step-wise introduction above, converging with respect to {{TAG|EDIFF}}, {{TAG|ENCUT}}, and the '''k''' point mesh is very important. There are a few additional settings that should be considered.


The chemical shift  (in ppm) is measurable and is related to the measured frequency ''&omega;''<sub>sample</sub> via the following equation:
===PAW pseudopotentials===
The standard PAW pseudopotentials {{FILE|POTCAR}} used are sufficient for calculating the chemical shielding. The GIPAW is applied using the projector functions and partial waves that are stored in the regular {{FILE|POTCAR}} files. The completeness of these projector functions and partial waves determines the quality of the results. Using slightly different types of {{FILE|POTCAR}}, e.g., GW (''*_GW'') or with additional valence (''*_sv'', ''*_pv''), can change the calculated shielding by a few ppm for the first and second row ''sp''-bonded elements (except for H).


<math>
The PAW reconstruction with all-electron partial waves is crucial for calculating the field on the nucleus. It is therefore important to use a consistent exchange-correlation functional and so {{TAG|LEXCH}} in the {{FILE|POTCAR}} should not be overwritten with an explicit {{TAG|GGA}} tag in the {{FILE|INCAR}} if possible.
\delta = \frac{\omega_{ref} - \omega_{sample}}{\omega_{sample}} \times 10^6
</math>


The chemical shielding tensor may be calculated by means of linear response:
===Insufficient memory===
For calculating the chemical shieldings, speed had been favored over saving memory, resulting in insufficient memory occasionally. Since the linear response calculation is parallel over '''k''' points, this can be used to economize on memory by performing a regular SCF calculation at high accuracy on the full '''k''' point mesh and saving the {{FILE|CHGCAR}} file. Using <code>{{TAGBL|ICHARG}} = 11</code> start a chemical shielding calculation for each individual '''k''' point in the first Brillouin zone (IBZ) separately, starting from {{FILE|CHGCAR}}. The shieldings can then be calculated as a '''k''' point weighted average of the symmetrized shieldings of the individual '''k''' points.


<math>
===Additional tags===
\sigma_{ij}(\textbf{R}) = - \frac{\partial B^{\mathrm{ind}}_i(\mathbf{R})}{\partial B^{\mathrm{ext}}_j}
To ensure tight precision, the precision should be set to <code>{{TAGBL|PREC}} = Accurate</code>, rather than <code>Normal</code>.
</math>


{{TAG|LCHIMAG}} calculates the chemical shieldings. These are for individual atoms and exclude the contribution due to the augmentation currents in other PAW spheres. If two-center terms are important, e.g. for H, then they may be included using {{TAG|LLRAUG}}.
Several additional {{FILE|INCAR}} tags should be considered. Specifically, {{TAG|LASPH}} should be set to <code>.TRUE.</code>, turning on the non-spherical contributions to the gradient of the density inside the PAW spheres. Occasionally, e.g. for systems containing H or first-row elements, and short bonds, the two-center contributions to the augmentation currents in the PAW spheres are important. In this case, {{TAG|LLRAUG}} = .TRUE. should be used {{Cite|dewijs:jcp:2013}}{{Cite|dewijs:jcp:2021}}.
{{NB|important|The treatment of the orbital magnetism is non-relativistic. This is suitable for light nuclei.
The standard POTCARs are scalar-relativistic and account partially for relativistic effects.
The accuracy can be improved using {{TAG|LBONE}}, which restores the small B-component of the wave function inside the PAW spheres.
Spin-orbit coupling is not implemented for chemical shift calculations.}}


==Quadrupolar nuclei==
=Example scripts for convergence tests=
Nuclei with '''I''' > &#177; &frac12; have an electronic quadrupolar moment. This means that, at the nucleus, there is a non-zero electric field gradient (EFG), i.e. the rate of change of the electric field with respect to position:
Several tests are necessary to obtain various NMR parameters. Make sure to change the example {{FILE|INCAR}} files to include the tags for your desired calculation. We provide some example scripts below:


<math>
==Energetic break criterion tests==
V_{ij} = \frac{\partial^2 V}{\partial x_i \partial x_j}
For converging the energetic break criterion for a single ionic step ({{TAG|EDIFF}}), start with the 1E-4 and then increase by orders of magnitude:
</math>


This comes from the quadrupolar nuclei being non-spherical an so having a non-uniform electric charge distribution. The electric quadrupolar moment couples with the EFG and so the chemical enviornment of the nucleus may be probed using nuclear quadrupole resonance (NQR) {{Cite|nqr:web}}. The EFG is not directly measurable but the nuclear quadrupolar coupling constant C<sub>q</sub> is, defined as:
Energetic break criterion:
'''INCAR.nmr'''
{{TAGBL|PREC}} = Accurate       
{{TAGBL|ENCUT}} = 400.0         
{{TAGBL|EDIFF}} = 1E-4         
{{TAGBL|ISMEAR}} = 0; {{TAGBL|SIGMA}} = 0.1
{{TAGBL|LREAL}} = A             
{{TAGBL|LCHIMAG}} = .TRUE.     
{{TAGBL|DQ}} = 0.001           
{{TAGBL|ICHIBARE}} = 1         
{{TAGBL|LNMR_SYM_RED}} = .TRUE.
{{TAGBL|NLSPLINE}} = .TRUE.     


<math>
Script to loop through {{TAG|EDIFF}} from 1E-4 eV to 1E-8 eV:
C_q = \frac{eQV_{zz}}{h}
<pre>
</math>
for a in 4 5 6 7 8
do
cp INCAR.nmr INCAR
sed -i "s/1E-4/1E-$a/g" INCAR


where ''e'' is the charge of an electron, ''Q'' is the isotope-specific quadrupole moment, and ''h'' is the Planck constant.
mpirun -np 4 $PATH_TO_EXECUTABLE/vasp_std


The EFG can be calculated using {{TAG|LEFG}}, which also calculates ''C<sub>q</sub>'' so long as ''Q'' are defined using {{TAG|QUAD_EFG}}.
cp OUTCAR OUTCAR.$a
done
</pre>


==Hyperfine coupling==
=='''k'''-points tests==
As well as the nuclei, electrons also have spin. Analogously to the nuclei, this may couple with '''B'''<sub>ext</sub> to provide information about its environment. The interaction between internally generated magnetic fields and the magnetic dipole moment of the nucleus split otherwise degenerate energy levels. This splitting is known as hyperfine splitting.
For converging '''k''' points, start with the &Gamma;-point and increase the '''k'''-point mesh incrementally:


In most stable systems, all electrons are paired together, spin-up and spin-down, resulting in overall no spin. If a system has unpaired electrons, e.g. radicals, metal oxides, defects, then these systems can be investigated, e.g. using electron paramagnetic resonance (EPR) {{Cite|weil:bolton:2007}}.  
Initial &Gamma;-only mesh:
'''KPOINTS.nmr'''
<pre>
C
0
G
1 1 1
0 0 0
</pre>


The hyperfine tensor ''A<sup>I</sup>'' describes the interaction between a nuclear spin ''S<sup>I</sup>'' and the electronic spin distribution ''S<sup>e</sup>'' (in most cases associated with a paramagnetic defect state):
Script to go through '''k'''-point meshes from &Gamma;-only to 8x8x8:
<pre>
for a in 1 2 4 6 8
do
cp KPOINTS.nmr KPOINTS
sed -i "s/1 1 1/$a $a $a/g" KPOINTS


:<math>
mpirun -np 4 $PATH_TO_EXECUTABLE/vasp_std
E=\sum_{ij} S^e_i A^I_{ij} S^I_j
</math>


The hyperfine tensor can be calculated using {{TAG|LHYPERFINE}}.
cp OUTCAR OUTCAR.$a
done
</pre>


== How to ==
==Energy cutoff tests==
*Chemical shift tensors: {{TAG|LCHIMAG}}.
For converging the energy cutoff, start with the value of ENMAX given in the {{FILE|POTCAR}} file and then increase incrementally in steps of 100 eV:
*Electric field gradient tensors: {{TAG|Electric Field Gradient}}. The main tags are:
 
**{{TAG|LEFG}} to switch on the field gradient tensor calculation,
Initial {{TAGBL|INCAR}}:
**{{TAG|QUAD_EFG}} to specify the input nuclear quadrupole moments.
'''INCAR.nmr'''
*Hyperfine tensors: {{TAG|LHYPERFINE}}.
{{TAGBL|PREC}} = Accurate       
{{TAGBL|ENCUT}} = 400.0         
{{TAGBL|EDIFF}} = 1E-8         
{{TAGBL|ISMEAR}} = 0; {{TAGBL|SIGMA}} = 0.1
{{TAGBL|LREAL}} = A             
{{TAGBL|LCHIMAG}} = .TRUE.     
{{TAGBL|DQ}} = 0.001           
{{TAGBL|ICHIBARE}} = 1         
{{TAGBL|LNMR_SYM_RED}} = .TRUE. 
{{TAGBL|NLSPLINE}} = .TRUE.
 
Script to loop through {{TAG|ENCUT}} from 400 eV to 800 eV:
<pre>
for a in 400 500 600 700 800
do
cp INCAR.nmr INCAR
sed -i "s/400/$a/g" INCAR
 
mpirun -np 4 $PATH_TO_EXECUTABLE/vasp_std
 
cp OUTCAR OUTCAR.$a
done
</pre>


==References==
==References==


<!-- [[Category:Howto]][[Category:NMR]][[Category:Linear response]] --!>
<!-- [[Category:Howto]][[Category:NMR]][[Category:Linear response]][[Category:Chemical shifts]] --!>

Latest revision as of 09:31, 10 March 2025

The chemical shielding tensor σ is the relation between the induced and external magnetic fields and describes how much the electrons shield the nuclei from an external field. The absolute chemical shielding is calculated by linear response using LCHIMAG [1][2]. The chemical shielding is directly related to the chemical shift δ recorded in nuclear magnetic resonance (NMR), cf. NMR category page and LCHIMAG page for details, and, indirectly, to the resonance frequency. The theory is covered in the NMR category page and LCHIMAG page.

Warning: The chemical shifts are calculated from the orbital magnetic response under the assumption that the system is an insulator. Smearing schemes intended for metals can generate nonsense.

Step-by-step instructions

The chemical shielding is calculated post-self-consistent field (post-SCF) using LCHIMAG. A well-converged SCF calculation is therefore crucial. The chemical shielding is very sensitive to several input parameters that must all be independently tested.

Step 1 (optional): Calculate the chemical shielding using a previously converged calculation

Since the chemical shielding is calculated post-SCF, you can use a previously converged WAVECAR with ISTART = 1 and NELM = 1. The corresponding density, CHGCAR is calculated from the WAVECAR file before the first elementary step so it need not be included.

Step 2 (optional): Determine a suitable energetic break value

The break condition for the self-consistency step EDIFF strongly influences the chemical shielding. A setting of EDIFF = 1E-8 eV is generally recommended. Convergence is taken to be within 0.1 ppm.

Step 3: Converge the plane-wave basis

A large plane-wave energy cutoff is required to fully converge the chemical shieldings. Perform multiple calculations while increasing the basis set size, as defined in ENCUT, incrementally (e.g., by 100 eV intervals). Convergence should be aimed to be within 0.1 ppm, although this will not be feasible for heavier elements.

Step 4: Converge the k point mesh

Similar to the basis, the k point mesh can strongly influence the chemical shielding. The k point mesh should be increased incrementally, i.e., 1x1x1, 2x2x2, 3x3x3, until convergence within 0.1 ppm is achieved. It is only necessary to converge the k point mesh for crystals, gas-phase molecules should use the Γ-point only.

Step 5: Compare to experiment

The purpose of these calculations is to compare to experiment. However, the calculated absolute chemical shieldings are not directly comparable to the measured chemical shift due to the lack of a reference. To avoid bias from any single calculation, a series of calculated and their corresponding experimental values are used. The experimental chemical shifts are plotted against the calculated chemical shieldings as is found in Fig. 3 of Ref. [3].

Recommendations and advice

Calculating the chemical shielding requires tightly converged settings. As described in the step-wise introduction above, converging with respect to EDIFF, ENCUT, and the k point mesh is very important. There are a few additional settings that should be considered.

PAW pseudopotentials

The standard PAW pseudopotentials POTCAR used are sufficient for calculating the chemical shielding. The GIPAW is applied using the projector functions and partial waves that are stored in the regular POTCAR files. The completeness of these projector functions and partial waves determines the quality of the results. Using slightly different types of POTCAR, e.g., GW (*_GW) or with additional valence (*_sv, *_pv), can change the calculated shielding by a few ppm for the first and second row sp-bonded elements (except for H).

The PAW reconstruction with all-electron partial waves is crucial for calculating the field on the nucleus. It is therefore important to use a consistent exchange-correlation functional and so LEXCH in the POTCAR should not be overwritten with an explicit GGA tag in the INCAR if possible.

Insufficient memory

For calculating the chemical shieldings, speed had been favored over saving memory, resulting in insufficient memory occasionally. Since the linear response calculation is parallel over k points, this can be used to economize on memory by performing a regular SCF calculation at high accuracy on the full k point mesh and saving the CHGCAR file. Using ICHARG = 11 start a chemical shielding calculation for each individual k point in the first Brillouin zone (IBZ) separately, starting from CHGCAR. The shieldings can then be calculated as a k point weighted average of the symmetrized shieldings of the individual k points.

Additional tags

To ensure tight precision, the precision should be set to PREC = Accurate, rather than Normal.

Several additional INCAR tags should be considered. Specifically, LASPH should be set to .TRUE., turning on the non-spherical contributions to the gradient of the density inside the PAW spheres. Occasionally, e.g. for systems containing H or first-row elements, and short bonds, the two-center contributions to the augmentation currents in the PAW spheres are important. In this case, LLRAUG = .TRUE. should be used [4][5].

Important: The treatment of the orbital magnetism is non-relativistic. This is suitable for light nuclei.

The standard POTCARs are scalar-relativistic and account partially for relativistic effects. The accuracy can be improved using LBONE, which restores the small B-component of the wave function inside the PAW spheres. Spin-orbit coupling is not implemented for chemical shift calculations.

Example scripts for convergence tests

Several tests are necessary to obtain various NMR parameters. Make sure to change the example INCAR files to include the tags for your desired calculation. We provide some example scripts below:

Energetic break criterion tests

For converging the energetic break criterion for a single ionic step (EDIFF), start with the 1E-4 and then increase by orders of magnitude:

Energetic break criterion: INCAR.nmr

PREC = Accurate        
ENCUT = 400.0          
EDIFF = 1E-4          
ISMEAR = 0; SIGMA = 0.1 
LREAL = A              
LCHIMAG = .TRUE.       
DQ = 0.001             
ICHIBARE = 1           
LNMR_SYM_RED = .TRUE.  
NLSPLINE = .TRUE.      

Script to loop through EDIFF from 1E-4 eV to 1E-8 eV:

for a in 4 5 6 7 8
do
cp INCAR.nmr INCAR
sed -i "s/1E-4/1E-$a/g" INCAR

mpirun -np 4 $PATH_TO_EXECUTABLE/vasp_std

cp OUTCAR OUTCAR.$a
done

k-points tests

For converging k points, start with the Γ-point and increase the k-point mesh incrementally:

Initial Γ-only mesh: KPOINTS.nmr

C
0
G
 1 1 1
 0 0 0

Script to go through k-point meshes from Γ-only to 8x8x8:

for a in 1 2 4 6 8
do
cp KPOINTS.nmr KPOINTS
sed -i "s/1 1 1/$a $a $a/g" KPOINTS

mpirun -np 4 $PATH_TO_EXECUTABLE/vasp_std

cp OUTCAR OUTCAR.$a
done

Energy cutoff tests

For converging the energy cutoff, start with the value of ENMAX given in the POTCAR file and then increase incrementally in steps of 100 eV:

Initial INCAR: INCAR.nmr

PREC = Accurate        
ENCUT = 400.0          
EDIFF = 1E-8           
ISMEAR = 0; SIGMA = 0.1 
LREAL = A              
LCHIMAG = .TRUE.       
DQ = 0.001             
ICHIBARE = 1           
LNMR_SYM_RED = .TRUE.  
NLSPLINE = .TRUE.  

Script to loop through ENCUT from 400 eV to 800 eV:

for a in 400 500 600 700 800
do
cp INCAR.nmr INCAR
sed -i "s/400/$a/g" INCAR

mpirun -np 4 $PATH_TO_EXECUTABLE/vasp_std

cp OUTCAR OUTCAR.$a
done

References