Shift current: Difference between revisions
No edit summary |
|||
Line 19: | Line 19: | ||
NLogCPUs=0 # [PARALLEL] Live-timing CPU`s (0 for all) | NLogCPUs=0 # [PARALLEL] Live-timing CPU`s (0 for all) | ||
PAR_def_mode= "balanced" # [PARALLEL] Default distribution mode ("balanced"/"memory"/"workload"/"KQmemory") | PAR_def_mode= "balanced" # [PARALLEL] Default distribution mode ("balanced"/"memory"/"workload"/"KQmemory") | ||
NL_CPU= "8 1" # [PARALLEL] CPUs for each role | NL_CPU= " <span style="color:red">8 1</span>" # [PARALLEL] CPUs for each role | ||
NL_ROLEs= "w k" # [PARALLEL] CPUs roles (w,k) | NL_ROLEs= " <span style="color:red">w k</span>" # [PARALLEL] CPUs roles (w,k) | ||
DIP_CPU= "" # [PARALLEL] CPUs for each role | DIP_CPU= "" # [PARALLEL] CPUs for each role | ||
DIP_ROLEs= "" # [PARALLEL] CPUs roles (k,c,v) | DIP_ROLEs= "" # [PARALLEL] CPUs roles (k,c,v) | ||
Line 29: | Line 29: | ||
OSCLL_Threads=0 # [OPENMP/X] Number of threads for Oscillators | OSCLL_Threads=0 # [OPENMP/X] Number of threads for Oscillators | ||
% NLBands | % NLBands | ||
3 | 6 | | <span style="color:red">3 | 6 | </span> # [NL] Bands range | ||
% | % | ||
NLverbosity= "high" # [NL] Verbosity level (low | high) | NLverbosity= "high" # [NL] Verbosity level (low | high) | ||
Line 37: | Line 37: | ||
NLLrcAlpha= 0.000000 # [NL] Long Range Correction | NLLrcAlpha= 0.000000 # [NL] Long Range Correction | ||
% NLEnRange | % NLEnRange | ||
<span style="color:red"> 1.000000 | 4.000000 </span> | eV # [NL] Energy range (for loop on frequencies NLEnSteps/=0 | |||
% | % | ||
NLEnSteps= 24 | NLEnSteps= <span style="color:red">24 </span> # [NL] Energy steps for the loop on frequencies | ||
% NLrotaxis | % NLrotaxis | ||
0.000000 | 0.000000 | 0.000000 | # [NL] Rotation axis (for the loop on angles NLAngSteps/=0) | 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) | NLAngSteps=0 # [NL] Angular steps (if NLAngSteps/=0 field versor will be ignored) | ||
NLDamping= 0.200000 | 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) | RADLifeTime=-1.000000 fs # [RT] Radiative life-time (if negative RADLifeTime=Phase_LifeTime) | ||
EvalCurrent # [NL] Evaluate the current | EvalCurrent # [NL] Evaluate the current | ||
Line 54: | Line 54: | ||
Field1_Int= 1000.00 kWLm2 # [RT Field1] Intensity | Field1_Int= 1000.00 kWLm2 # [RT Field1] Intensity | ||
Field1_Width= 0.000000 fs # [RT Field1] Width | Field1_Width= 0.000000 fs # [RT Field1] Width | ||
Field1_kind= "SOFTSIN" # [RT Field1] Kind(SIN|SOFTSIN| see more on src/modules/mod_fields.F) | 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_pol= "linear" # [RT Field1] Pol(linear|circular) | ||
% Field1_Dir | % 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 | Field1_Tstart= 0.010000 fs # [RT Field1] Initial Time |
Revision as of 15:19, 8 July 2024
This tutorial is for internal use only, these response function are implemented/tested in yambo/yambopy suite.
Introduction
In this tutorial we will show how to calculate Shift Current in bulk materials.
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:
Linear response using Dynamical Berry Phase and Real time approach to non-linear response (SHG).
Setup calculations
In this tutorial we will take as example the two dimensional hBN.
DFT wave-functions and inputs can be downloaded here: hBN-2D-RT.tar.gz.
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: yambo_nl -u n -V par
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= " 8 1" # [PARALLEL] CPUs for each role NL_ROLEs= " w k" # [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 3 | 6 | # [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 1.000000 | 4.000000 | eV # [NL] Energy range (for loop on frequencies NLEnSteps/=0 % NLEnSteps= 24 # [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= 0.200000 eV # [NL] Damping (or dephasing) RADLifeTime=-1.000000 fs # [RT] Radiative life-time (if negative RADLifeTime=Phase_LifeTime) EvalCurrent # [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= "SOFTSIN" # [RT Field1] Kind(SIN|SOFTSIN| see more on src/modules/mod_fields.F) Field1_pol= "linear" # [RT Field1] Pol(linear|circular) % Field1_Dir 0.000000 | 1.000000 | 0.000000 | # [RT Field1] Versor % Field1_Tstart= 0.010000 fs # [RT Field1] Initial Time