BSEPREC: Difference between revisions

From VASP Wiki
m (Tal moved page Construction:BSEPREC to BSEPREC)
No edit summary
Line 1: Line 1:
{{TAGDEF|BSEPREC|Low {{!}} Medium {{!}} High {{!}}  Accurate | Medium}}
{{TAGDEF|BSEPREC|Low {{!}} Medium {{!}} High {{!}}  Accurate | Medium}}


Description: {{TAG|BSEPREC}} determines the precision of the time-evolution algorithm for solving the Bethe-Salpeter or Casida equations, i.e., the timestep and the number of steps.  
Description: {{TAG|BSEPREC}} determines the precision of the time-evolution and Lanczos algorithms for solving the Bethe-Salpeter or Casida equations. For the former it controls the timestep and the number of steps, while for the latter it controls the convergence threshold for the dielectric function.  


----
==Time-evolution algorithm==
The timestep in the time-evolution calculation is inversely proportional to the maximum transition energy {{TAG|OMEGAMAX}} and the number of steps is inversely proportional to the broadening {{TAG|CSHIFT}}. Depending on the {{TAG|BSEPREC}}  stable these parameters are scaled depending on the precision tag {{TAG|BSEPREC}}.
The timestep in the time-evolution calculation is inversely proportional to the maximum transition energy {{TAG|OMEGAMAX}} and the number of steps is inversely proportional to the broadening {{TAG|CSHIFT}}. Depending on the {{TAG|BSEPREC}}  stable these parameters are scaled depending on the precision tag {{TAG|BSEPREC}}.


Line 19: Line 19:


For example, the number of steps <math>N_{\rm steps}</math> for {{TAG|BSEPREC}} = Low can be found via <math>N_{\rm steps}=\frac{{\rm OMEGAMAX}\times 2}{{\rm CSHIFT}/5}</math>
For example, the number of steps <math>N_{\rm steps}</math> for {{TAG|BSEPREC}} = Low can be found via <math>N_{\rm steps}=\frac{{\rm OMEGAMAX}\times 2}{{\rm CSHIFT}/5}</math>
==Lanczos algorithm==
The Lanczos algorithm stops once the imaginary part of the dielectric function computed in two consecutive iterations differs bellow a certain threshold for the root-mean-square, i.e. once after <math>n</math> iterations the value of
<math>
\mathrm{RMS}[\epsilon_n] = \sqrt{\frac{1}{N_\omega}\sum_{i=1}^{N_\omega}\left(\Im[\epsilon_n(\omega_i)]-\Im[\epsilon_{n-1}(\omega_i)]\right)^2}
</math>
is below a certain value defined by '''BSEPREC'''.
{| cellpadding="5" cellspacing="0" border="1"
! BSEPREC !! <math>\mathrm{RMS}[\epsilon_n]</math>
|-
| Accurate (a) || <math>10^{-5}</math>
|-
| High (h) || <math>10^{-4}</math> 
|-
| Medium (m) || <math>10^{-3}</math>
|-
| Low (l)  || <math>10^{-2}</math>
|}
To prevent the algorithm from being too slow, the number of frequencies during the convergence loop is set to <math>N_\omega</math> = INT(SQRT(NOMEGA)), where {{TAG|NOMEGA}} is set in the {{TAG|INCAR}}.
== Related tag and articles ==
== Related tag and articles ==
{{TAG|IBSE}},
{{TAG|IBSE}},

Revision as of 14:18, 15 October 2025

BSEPREC = Low | Medium | High | Accurate
Default: BSEPREC = Medium 

Description: BSEPREC determines the precision of the time-evolution and Lanczos algorithms for solving the Bethe-Salpeter or Casida equations. For the former it controls the timestep and the number of steps, while for the latter it controls the convergence threshold for the dielectric function.

Time-evolution algorithm

The timestep in the time-evolution calculation is inversely proportional to the maximum transition energy OMEGAMAX and the number of steps is inversely proportional to the broadening CSHIFT. Depending on the BSEPREC stable these parameters are scaled depending on the precision tag BSEPREC.

BSEPREC OMEGAMAX CSHIFT
Accurate (a) [math]\displaystyle{ \times 4 }[/math] [math]\displaystyle{ \times 1/10 }[/math]
High (h) [math]\displaystyle{ \times 3 }[/math] [math]\displaystyle{ \times 1/7.5 }[/math]
Medium (m) [math]\displaystyle{ \times 2.5 }[/math] [math]\displaystyle{ \times1/6.25 }[/math]
Low (l) [math]\displaystyle{ \times 2 }[/math] [math]\displaystyle{ \times1/5 }[/math]

For example, the number of steps [math]\displaystyle{ N_{\rm steps} }[/math] for BSEPREC = Low can be found via [math]\displaystyle{ N_{\rm steps}=\frac{{\rm OMEGAMAX}\times 2}{{\rm CSHIFT}/5} }[/math]

Lanczos algorithm

The Lanczos algorithm stops once the imaginary part of the dielectric function computed in two consecutive iterations differs bellow a certain threshold for the root-mean-square, i.e. once after [math]\displaystyle{ n }[/math] iterations the value of

[math]\displaystyle{ \mathrm{RMS}[\epsilon_n] = \sqrt{\frac{1}{N_\omega}\sum_{i=1}^{N_\omega}\left(\Im[\epsilon_n(\omega_i)]-\Im[\epsilon_{n-1}(\omega_i)]\right)^2} }[/math]

is below a certain value defined by BSEPREC.

BSEPREC [math]\displaystyle{ \mathrm{RMS}[\epsilon_n] }[/math]
Accurate (a) [math]\displaystyle{ 10^{-5} }[/math]
High (h) [math]\displaystyle{ 10^{-4} }[/math]
Medium (m) [math]\displaystyle{ 10^{-3} }[/math]
Low (l) [math]\displaystyle{ 10^{-2} }[/math]

To prevent the algorithm from being too slow, the number of frequencies during the convergence loop is set to [math]\displaystyle{ N_\omega }[/math] = INT(SQRT(NOMEGA)), where NOMEGA is set in the INCAR.

Related tag and articles

IBSE, NBANDSV, NBANDSO, CSHIFT, OMEGAMAX, BSE calculations, Time-dependent density-functional theory calculations, Bethe-Salpeter equations