Second Harmonic GenerationΒΆ
by Dmitrii Nabok for exciting sodium
(Jupyter notebook by Tejus Rohatgi, Mara Voiculescu & Martin Kuban)
Purpose: In this tutorial you will learn how to initialize and perform calculations of the second order susceptibility tensor with exciting. As an example, we compute the second-harmonic generation (SHG) spectrum of GaAs.
0. Before StartingΒΆ
Read the following paragraphs before starting with the rest of this tutorial!
Before running any Jupyter tutorials, please refer to the 00_before_starting.md document on how to correctly set up the environment. This only needs to be done once. After which, the venv can be (re)activated from exciting's root directory:
source $EXCITINGROOT/tools/excitingjupyter/venv/excitingvenv/bin/activate
As a first step, you may create a running directory for the notebook.
<input>
<title>GaAs SHG</title>
<structure speciespath="$EXCITINGROOT/species">
<crystal>
<basevect>5.3435 5.3435 0.0000</basevect>
<basevect>5.3435 0.0000 5.3435</basevect>
<basevect>0.0000 5.3435 5.3435</basevect>
</crystal>
<species speciesfile="Ga.xml" rmt="2.0">
<atom coord="0.00 0.00 0.00"/>
</species>
<species speciesfile="As.xml" rmt="2.0">
<atom coord="0.25 0.25 0.25"/>
</species>
</structure>
<groundstate
do="fromscratch"
rgkmax="7.0"
ngridk="8 8 8"
xctype="LDA_PW"
nempty="10"
>
</groundstate>
<properties>
<momentummatrix/>
<shg
wmax="0.3"
wgrid="400"
swidth="0.004"
etol="1.d-4"
scissor="0.0423"
tevout="true"
>
<chicomp>1 2 3</chicomp>
</shg>
</properties>
</input>
%%bash
mkdir -p shg
Make sure to set $EXCITINGROOT to the correct exciting root directory in the speciespath attribute using the command
%%bash
cd shg
python3 -m excitingscripts.setup.excitingroot
cd ../
Please get first familiar with the input parameters related to the shg element. Note that all required components of the second-order susceptibility tensor $\chi^{abc}_{(2)}(-2\omega, \omega, \omega)$ can be specified by adding corresponding chicomp combinations where $a$, $b$, and $c$ stand for the Cartesian indices ($1=x$, $2=y$, $3=z$).
Run exciting in the usual way.
%%bash
cd shg
time $EXCITINGROOT/install/bin/exciting_smp &
cd ../
As an example, we present results for $\chi^{xyz}_{(2)}(-2\omega, \omega, \omega)$ (which can be found in the output file CHI_123.OUT). Note that this file contains information about the frequency dependence of the real, imaginary, and absolute value of the corresponding tensor component given in the units of $10^{-7}\ esu$. In the literature, one would often find the second-order susceptibility in the units of $nm/V$. Please notice the conversion factor: $1\ nm/V$ = $23.86 \times 10^{-7}\ esu$. For tutorial purposes, the results could be visualized by executing
%%bash
cd shg
#extracting the thetha_k and gamma_k values
awk '{print $1, $2}' CHI_123.OUT > real
awk '{print $1, $3}' CHI_123.OUT > imaginary
awk '{print $1, $4}' CHI_123.OUT > modulus
# PLOT-SHG.py CHI_123.OUT
python3 -m excitingscripts.plot.files -f real imaginary modulus -cy 2 -ll 'Real' 'Imaginary' 'Modulus' -lx 'Energy [eV]' -ly '$\chi^{(2)}(-2\omega, \omega, \omega)$ $[10^{-7}\ esu]$' -g
cd ../
The resulting plot is saved in the file PLOT.png, which should look like the following image:
LiteratureΒΆ
- J. L. P. Hughes and J. E. Sipe, Phys. Rev. B 53, 10751 (2003)
- S. Bergfeld and W. Daum, Phys. Rev. Lett. 90, 036801 (2003)
- S. Sharma and C. Ambrosch-Draxl, Physica Scripta T109, 128 (2004)