Shift current: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
(Blanked the page)
Tag: Blanking
 
(38 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Shift current.png|right|200px | Shift_current]]
'''This tutorial is for internal use only, these response functions are not implemented/tested in yambo/yambopy suite.'''
== Introduction ==
In this tutorial we will show how to calculate Shift Current in bulk materials.<br>
We suppose you are already familiar with the non-linear response using the Yambo code.
If it is not the case please study the previous tutorials: <br>[[Linear response using Dynamical Berry Phase]] and [[Real time approach to non-linear response (SHG)]].<br>
== Setup calculations ==


In this tutorial we will take as example the two dimensional hBN.<br>
DFT wave-functions and inputs can be downloaded here: [http://media.yambo-code.eu/educational/tutorials/files/hBN-2D-RT.tar.gz hBN-2D-RT.tar.gz].<br>
First of all run the setup, then remove symmetries along the '''y''' direction, as explained in the tutorial above.
== Real-time setup and calculations ==
In order to generate input file for shift current you do: <span style="color:blue">yambo_nl -u n -V par</span> <br>
nloptics                        # [R] Non-linear spectroscopy
NLogCPUs=0                      # [PARALLEL] Live-timing CPU`s (0 for all)
PAR_def_mode= "balanced"        # [PARALLEL] Default distribution mode ("balanced"/"memory"/"workload"/"KQmemory")
NL_CPU= " <span style="color:red">8 1</span>"                      # [PARALLEL] CPUs for each role
NL_ROLEs= " <span style="color:red">w k</span>"                    # [PARALLEL] CPUs roles (w,k)
DIP_CPU= ""                      # [PARALLEL] CPUs for each role
DIP_ROLEs= ""                    # [PARALLEL] CPUs roles (k,c,v)
OSCLL_CPU= ""                    # [PARALLEL] CPUs for each role
OSCLL_ROLEs= ""                  # [PARALLEL] CPUs roles (k,b)
DIP_Threads=0                    # [OPENMP/X] Number of threads for dipoles
NL_Threads=0                    # [OPENMP/NL] Number of threads for nl-optics
OSCLL_Threads=0                  # [OPENMP/X] Number of threads for Oscillators
% NLBands
  <span style="color:red">3 |  6 | </span>                          # [NL] Bands range
%
NLverbosity= "high"              # [NL] Verbosity level (low | high)
NLtime=-1.000000          fs    # [NL] Simulation Time
NLintegrator= "INVINT"          # [NL] Integrator ("EULEREXP/RK2/RK4/RK2EXP/HEUN/INVINT/CRANKNIC")
NLCorrelation= "IPA"            # [NL] Correlation ("IPA/HARTREE/TDDFT/LRC/LRW/JGM/SEX/LSEX/LHF")
NLLrcAlpha= 0.000000            # [NL] Long Range Correction
% NLEnRange
<span style="color:red"> 1.000000 | 8.000000 </span> |        eV    # [NL] Energy range (for loop on frequencies NLEnSteps/=0
%
NLEnSteps=  <span style="color:red">48    </span>              # [NL] Energy steps for the loop on frequencies
% NLrotaxis
  0.000000 | 0.000000 | 0.000000 |        # [NL] Rotation axis (for the loop on angles NLAngSteps/=0)
%
NLAngSteps=0                    # [NL] Angular steps (if NLAngSteps/=0 field versor will be ignored)
NLDamping= <span style="color:red">0.200000  </span>    eV    # [NL] Damping (or dephasing)
RADLifeTime=-1.000000      fs    # [RT] Radiative life-time (if negative RADLifeTime=Phase_LifeTime)
<span style="color:red">EvalCurrent</span>                    # [NL] Evaluate the current
#FrPolPerdic                  # [DIP] Force periodicity of polarization respect to the external field
% 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= "<span style="color:red">SOFTSIN</span>"          # [RT Field1] Kind(SIN|SOFTSIN| see more on src/modules/mod_fields.F)
Field1_pol= "linear"            # [RT Field1] Pol(linear|circular)
% Field1_Dir
<span style="color:red"> 0.000000 | 1.000000 | 0.000000 |  </span>    # [RT Field1] Versor
%
Field1_Tstart= 0.010000    fs    # [RT Field1] Initial Time
Notice that in this input we turned one the evaluation of current  <span style="color:red">EvalCurrent</span> and force the parallelization on the frequencies, <br><code>NL_CPU= " <span style="color:red">8 1</span></code>, <code> NL_ROLEs= " <span style="color:red">w k</span> </code>, that is much more efficient than the one on k-points.
== Analysis of the results ==
In order to analyze the result we use the branch '''shift_current''' of this Yambopy: [https://github.com/attacc/yambopy/tree/shift_current]

Latest revision as of 18:38, 27 October 2025