Pump and Probe: Difference between revisions
Line 100: | Line 100: | ||
nloptics # [R] Non-linear spectroscopy | nloptics # [R] Non-linear spectroscopy | ||
DIP_Threads=0 # [OPENMP/X] Number of threads for dipoles | |||
NL_Threads=0 # [OPENMP/NL] Number of threads for nl-optics | |||
% NLBands | % NLBands | ||
3 | 6 | # [NL] Bands range | |||
% | % | ||
NLverbosity= "high" # [NL] Verbosity level (low | high) | NLverbosity= "high" # [NL] Verbosity level (low | high) | ||
NLtime= 150.0000 fs # [NL] Simulation Time | |||
NLtime= 150. | |||
NLintegrator= "CRANKNIC" # [NL] Integrator ("EULEREXP/RK2/RK4/RK2EXP/HEUN/INVINT/CRANKNIC") | NLintegrator= "CRANKNIC" # [NL] Integrator ("EULEREXP/RK2/RK4/RK2EXP/HEUN/INVINT/CRANKNIC") | ||
NLCorrelation= " | NLCorrelation= "IPA" # [NL] Correlation ("IPA/HARTREE/TDDFT/LRC/LRW/JGM/SEX") | ||
NLLrcAlpha= 0.000000 # [NL] Long Range Correction | NLLrcAlpha= 0.000000 # [NL] Long Range Correction | ||
NLDamping= 0.000000 eV # [NL] Damping (or dephasing) | NLDamping= 0.000000 eV # [NL] Damping (or dephasing) | ||
RADLifeTime=-1.000000 fs # [RT] Radiative life-time (if negative Yambo sets it equal to Phase_LifeTime in NL) | |||
#EvalCurrent # [NL] Evaluate the current | #EvalCurrent # [NL] Evaluate the current | ||
HARRLvcs= | #FrPolPerdic # [DIP] Force periodicity of polarization respect to the external field | ||
EXXRLvcs= | HARRLvcs= 21817 RL # [HA] Hartree RL components | ||
EXXRLvcs= 21817 RL # [XX] Exchange RL components | |||
% Field1_Freq | % Field1_Freq | ||
0.100000 | 0.100000 | eV # [RT Field1] Frequency | |||
% | % | ||
Field1_Int= | Field1_NFreqs= 1 # [RT Field1] Frequency | ||
Field1_Int= 10000.00 kWLm2 # [RT Field1] Intensity | |||
Field1_Width= 0.000000 fs # [RT Field1] Width | Field1_Width= 0.000000 fs # [RT Field1] Width | ||
Field1_kind= " | Field1_kind= "SOFTSIN" # [RT Field1] Kind(SIN|COS|RES|ANTIRES|GAUSS|DELTA|QSSIN) | ||
Field1_pol= "linear" # [RT Field1] Pol(linear|circular) | Field1_pol= "linear" # [RT Field1] Pol(linear|circular) | ||
% Field1_Dir | % Field1_Dir | ||
0.000000 | | 0.000000 | 0.000000 | 0.000000 | # [RT Field1] Versor | ||
% | % | ||
Field1_Tstart= 0.010000 fs # [RT Field1] Initial Time | |||
Field1_Tstart= | |||
% Field2_Freq | % Field2_Freq | ||
4.42 | 4.42 | eV # [RT Field2] Frequency | |||
% | % | ||
Field2_Int= | Field2_NFreqs= 1 # [RT Field2] Frequency | ||
Field2_Width= | Field2_Int= 1000.00 kWLm2 # [RT Field2] Intensity | ||
Field2_kind= " | Field2_Width= 10.00000 fs # [RT Field2] Width | ||
Field2_kind= "QSSIN" # [RT Field2] Kind(SIN|COS|RES|ANTIRES|GAUSS|DELTA|QSSIN) | |||
Field2_pol= "linear" # [RT Field2] Pol(linear|circular) | Field2_pol= "linear" # [RT Field2] Pol(linear|circular) | ||
% Field2_Dir | % Field2_Dir | ||
0.000000 | 1.000000 | 0.000000 | # [RT Field2] Versor | 0.000000 | 1.000000 | 0.000000 | # [RT Field2] Versor | ||
% | % | ||
Field2_Tstart= 0.010000 fs # [RT Field2] Initial Time | |||
[...] | |||
Field2_Tstart= | |||
We set the starting time of the Probe (Field1) to 165 fs, a time larger then the simulation run in such a way to have only the Pump(Field2) field. As Pump field we use QSSIN that is an [https://demonstrations.wolfram.com/SineGaussianSignals/ sine-Gaussian wave], with a frequency 6.1 eV centered at the energy of the first exciton, and a width of 10 fs: | We set the starting time of the Probe (Field1) to 165 fs, a time larger then the simulation run in such a way to have only the Pump(Field2) field. As Pump field we use QSSIN that is an [https://demonstrations.wolfram.com/SineGaussianSignals/ sine-Gaussian wave], with a frequency 6.1 eV centered at the energy of the first exciton, and a width of 10 fs: |
Revision as of 14:30, 8 November 2022
This tutorial works only with Yambo version > 5.1, that will be released soon.
In this tutorial we will show you how to setup two external fields in yambo_nl, to perform pump and probe simulation. [1]
This tutorial is at independent particle level, but the same kind of simulation can be repeated including local field effects,
quasi-particle correction or electron-hole interaction, see for example the tutorials:
Correlation effects in the non-linear response
Real time Bethe-Salpeter Equation (TDSE)
This tutorial supposes that you are already familiar with real-time simulation with Yambo[2]
if it is not the case please check these tutorials: Tutorials#Non_linear_response
We start from the h-BN monolayer with an in place lattice constant a=2.5 Å and a box large 30 a.u. in the z-direction.
Standard DFT input for hBN monolayer for ABINIT or QuantumEspresso can be found here Tutorials.
We used a 9x9x1 k-points grid and 8 bands in the non-self consistent calculation.
In our example we choose direction [0,1,0] for the pump and directions [1,0,0] e [0,1,0] for the probe. We generate the ypp.in to remove symmetries with the command ypp -y and we modify it as:
fixsyms # [R] Remove symmetries not consistent with an external perturbation % Efield1 0.000000 | 1.000000 | 0.000000 | # First external Electric Field % % Efield2 1.000000 | 0.000000 | 0.000000 | # Additional external Electric Field % BField= 0.000000 T # [MAG] Magnetic field modulus Bpsi= 0.000000 deg # [MAG] Magnetic field psi angle [degree] Btheta= 0.000000 deg # [MAG] Magnetic field theta angle [degree] #RmAllSymm # Remove all symmetries RmTimeRev # Remove Time Reversal #RmSpaceInv # Remove Spatial Inversion
then we go in the FixSymm directory and run again the setup.
We will perform three different real-time calculations:
- the probe field alone;
- the pump field alone;
- the pump and probe configuration.
Probe only
We can generate the input file for a generic Pump and Probe calculations with the command: yambo_nl -u p -F yambo.in_probe:
nloptics # [R] Non-linear spectroscopy DIP_Threads=0 # [OPENMP/X] Number of threads for dipoles NL_Threads=0 # [OPENMP/NL] Number of threads for nl-optics % NLBands 3 | 6 | # [NL] Bands range % NLverbosity= "high" # [NL] Verbosity level (low | high) NLtime= 80.000000 fs # [NL] Simulation Time NLintegrator= " CRANKNIC" # [NL] Integrator ("EULEREXP/RK2/RK4/RK2EXP/HEUN/INVINT/CRANKNIC") NLCorrelation= "IPA" # [NL] Correlation ("IPA/HARTREE/TDDFT/LRC/LRW/JGM/SEX") NLLrcAlpha= 0.000000 # [NL] Long Range Correction NLDamping= 0.000000 eV # [NL] Damping (or dephasing) RADLifeTime=-1.000000 fs # [RT] Radiative life-time (if negative Yambo sets it equal to Phase_LifeTime in NL) #EvalCurrent # [NL] Evaluate the current #FrPolPerdic # [DIP] Force periodicity of polarization respect to the external field HARRLvcs= 21817 RL # [HA] Hartree RL components EXXRLvcs= 21817 RL # [XX] Exchange RL components % Field1_Freq 0.100000 | 0.100000 | eV # [RT Field1] Frequency % Field1_NFreqs= 1 # [RT Field1] Frequency Field1_Int= 1000.00 kWLm2 # [RT Field1] Intensity Field1_Width= 0.000000 fs # [RT Field1] Width Field1_kind= " DELTA" # [RT Field1] Kind(SIN|COS|RES|ANTIRES|GAUSS|DELTA|QSSIN) Field1_pol= "linear" # [RT Field1] Pol(linear|circular) % Field1_Dir 0.000000 | 1.000000 | 0.000000 | # [RT Field1] Versor % Field1_Tstart= 5.00000 fs # [RT Field1] Initial Time [......]
In this input we set only the first field that is the probe, we use a DELTA function as field in such a way to probe all the frequencies, and set the starting point of the delta at t=5 fs.
Run this job in a separate folder with the command yambo_nl -F yambo.in_probe -J PROBE. Then we can analyze the spectra with ypp -u -J PROBE :
nonlinear # [R] Non-linear response analysis Xorder= 1 # Max order of the response/exc functions % TimeRange -1.000000 |-1.000000 | fs # Time-window where processing is done % ETStpsRt= 200 # Total Energy steps % EnRngeRt 0.00000 | 20.00000 | eV # Energy range % DampMode= "LORENTZIAN" # Damping type ( NONE | LORENTZIAN | GAUSSIAN ) DampFactor= 0.100000 eV # Damping parameter PumpPATH= "none" # Path of the simulation with the Pump only
and get the dielectric response. Notice that we introduce a Lorentzian broadening the post-processing.
Hereafter we plot the damped polarization along the y-direction and the corresponding dielectric constant:
Pump only
Now we run a simulation with the pump field only. We generate the input in the same way yambo_nl -u p -F yambo.in_pump.
These result will be our reference field in the final analysis. Here the input file for the pump:
nloptics # [R] Non-linear spectroscopy DIP_Threads=0 # [OPENMP/X] Number of threads for dipoles NL_Threads=0 # [OPENMP/NL] Number of threads for nl-optics % NLBands 3 | 6 | # [NL] Bands range % NLverbosity= "high" # [NL] Verbosity level (low | high) NLtime= 150.0000 fs # [NL] Simulation Time NLintegrator= "CRANKNIC" # [NL] Integrator ("EULEREXP/RK2/RK4/RK2EXP/HEUN/INVINT/CRANKNIC") NLCorrelation= "IPA" # [NL] Correlation ("IPA/HARTREE/TDDFT/LRC/LRW/JGM/SEX") NLLrcAlpha= 0.000000 # [NL] Long Range Correction NLDamping= 0.000000 eV # [NL] Damping (or dephasing) RADLifeTime=-1.000000 fs # [RT] Radiative life-time (if negative Yambo sets it equal to Phase_LifeTime in NL) #EvalCurrent # [NL] Evaluate the current #FrPolPerdic # [DIP] Force periodicity of polarization respect to the external field HARRLvcs= 21817 RL # [HA] Hartree RL components EXXRLvcs= 21817 RL # [XX] Exchange RL components % Field1_Freq 0.100000 | 0.100000 | eV # [RT Field1] Frequency % Field1_NFreqs= 1 # [RT Field1] Frequency Field1_Int= 10000.00 kWLm2 # [RT Field1] Intensity Field1_Width= 0.000000 fs # [RT Field1] Width Field1_kind= "SOFTSIN" # [RT Field1] Kind(SIN|COS|RES|ANTIRES|GAUSS|DELTA|QSSIN) Field1_pol= "linear" # [RT Field1] Pol(linear|circular) % Field1_Dir 0.000000 | 0.000000 | 0.000000 | # [RT Field1] Versor % Field1_Tstart= 0.010000 fs # [RT Field1] Initial Time % Field2_Freq 4.42 | 4.42 | eV # [RT Field2] Frequency % Field2_NFreqs= 1 # [RT Field2] Frequency Field2_Int= 1000.00 kWLm2 # [RT Field2] Intensity Field2_Width= 10.00000 fs # [RT Field2] Width Field2_kind= "QSSIN" # [RT Field2] Kind(SIN|COS|RES|ANTIRES|GAUSS|DELTA|QSSIN) Field2_pol= "linear" # [RT Field2] Pol(linear|circular) % Field2_Dir 0.000000 | 1.000000 | 0.000000 | # [RT Field2] Versor % Field2_Tstart= 0.010000 fs # [RT Field2] Initial Time [...]
We set the starting time of the Probe (Field1) to 165 fs, a time larger then the simulation run in such a way to have only the Pump(Field2) field. As Pump field we use QSSIN that is an sine-Gaussian wave, with a frequency 6.1 eV centered at the energy of the first exciton, and a width of 10 fs:
References
- ↑ Exciton - Exciton transitions involving strongly bound Frenkel excitons: an ab initio approach, D. Sangalli, M. D'Alessandro and C. Attaccalite, in preparation
- ↑ Non-linear response in extended systems: a real-time approach, C. Attaccalite