SHG from Floquet formulation

From Lumen wiki
Jump to navigationJump to search

Second Harmonic Generation in AlAs

Floquet Hamiltonian
Floquet Hamiltonian

In this tutorial, we will calculate the second harmonic generation of bulk AlAs using the Floquet formulation as described in the reference [1]. The great advance of the Floquet formulation is that is very fast compared to the real-time one, but at present is limited to the independent particle approximation with the possibility to include scissor operator.
Lumen databases can be downloaded here: AlAs_DBs.tar.gz (10 MB).
Notice that in order to use the Floquet part of Lumen you have to compile the specific module with the command:

make fl-project

This will new exectutables yambo_fl and ypp_fl.

The first steps of this tutorials are the same as the tutorial on non-linear response using the real-time approach Real time approach to non-linear response (SHG).
We suppose that you already solved the Kohn-Sham system, did the setup and removed symmetries as it was done in tutorial Real time approach to non-linear response (SHG).
We consider an external field in the [1,1,0].

Floquet calculation of SHG

You can generate the input file with the command yambo_fl -f:

floptics                         # [R] Floquet approach to Non-linear spectroscopy
% NLBands
  3 | 6 |                   # [NL] Bands
%
% NLEnRange
-1.000000 |-1.000000 |         eV    # [NL] Energy range (for loop on frequencies NLEnSteps/=0
%
NLEnSteps=  30                # [NL] Energy steps
NLDamping=  0.150000    eV    # [NL] Damping
NLCorrelation= "IPA"             # [NL] Correlation ("IPA/HARTREE/TDDFT/LRC/LRW/JGM/SEX/LSEX/LHF")
HARRLvcs= 10417            RL    # [HA] Hartree     RL components
EXXRLvcs= 10417            RL    # [XX] Exchange    RL components
% Field1_Dir
  1.000000 | 1.000000 | 0.000000 |        # [RT Field1] Versor | 0.000000 |        # [RT Field1] Versor
%
Field1_Int=  1000.00       kWLm2 # [RT Field1] Intensity
Xorder= 2                        # [FL] Max order of the response/exc functions
Xthresh_1= 0.100000              # [FL] Self-consistent threshold on 1st order response function
Xthresh_2= 0.100000              # [FL] Self-consistent threshold on 2nd order response function
Xthresh_3= 0.100000              # [FL] Self-consistent threshold on 3rd order response function


The line |1.000000 | 1.000000 | 0.000000 | # [RT Field1] Versor referees to the direction of the external field (x,y,0).
The default parameters of Lumen are already tuned for second-harmonic generation, so the only thing you have to change is the band range, between 3 and 6 and the energy range between 1.0-5.0 eV and the number of energy steps in this interval that we set to 10. Notice that you cannot set to zero the lowest value of the energy range because this will requires a simulation that lasts infinite time, see below.
Run yambo_fl, this will take more or less 2 minutes.

Results and comparison with real-time

The results are stored in the files: o.chi_q1_floquet_order_x where x is the different order from 0 to Xorder as specified in the input. In the figure below we compare the results with the one from real-time simulation real-time results.

Floquet vs Real-time
Floquet vs Real-time

References

  1. Ignacio M Alliati and Myrta Grüning, Floquet formulation of the dynamical Berry-phase approach to nonlinear optics in extended systems, Electron. Struct. 5 017001 (2023)