22.107 final project eigen-states in inhomogeneously...
TRANSCRIPT
22.107 Final Project
Eigen-States in Inhomogeneously Strained Crystal
Wenbin Li
Abstract
In this final project report, we study the quantum mechanical energy eigenvalues
and eigenfunctions in a slowly inhomogeneously strained, one-dimensional crystal with
cosine lattice potential. Two methods, direct matrix diagonalization and Envelope
Function Expansion (EFE) method are applied and used to cross-check each other.
While the two methods give nearly the same results, the EFE method transforms
the Schrodinger equation into an eigenvalue equation for the spatially slowly varying
envelope functions, thus reduces the size of matrix needed to be diagonalized by nearly
two orders of magnitude. Besides being capable of dealing with much large systems
than direct diagonalization, the EFE method only requires local electronic structure
information, obtainable through expedient calculation of uniformly strained crystal,
therefore holds promise to be an effective tool for studying novel electronic phenomena
arising from strained crystals.
Introduction
Recently, a new class of nanoscale “ultra-strength” materials are found to be capable of sus-
taining large elastic strain up to ten percent [1]. This huge enlargement of elastic strain space
enables tuning of materials properties by controlling the elastic strain field. A particular in-
triguing case is application of slowly varying, inhomogeneous strain in two-dimensional (2D)
materials such as graphene and MoS2. Inhomogeneous strain creates position-dependent
electronic properties such as bandgap and HOMO/LUMO levels, giving rise to novel elec-
tronic phenomena with many potential applications.
This reports sums up the results we obtained in the application of EFE method to slowly
varying inhomogeneous strained crystals. A particular simple one-dimensional (1D) crystal
1
whose lattice potential having only one Fourier component was studied as a model system.
Despite its simplicity, this system reveals many interesting physics that resulting from the
inhomogeneous strain field. Direct diagonalization of strained potential was performed,
serving as a benchmark for the EFE method. EFE method gives essentially the same results
as direct diagonalization, but requires much less computational cost.
The organization of this report is as follows: section 1 describes the periodic lattice
potential used in our study. The corresponding band structure and Γ point wavefunctions
are calculated. Section 2 presents the design of strained lattice potential and the use of direct
diagonalization to study the associated energy spectrum and bound-state wavefunctions. The
last section focuses on the EFE method. The results of its implementation are compared
with direct diagonalization in the previous section.
1 Uniform Trigonometric Potential
The unstrained periodic lattice potential used in our study has the following form:
V = −V0 cos(4π
a0x) = −V0
2
[e−i 4π
a0x
+ ei 4πa0
x]
(1)
where a0 is the lattice constant of the unstrained 1D crystal. The adoption of potential
periodicity equals to half the lattice periodicity is to open the energy gap at Γ point rather
than the Brillouin zone boundary.
V
a 2a 3a
Figure 1: Uniform lattice potential used in the study. The periodicity of cosine potentialequals to half the lattice constant.
2
Throughout this report, the following length and energy units will be adopted:
L ≡ a0, Echar ≡h2
2ma20(2)
Thus the potential can be written as V = −V0 cos(4πx). This potential opens up a bandgap
approximately equal to V0 between the second and third energy band.
The band structure and energy eigenfunction of this potential can be easily calculated.
Using Bloch’s theorem, we can write the Schrodinger equation in Fourier space (equation 4),
and use matrix diagonalization to calculate the energy eigenvalue at any k point. The
calculated band structure is shown in Fig. 2, and the lowest six Γ-point wavefunctions are
shown in Fig. 3.
ψ(x) = eikx∑G
CGeiGx, V (x) =
∑G′
UG′eiG′x (3)
CGh2(k +G)2
2m+∑G′
CG−G′UG′ = ECG (4)
0
50
100
150
200
250
300
350
π
a
−
π
a0
Figure 2: Calculated band structure of cosine potential.
When the lattice is uniformly strained, we adopted the following form of potential energy:
V (x) = −V0 cos(4π
a/a0x) = −V0 cos(
4π
1 + εx) (5)
3
where a is the new lattice constant and ε = (a − a0)/a0 is the applied strain. Due to this
stretching of lattice potential, the energy eigenvalues will be changed. We illustrate this by
plotting the HOMO/LUMO levels as a function of strain in Fig. 4.
Position
Wav
efun
ctio
n A
mpl
itude
Figure 3: Calculated Γ-point wavefunctions for the lowest six bands.
0 0.02 0.04 0.06 0.08 0.126
28
30
32
34
36
38
40
42
44
46
Strain
HO
MO
/LU
MO
Lev
el
HOMOLUMO
Figure 4: HOMO/LUMO level as a function of strain. HOMO level is defined as the highestenergy level below the bandgap in Fig. 2, and LUMO level is defined as the lowest lyingenergy level above the bandgap.
4
2 Direct diagonalization of Strained Potential
In a slowly inhomogeneously strained 1D crystal with previously designed potential, the
strained crystal potential is assumed to have the following form:
V = −V0 cos
(4π
∫ x 1
Λ(x′)dx′)
(6)
This is a zeroth-order approximation for the strained potential. Potential energy change
due to higher order gradient terms are ignored. In the equation Λ(x) is the local lattice
periodicity at x. The form of Λ(x) depends on the actual strain profile in a system. Since
the physics that could arise from slowly varying strain is robust, for initial study we use
following form of Λ(x) to make the integral inside the cosine function analytical tractable.
Λ(x) = −0.4
L2
(x− L
2
)2
+ 1.1 (7)
where L is the size of the system. The maximum strain (10 percent) will occurs at x = L/2.
An exaggerated illustration of the strained potential is shown in Fig: 5.
Position
V
PotentialStrain
Figure 5: Slowly strained cosine potential. The variation of strain is exaggerated so that thefeatures of the strained potential can be more easily discerned.
Next we use direct diagonalization to compute the energy eigenvalue and eigenfunctions
associated with the strained potential. The scheme is that we set up proper grids to dis-
cretize the wavefunction, and solve the Schrodinger equation as a big matrix diagonalization
5
problem. Periodic boundary condition will be applied.
The calculated energy spectrum compared with that of unstrained crystal is shown in
Fig. 6. Reduction of energy bandgap is observed. This can be explained in terms of posi-
tion dependent HOMO/LUMO level of the corresponding uniformly strained crystals, which
effectively increases the range of energy that can support quantum states, as illustrated in
Fig. 7. To clearly see the degeneracy associated with these energy levels, the energy spectrum
is expanded horizontally in Fig. 8, with the unstrained crystal energy spectrum serving as
reference. It can be seen that near band edge degeneracy is lifted for strained crystal. These
non-degenerate energy levels are revealed to be bound states. As time-reversal symmetry
is responsible for the degeneracy between k and −k state in periodic crystal, the lifting of
degeneracy could possibly be explained by the broken of time-reversal symmetry resulting
from the strain-induced pseudo magnetic field.
15
20
25
30
35
40
45
50
55
60
65
Ene
rgy
Figure 6: Energy spectrum of strained cosine potential obtained from direct diagonalization,plotted in the figure as red bars. For comparison, the energy spectrum of unstrained potentialis shown on the same figure as the blue bars.
6
0 20 40 60 80 100−10
0
10
20
30
40
50
Position
Ene
rgy
Γ point energy level of the first three bands
Figure 7: The HOMO/LUMO energy level of corresponding uniformly strained crystals ateach point in the strained crystal.
15
20
25
30
35
40
45
50
55
60
65
Ene
rgy
StrainedUnstrained
Figure 8: Energy spectrum and lift of degeneracy near the band energy. As can be clearlyseen, the energy levels of strained crystals near band edge is non-degenerate.
7
Some bound-state wavefunctions are shown in Fig 9.
0 20 40 60 80 100−0.08
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
Position
Wav
e fu
nctio
n am
plitu
de
0 20 40 60 80 100−0.06
−0.04
−0.02
0
0.02
0.04
0.06
Position
Wav
e fu
nctio
n am
plitu
de
0 20 40 60 80 100−0.06
−0.04
−0.02
0
0.02
0.04
0.06
Position
Wav
e fu
nctio
n am
plitu
de
0 20 40 60 80 100−0.05
−0.04
−0.03
−0.02
−0.01
0
0.01
0.02
0.03
0.04
0.05
Position
Wav
e fu
nctio
n am
plitu
de
0 20 40 60 80 100−0.06
−0.04
−0.02
0
0.02
0.04
0.06
Position
Wav
e fu
nctio
n am
plitu
de
0 20 40 60 80 100−0.05
−0.04
−0.03
−0.02
−0.01
0
0.01
0.02
0.03
0.04
0.05
Position
Wav
e fu
nctio
n am
plitu
de
Figure 9: Bound-state wavefunctions from direct diagonalization. The left panel showswavefunctions of energy levels below the bandgap, and the right panel shows those abovethe bandgap
8
3 Envelope Function Expansion
For a slowly strained 1D lattice, locally the strain can be treated as uniform. Therefore at
any position we can imagine a uniformly strained virtual lattice with local periodicity, as
shown in Fig. 10. The wavefunctions of the uniformly strained virtual lattices can be used to
expand the global wavefunction at that particular point. With a position dependent basis set
that takes into account strain variation, the resulting expansion coefficient should be slowly
varying as a function of position, the so-called “envelope function”, that can be roughly
understood by inspecting the wavefunctions in Fig. 9. Then instead of solving Schrodinger
equation for the global wavefunction, we can transform the problem into one that solve the
envelope functions, and in the process we substitute the potential energy with something
one can calculate from the virtual uniformly strained lattices. Two major benefits are, first
we no longer need to know explicit form of the potential energy function, and second slowly
varying nature of envelope function circumvent the need to solve exceedingly large matrix
eigenvalue problem. This is the basic idea of “Envelope Function Expansion” method for
slowly strained crystal. It is an extension of the traditional envelope function method [2, 3],
which has been applied to study the electronic structure of semiconductor superlattice [4]
and quantum dot [5] with much success.
Proper choice of coordinate system is essential for EFE expansion. The coordinate de-
scribing real lattice will be z and that of virtual lattice will be z. To align the virtual lattices
with the real lattice, we need to define a parameter ξ as the number of “sites” traversed up
to z in real lattice [6], ξ ≡∫ zdu
′Λ(u
′), where Λ(u
′) is the the local periodicity of the real
lattice at z = u. The origin of virtual lattice will then be determined by ξ, i.e., at position
z in real lattice, the corresponding position in virtual lattice would be ξΛ(z) in z′
coordi-
nate, as illustrated in Fig. 10. This alignment procedure ensures that information in virtual
lattices can be readily transferred to the real lattice. In addition, because the periodicity
of virtual lattices, Λ(z), is z -dependent, it is very useful to introduce scaled virtual coor-
dinate ζ = z/Λ(z). In scaled virtual coordinate, we can calculate the Bloch wavefunctions
and energy levels of virtual lattices. Specifically, in our envelope expansion we will only
need Γ point wavefunctions and energy levels, |un(ζ)〉z and En(z), where z parameterize the
wavefunctions of uniform virtual lattices and n is band index. The wavefunctions in virtual
lattices can now be compared with each other after doing this coordinate transform.
The wavefunction of strained crystal can then be expanded in terms of instantaneous
9
Figure 10: Instantaneous virtual lattice. The blue dots denote the original strained 1Dlattice. At each lattice point we imagine a uniform lattice with periodicity equals to locallattice parameter, depicted as the evenly spaced green dots. The origin of virtual lattice isdetermined by ξ ≡
∫ zdz
′Λ(z
′).
scaled Bloch wavefunctions at Γ points [2].
Ψ(z) =∑n
fn(z)|un(ξ)〉z (8)
In the above equation, |un(ξ)〉z is obtained by substituting ζ with ξ in |un(ζ)〉z. |un(ζ)〉z is
a function of ζ parameterized by z, i.e., |un(ζ)〉z = un(ζ; z). Equation 8 is then substituted
into the Schrodinger equation for inhomogeneously strained crystal,[− d2
dz2+ V (z)
]Ψ(z) = EΨ(z) (9)
Using Schrodinger equation for uniformly strained crystal in scaled virtual coordinate,[− 1
Λ2(z)
d2
dζ2+ V (z)
]|un(ξ)〉z = En(z)|un(ξ)〉z (10)
we can eliminate the crystal potential V (z). Finally we obtained the following equation:
∑n
d2 fn(z)
dz2|un(ξ)〉z +
∑n
2d fn(z)
dz
[∂
∂z|un(ξ)〉z +
∂
∂ζ|un(ξ)〉z
1
Λ(z)
]+∑n
fn(z)
{∂2
∂z2|un(ξ)〉z +
2
Λ(z)
∂2
∂z∂ζ|un(ξ)〉z −
1
Λ2(z)
dΛ(z)
dz
∂
∂ζ|un(ξ)〉z
−En(z)|un(ξ)〉z} = −∑n
fn(z)E|un(ξ)〉z
10
The above equation can be written in a more compact form:
∑n
gn(z)d2fn(z)
dz2+∑n
pn(z)d fn(z)
dz+∑n
qn(z)fn(z) = −E∑n
gn(z)fn(z) (11)
With
gn(z) = |un(ξ)〉z, pn(z) = 2
[∂
∂z|un(ξ)〉z +
∂
∂ζ|un(ξ)〉z
1
Λ(z)
](12)
qn(z) =∂2
∂z2|un(ξ)〉z +
2
Λ(z)
∂2
∂z∂ζ|un(ξ)〉z −
1
Λ2(z)
dΛ(z)
dz
∂
∂ζ|un(ξ)〉z − En(z)|un(ξ)〉z
gn(z), pn(z) and qn(z) can all be calculated without much effort, using general form of
|un(ζ)〉z|un(ζ)〉z =
∑m
Cnm(z) exp(i2πmζ) (13)
Equation 11 is then an eigenvalue equation for the envelope function, and can be solve by
expanding the envelope function in Fourier series and converted into a matrix eigenvalue
equation. Because the spatially slowly varying nature of the envelope function, the number
of Fourier components, or discretization grids needed is much smaller than direct diagonal-
ization. During the calculation of the matrix elements, system of linear equation solver was
used to do batch polynomial fitting of Cnm(z) in equation 13, and fast Fourier transform will
be used to calculate the Fourier integrals involved.
The energy spectrum calculated using EFE plotted together with that of direct diago-
nalization is shown in Fig. 11. The lowest five Γ point wavefunctions of uniformly strained
crystals are used in the EFE calculation. The number of fourier grids used was fifty. To-
gether the size of matrix needed to be diagonalized is 250. Using relatively small number
of grids, EFE calculation achieves accuracy that direct diagonalization uses 5000 grids to
achieve. The excellent agreement between the two approaches indicates that the envelope
function we used to expand eigenstate wavefunction is indeed slowly varying in space.
To push the limit of EFE method, we used twenty Fourier grids to do EFE calculation.
It was found that this is already enough to capture the bound states with good accuracy, as
shown in Fig. 12.
Finally, the envelope functions of the HOMO and LUMO levels obtained from the EFE
method are shown in Fig. 13. As expected, they are slowly varying in space.
11
15
20
25
30
35
40
45
50
55
Ene
rgy
Direct diagonalizationEnvelope function
Figure 11: Comparison of energy spectrum obtained from EFE method with that from directdiagonalization. Fifty number of Fourier grids was used to do the EFE calculation.
15
20
25
30
35
40
45
50
55
Ene
rgy
Figure 12: Bound state energy spectrum obtained from EFE method (the blue bars) usingtwenty Fourier grids.
12
0 20 40 60 80 100−2
−1
0
1
2
3
4
5
6
7
8
x
f n(x)
n=1n=2n=3n=4n=5
0 20 40 60 80 100−3
−2
−1
0
1
2
3
x
f n(x)
n=1n=2n=3n=4n=5
Figure 13: Envelope functions of HOMO and LUMO obtained from EFE calculation, shownin the top and bottom panel, respectively.
13
Summary
Direct diagonalization and EFE method are used to solve the energy spectrum and eigenfunc-
tions of slowly-varying inhomogeneous strain crystals in 1D. Excellent agreement of results
between the two approaches is achieved. The EFE method greatly reduces the computa-
tional cost, thus capable of being extended to much larger systems. In addition, in zeroth
order approximation the EFE method does not require the explicit form of crystal potential,
therefore can be combined with local electronic structure calculation to study the ground
state properties of inhomogeneously strained crystals. Future work will extend the EFE
method to higher dimensions.
References
[1] T. Zhu and J. Li, “Ultra-strength materials,” Progress in Materials Science, vol. 55,
pp. 710–757, 2010.
[2] J. M. Luttinger and W. Kohn, “Motion of electrons and holes in perturbed periodic
fields,” Phys. Rev., vol. 97, pp. 869–883, Feb 1955.
[3] M. G. Burt, “The justification for applying the effective-mass approximation to mi-
crostructures,” J. Phys.: Condens. Matter, vol. 4, pp. 6651–6690, 1992.
[4] G. Bastard, “Superlattice band structure in the envelope-function approximation,” Phys.
Rev. B, vol. 24, pp. 5693–5697, Nov 1981.
[5] O. Stier, M. Grundmann, and D. Bimberg, “Electronic and optical properties of strained
quantum dots modeled by 8-band k·p theory,” Phys. Rev. B, vol. 59, pp. 5688–5701, Feb
1999.
[6] S. G. Johnson, P. Bienstman, M. A. Skorobogatiy, M. Ibanescu, E. Lidorikis, and J. D.
Joannopoulos, “Adiabatic theorem and continuous coupled-mode theory for efficient ta-
per transitions in photonic crystals,” Phys. Rev. E, vol. 66, p. 066608, Dec 2002.
14
Source Code Listing
Selective codes written for the project are listed below.
1. Band structure calculation of cosine potential
%%%%%%% Band−s t r u c t u r e in c o s i n e p o t e n t i a l %%%%%%%
%%% V = −V0∗ cos (4 p i /a∗x ) , energy un i t hbar ˆ2/2maˆ2 %
%%% When a=2 Angstrom the energy un i t i s about %%%
%%%%%%%%%%%%%%% one e l e c t r o n v o l t %%%%%%%%%%%%%%%%
V0 = 10 ; lambda = 1 . 0 ;
% p o t e n t i a l f i xed , s t r a i n lambda can be tuned ;
nbands = 20 ; size = 2∗nbands+1;
% s i z e = 2∗nbands+1 number o f bands f o r expansion o f wavefunct ion
% prev ious c l a c u l a t i o n showed that t h i s can ach ieve e igen energy
% convergence dE < 1e−5;
e = ones (size , 1 ) ; g = (−nbands : 1 : nbands ) ’ ;
M = 20 ; % k po in t s g r i d s in the f i r s t b r i l l o u i n zone
neig = 6 ; % s t o r e in fo rmat ion o f the lowest ne ig bands ;
E = zeros (neig , 2∗M+1); % energy e i g enva lue matrix
C = zeros (size , neig , 2∗M+1); % wavefunct ion c o e f f i c i e n t matrix
for m=−M : M
k = m/M ;
diagk = (2∗g+k ) . ˆ 2∗ ( pi/lambda ) . ˆ 2 ;
Hk = full ( spdiags ([−V0/2∗e diagk −V0/2∗e ] , [−2 0 2 ] , size , size ) ) ;
[ Ck Ek ] = eig (Hk ) ;
eigen_temp = diag (Ek ) ;
E ( : , ( m+M+1)) = eigen_temp ( 1 : neig ) ;
C ( : , : , (m+M+1)) = Ck ( : , 1 : neig ) ;
end
figure (1 )
kdel = pi/M ; k=−pi : kdel : pi ;
set ( plot (k , E , ’r-’ ) , ’LineWidth’ , 2 ) ; border = 1 . 0 ;
ymax = max ( max (E ) ) ; xlim ([−pi pi ] ) ; ylim ( [ 0 ymax∗border ] ) ;
line ( [ 0 0 ] , [ 0 ymax ] , ’Color’ , ’k’ ) ;
% arrow ( [ 0 0 ] , [ 0 ymax∗border ] ) ;
15
set (gca , ’xtick’ , [ ] ) ;
annotation (’textbox’ , [ 0 . 8 9 0 .05 0 .05 0 . 0 5 ] , . . .
’Interpreter’ ,’latex’ ,’String’ ,{’$$\frac{\pi}{a}$$’ } , . . .
’FontSize’ , 16 , ’FitBoxToText’ ,’off’ ,’EdgeColor’ ,’none’ ) ;
annotation (’textbox’ , [ 0 . 1 1 0 .05 0 .05 0 . 0 5 ] , . . .
’Interpreter’ ,’latex’ ,’String’ ,{’$$-\frac{\pi}{a}$$’ } , . . .
’FontSize’ , 16 , ’FitBoxToText’ ,’off’ ,’EdgeColor’ ,’none’ ) ;
annotation (’textbox’ , [ 0 . 5 1 0 .05 0 .05 0 . 0 5 ] , . . .
’Interpreter’ ,’latex’ ,’String’ , {’$$0$$’ } , . . .
’FontSize’ , 16 , ’FitBoxToText’ ,’off’ ,’EdgeColor’ ,’none’ ) ;
% Plot Gamma po in t s wave func t i on ;
C_gamma = C ( : , : , M+1);
xmesh=1000; xmax=10; xmin=0; xdel=(xmax−xmin )/ xmesh ;
x=(xmin+xdel /2 : xdel : xmax ) ’ ;
wavefun = zeros ( xmesh , neig ) ;
% f o r n gamma=1: ne ig ;
% f o r q=0:nbands
% wavefun ( : , n gamma)=wavefun ( : , n gamma ) + . . .
% C gamma( q+nbands+1, n gamma)∗ cos (2∗ pi ∗q∗x ) ;
% end
% end
for n_gamma=1:neig ;
for q=1:size
wavefun ( : , n_gamma)=wavefun ( : , n_gamma ) + . . .
C_gamma (q , n_gamma )∗ exp (i∗2∗pi ∗(q−nbands−1)∗x ) ;
end
end
% Normalize wavefunct ion
for n = 1 : neig
wavefun ( : , n ) = wavefun ( : , n )/ sqrt ( trapz (x , wavefun ( : , n ) . ˆ 2 ) ) ;
end
16
figure (2 )
wavefunplot = zeros ( xmesh , neig ) ;
for n = 1 : neig
wavefunplot ( : , n ) = wavefun ( : , n ) + 1 .0∗ n ;
end
set ( plot (x , abs ( wavefunplot ) ) , ’LineWidth’ , 1 ) ;
hold on ;
V = −cos (4∗pi∗x ) ;
plot (x , V , ’k-’ ) ;
line ( [ 0 xmax ] , [ 0 0 ] , ’LineStyle’ , ’:’ , ’Color’ , ’k’ ) ;
set (gca , ’xtick’ , [ ] , ’ytick’ , [ ] ) ;
xlabel (’Position’ , ’FontSize’ , 1 2 ) ;
ylabel (’Wavefunction Amplitude’ , ’FontSize’ , 1 2 ) ;
17
2. Direct diagonalization of strained potential
%%%%%% Diagona l i z a t i on o f St ra ined P ot en t i a l %%%%%
V0=10; % We f i x p o t e n t i a l maximum of the c o s i n e f u n c t i o n s
% Lambda=−0.4/L/L∗(x−L/2) . ˆ2+1 .1 ;
phase_factor=10/sqrt (11)∗ atanh (1/ sqrt ( 1 1 ) ) ;
% This i s used to determine the l ength o f system given
% the number o f atoms . N below i s the number o f atoms
N=100; L=N/phase_factor ;
% Spac i a l d i s c r e t i z a t i o n
xmesh=5000; xmin=0; xmax=L ; xdel=(xmax−xmin )/ xmesh ;
x=(xmin : xdel : ( xmax−xdel ) ) ’ ;
strain=−0.4/L/L∗(x−L /2 ) . ˆ2+0 .1 ;
alpha=1/sqrt ( 1 1 ) ; % Intermed iate parameter
% Calcu la te the p o t e n t i a l at any p o s i t i o n
Phase=5∗alpha∗L∗( atanh (2∗ alpha ∗(x/L−0.5)) + atanh ( alpha ) ) ;
v=−V0∗cos (4∗pi∗Phase ) ;
% Build Hamiltonian o f the system
e=ones ( xmesh , 1 ) ;
Laplace=full ( spdiags ( [ e −2∗e e ] , [−1 0 1 ] , xmesh , xmesh ) ) ;
Laplace ( xmesh , 1 )=1 ; Laplace (1 , xmesh )=1; Laplace=Laplace/xdel/xdel ;
V=diag (v ) ; H=−Laplace+V ;
%%% Diagona l i z a t i on o f Hamiltonian Matrix %%%
[ C E ]=eig (H ) ;
eigenval = diag (E ) ;
%%%%%%%%%% plo t energy spectrum %%%%%%%%%%%%%%%
for i=N : N∗3line ( [ 1 2 ] , [ eigenval (i ) , eigenval (i ) ] , ’Color’ , ’r’ ) ;
end
xlim ( [ 0 5 ] ) ;
set (gca , ’xtick’ , [ ] ) ;
% p lo t HOMO wavefunct ion
18
figure
plot (x , C ( : , 2 ∗ N ) ) ;
xlim ( [ 0 L ] ) ;
xlabel (’Position’ ) ;
xlabel (’Position’ , ’FontSize’ , 1 2 ) ;
ylabel (’Wave function amplitude’ , ’FontSize’ , 1 2 ) ;
% p lo t LUMO wavefunct ion
figure
plot (x , C ( : , 2 ∗ N+1)) ;
xlim ( [ 0 L ] ) ;
xlabel (’Position’ ) ;
xlabel (’Position’ , ’FontSize’ , 1 2 ) ;
ylabel (’Wave function amplitude’ , ’FontSize’ , 1 2 ) ;
% V i s u a l i z e St ra ined P o t e n t i a l
figure ;
title (’visualize strained potential’ ) ;
plot (x , v , ’r-’ , ’LineWidth’ , 1 ) ;
hold on ;
plot (x , strain ∗10 , ’b:’ , ’Linewidth’ , 1 ) ;
set ( legend (’Potential’ , ’Strain’ ) , ’FontSize’ , 1 0 ) ;
xlim ( [ 0 L ] ) ; ylim ([−V0−5 V0+5] ) ;
line ( [ 0 L ] , [ 0 0 ] , ’LineStyle’ , ’-’ , ’Color’ , ’k’ ) ;
xlabel (’Position’ , ’FontSize’ , 1 2 ) ;
ylabel (’V’ , ’FontSize’ , 1 2 ) ;
set (gca , ’xtick’ , [ ] , ’ytick’ , [ ] ) ;
grid on ;
% Check g r id d e t a i l and p e r i o d i c boundary cond i t i on
figure ;
title (’Check perodic boundary condition’ ) ;
Ndata = 20 ;
u = L : xdel : ( L+Ndata∗xdel ) ;
plot (x ( xmesh−Ndata+1:xmesh ) , v ( xmesh−Ndata+1:xmesh ) , ’ro-’ , . . .
u , v ( 1 : Ndata+1) , ’bo-’ ) ;
figure ;
plot (x , Phase , ’g-’ , x , x , ’r:’ ) ;
axis equal ;
line ( [ 0 L ] , [ N N ] , ’LineStyle’ , ’:’ ) ;
19
3. Envelope function method for strained potential
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Slowly Varying Envelope Method f o r St ra ined Crysta l
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
V0=10; % Lambda=−0.4/L/L∗(x−L/2) . ˆ2+1 .1 ;
phase_factor=10/sqrt (11)∗ atanh (1/ sqrt ( 1 1 ) ) ;
N=100; L=N/phase_factor ; %number o f atoms and system s i z e
% zmesh i s the mesh g r id along the s t r a i n e d c r y s t a l
% f o r c a l c u l a t i n g d e r i v a t i v e s
Nmesh = 100 ; zmin = 0 ; zmax = L ; zdel = (zmax−zmin )/ Nmesh ;
% add two more meshes to c a l c u l a t e boundary d e r i v a t i v e s
zmesh = Nmesh + 2 ;
z = zmin−zdel /2 : zdel : zmax+zdel /2 ;
lambda = −0.4/L/L∗(z−L /2 ) . ˆ2 + 1 . 1 ;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This s e c t i o n c a l c u l a t e s the Gammas po int
% e i g e n v a l u e s and wavefunct ions
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
neig = 5 ; % the lowest f i v e bands w i l l be s to r ed ;
nbands = 20 ; nsize = 2∗nbands+1;
rbands = 10 ; rsize = 2∗rbands+1;
nbandmin = nbands+1−rbands ;
nbandmax = nbands+1+rbands ;
e = ones ( nsize , 1 ) ; g = (−nbands : 1 : nbands ) ’ ;
E = zeros (neig , zmesh ) ;
C = zeros ( rsize , neig , zmesh ) ;
for n = 1 : zmesh
diagk = (2∗g ) . ˆ 2∗ ( pi/lambda (n ) ) . ˆ 2 ;
Hk = full ( spdiags ([−V0/2∗e diagk −V0/2∗e ] , [−2 0 2 ] , nsize , nsize ) ) ;
[ Ck Ek ] = eig (Hk ) ;
eigen_temp = diag (Ek ) ;
E ( : , n ) = eigen_temp ( 1 : neig ) ;
C ( : , : , n ) = Ck ( nbandmin : nbandmax , 1 : neig ) ;
20
end
% c l e a r in te rmed ia t e v a r i a b l e s
clear e g Ck Ek Hk diagk eigen_temp ;
C = permute (C , [ 1 3 2 ] ) ;
% C now has the form C( r s i z e , zmesh , ne ig )
% Choose c o n s i s t e n t phase ( in t h i s case s i gn ) f o r the wavefunct ions
% Also e lements with very smal l va lue are no i s e . Should not use
% them to c a l c u l a t e d e r i v a t i v e s .
for n = 1 : neig
[ maxelment index ] = max ( abs (C ( : , 1 , n ) ) ) ;
vsign = sign (C ( index , : , n ) ) ;
C ( : , : , n ) = C ( : , : , n )∗ diag ( vsign ) ;
threshold = 1000∗eps ;
vzero = ( abs (C ( : , 1 , n))>threshold ) ;
C ( : , : , n ) = diag ( vzero )∗C ( : , : , n ) ;
% Make wavefunct ion pure ly r e a l
if ( ( sign (C ( rbands , 1 , n))+sign (C ( rbands+2 ,1 ,n )))==0)&&...
( ( sign (C ( rbands−1 ,1 ,n))+sign (C ( rbands+3 ,1 ,n)))==0)
C ( : , : , n)=C ( : , : , n )∗1i ;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calcu la te Der iva t iv e o f the wavefunct ions c o e f f i c i e n t s
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% F i r s t order d e r i v a t i v e
e = ones ( zmesh , 1 ) ;
d = spdiags ([−e e ] , [−1 1 ] , zmesh , zmesh ) ;
d = d/2/zdel ;
I = speye ( rsize , rsize ) ;
D = kron (I , d ) ;
% D: f i r s t d e r i v a t i v e matrix , dimension [ r s i z e ∗zmesh r s i z e ∗zmesh ]
% Second order d e r i v a t i v e
dd = spdiags ( [ e −2∗e e ] , [−1 0 1 ] , zmesh , zmesh ) ;
dd = dd/zdel/zdel ;
21
DD = kron (I , dd ) ;
% DD: second d e r i v a t i v e matrix , dimension [ r s i z e ∗zmesh r s i z e ∗zmesh ]
% permute on C, C has dimension [ zmesh r s i z e ne ig ]
C = permute (C , [ 2 1 3 ] ) ;
% shr ink dimension o f C0 , make i t a [ r s i z e ∗zmesh ne ig ] matrix
C0 = reshape (C , [ rsize∗zmesh neig ] ) ;
% Get f i r s t and second d e r i v a t i v e s
% The rows are d e r i v a t i v e s f o r a p a r t i c u l a r band
% D i f f e r e n t columns s t o r e data o f d i f f e r e n t band
DC = D∗C0 ;
DDC = DD∗C0 ;
% Reshape DC and DDC to the form [ zmesh r s i z e ne ig ]
DC = reshape (DC , [ zmesh rsize neig ] ) ;
DDC = reshape (DDC , [ zmesh rsize neig ] ) ;
% Get r i d o f the f i r s t and l a s t element , which we add at the
% beginning only f o r c a l c u l a t i n g second and second−to−l a s t g r id
C = C ( 2 : ( zmesh − 1 ) , : , : ) ;
DC = DC ( 2 : ( zmesh − 1 ) , : , : ) ;
DDC = DDC ( 2 : ( zmesh − 1 ) , : , : ) ;
z = z ( 2 : ( zmesh−1)) ;
E = (E ( : , 2 : ( zmesh −1) ) ) ’ ;
figure ;
set ( plot (z , E ( : , 1 : 3 ) ) , ’LineWidth’ , 2 ) ;
xlim ( [ 0 L ] ) ; ylim ( [ min (E ( : , 1 ) ) −10 , max (E ( : , 3 ) ) + 1 0 ] ) ;
xlabel (’Position’ , ’FontSize’ , 1 2 ) ;
ylabel (’Energy’ , ’FontSize’ , 1 2 ) ;
set ( title (’\Gamma point energy levels of the first three bands’ ) , . . .
’FontSize’ , 1 2 ) ;
set (gca , ’FontSize’ , 1 2 ) ;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% C, DC, DDC, E are a l l s l ow ly varying , but they w i l l l a t e r be
% m u l t i p l i e d with a f a s t vary ing c o s i n e po t en t i a l , we w i l l do
% polynomial f i t t i n g to avoid unnecessary l a r g e number o f g r i d s
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22
% C, DC, DDC dimension [ Nmesh , r s i z e , ne ig ]
% E dimension [ Nmesh , ne ig ]
pmax = 2 ; % order o f polynomial f i t t i n g
% beaware i f I l a t e r assume pmax d e f a u l t equal to 2
Fit_C = zeros ( pmax+1, rsize , neig ) ;
Fit_DC = zeros ( pmax+1, rsize , neig ) ;
Fit_DDC = zeros ( pmax+1, rsize , neig ) ;
Fit_E = zeros ( pmax+1, neig ) ;
% c r e a t e Vandermonde matrix
Vander = ones ( Nmesh , pmax+1);
for n = 1 : ( pmax+1)
Vander ( : , n ) = z . ˆ ( pmax+1−n ) ;
end
% Calcu la te polynomial f i t s
% Fit C , Fit DC , Fit DDC have dimension [ pmax+1, r s i z e , ne ig ]
% Fit E has dimension [ pmax+1, ne ig ]
for n = 1 : neig
Fit_C ( : , : , n ) = Vander\C ( : , : , n ) ;
Fit_DC ( : , : , n ) = Vander\DC ( : , : , n ) ;
Fit_DDC ( : , : , n ) = Vander\DDC ( : , : , n ) ;
Fit_E ( : , n ) = Vander\E ( : , n ) ;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Al l the d e r i v a t i v e s have been worked out
% Next we are going to c a l c u l a t e the enve lope func t i on pre−f u n c t i o n s
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ZMESH = 5000 ;
% This mesh i s s t i l l l a r g e because g , p , q , h
% s t i l l i nvo lv e f a s t vary ing u n (\ eta )
% though i t w i l l l a t e r be i n t e g r a t e d
ZMIN = 0 ; ZMAX = L ; ZDEL = (ZMAX−ZMIN )/ ZMESH ;
Z = ( ZMIN : ZDEL : ( ZMAX−ZDEL ) ) ’ ;
G = zeros ( ZMESH , neig ) ;
23
P = zeros ( ZMESH , neig ) ;
Q = zeros ( ZMESH , neig ) ;
% The C o e f f i c i e n t Matr ices
CZ = zeros ( ZMESH , rsize , neig ) ;
DCZ = zeros ( ZMESH , rsize , neig ) ;
DDCZ = zeros ( ZMESH , rsize , neig ) ;
EZ = zeros ( ZMESH , neig ) ;
% Create another Vandermonde matr ice
ZVander = ones ( ZMESH , pmax+1);
for n = 1 : ( pmax+1)
ZVander ( : , n ) = Z . ˆ ( pmax+1−n ) ;
end
for n = 1 : neig
CZ ( : , : , n ) = ZVander∗Fit_C ( : , : , n ) ;
DCZ ( : , : , n ) = ZVander∗Fit_DC ( : , : , n ) ;
DDCZ ( : , : , n ) = ZVander∗Fit_DDC ( : , : , n ) ;
EZ ( : , n ) = ZVander∗Fit_E ( : , n ) ;
end
eta = 5∗L/sqrt (11 )∗ ( atanh (2/ sqrt (11 )∗ ( Z/L−0.5))+atanh ( sqrt ( 1 / 1 1 ) ) ) ;
Lambda = −0.4/L/L∗(Z−L /2 ) . ˆ2+1 .1 ;
DLambda = −0.8/L/L∗(Z−L / 2 ) ;
i = sqrt (−1);
for n = 1 : neig
for m = 1 : rsize
% r s i z e = 2∗ rbands+1
k = m−rbands−1;
G ( : , n ) = G ( : , n ) + CZ ( : , m , n ) . ∗ exp (i∗2∗pi∗k∗eta ) ;
P ( : , n ) = P ( : , n ) + 2∗( DCZ ( : , m , n)+ CZ ( : , m , n ) . / Lambda ∗(i∗2∗pi∗k ) ) . . .
.∗ exp (i∗2∗pi∗k∗eta ) ;
Q ( : , n ) = Q ( : , n ) + ( DDCZ ( : , m , n ) . . .
+ 2 ./ Lambda .∗ DCZ ( : , m , n )∗ ( i∗2∗pi∗k ) . . .
− 1 . / ( Lambda . ˆ 2 ) . ∗ DLambda .∗ CZ ( : , m , n )∗ ( i∗2∗pi∗k ) . . .
24
− EZ ( : , n ) . ∗ CZ ( : , m , n ) ) . ∗ exp (i∗2∗pi∗k∗eta ) ;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Next w i l l s o l v e the e i g enva lue equat ion f o r the enve lope func t i on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Fast f o u r i e r trans form
FFT_G = zeros ( ZMESH , neig , neig ) ;
FFT_P = zeros ( ZMESH , neig , neig ) ;
FFT_Q = zeros ( ZMESH , neig , neig ) ;
for n = 1 : neig
FFT_G ( : , : , n ) = fft ( diag ( conj (G ( : , n ) ) )∗ G ) ;
FFT_P ( : , : , n ) = fft ( diag ( conj (G ( : , n ) ) )∗ P ) ;
FFT_Q ( : , : , n ) = fft ( diag ( conj (G ( : , n ) ) )∗ Q ) ;
end
% envelope func t i on g r id
fmesh = 50 ;
% Eigenvalue problem Ax = EBx matr i ce s
A = zeros ( fmesh+1, fmesh+1, neig∗neig ) ;
B = zeros ( fmesh+1, fmesh+1, neig∗neig ) ;
kmin = −fmesh /2 ;
kmax = fmesh /2 ;
kshift = fmesh/2+1;
ntotal = neig∗neig ;
tic ;
for v = 1 : ntotal
nrow = ceil (v/neig ) ;
ncol = v−neig ∗(nrow−1);
for m = kmin : 1 : kmax
for n = kmin : 1 : kmax
A (m+kshift , n+kshift , v ) = −(2∗pi/L∗n ) ˆ 2 ∗ . . .
FFT_G ( mod (m−n , ZMESH )+1 , ncol , nrow )∗ ZDEL . . .
25
+ i∗2∗pi/L∗n∗FFT_P ( mod (m−n , ZMESH )+1 , ncol , nrow )∗ ZDEL . . .
+FFT_Q ( mod (m−n , ZMESH )+1 , ncol , nrow )∗ ZDEL ;
B (m+kshift , n+kshift , v ) = . . .
−FFT_G ( mod (m−n , ZMESH )+1 , ncol , nrow )∗ ZDEL ;
end
end
end
toc ;
AA = zeros ( ( fmesh+1)∗neig , ( fmesh+1)∗neig ) ;
BB = zeros ( ( fmesh+1)∗neig , ( fmesh+1)∗neig ) ;
for v = 1 : ntotal
nrow = ceil (v/neig ) ;
ncol = v−neig ∗(nrow−1);
AA ( ( fmesh+1)∗(nrow−1)+1:(fmesh+1)∗nrow , . . .
( fmesh+1)∗(ncol−1)+1:(fmesh+1)∗ncol ) = A ( : , : , v ) ;
BB ( ( fmesh+1)∗(nrow−1)+1:(fmesh+1)∗nrow , . . .
( fmesh+1)∗(ncol−1)+1:(fmesh+1)∗ncol ) = B ( : , : , v ) ;
end
tic
% Genera l i zed Eigenvalue Problem
[ EigVector EigValue ] = eig (AA , BB ) ;
toc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Eigenvalue and Envelope Function V i s u a l z i a t i o n
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% s o r t ( r e a l ( d iag ( EigValue ) ) )
E_diag = sort ( real ( diag ( EigValue ) ) ) ;
figure ;
for n = 1.5∗ fmesh : 2 . 5 ∗ fmeshline ( [ 0 . 25+(n−1) , 0.75+(n−1) ] , [ E_diag (n ) , E_diag (n ) ] , ’Color’ , ’r’ , . . .
’LineWidth’ , 1 . 0 ) ;
end
set ( legend (’Strained’ ) , ’Location’ , ’NorthWest’ , . . .
’FontSize’ , 1 2 ) ;
legend (’boxoff’ ) ;
26
ylabel (’Energy’ , ’FontSize’ , 1 2 ) ;
xlim ( [ 1 . 5 ∗ fmesh 2 .5∗ fmesh ] ) ;
set (gca , ’xtick’ , [ ] ) ;
box on ;
% Plot enve lope f u n c t i o n s
% the HOMO and LUMO are No . nhomo and No . lumo r e s p e c t i v e l y
nhomo = ( fmesh+1)∗(neig−2)+1;
nlumo = nhomo−1;
xenv = ( 0 : 0 . 1 : L ) ’ ;
wave_homo = zeros ( size (xenv , 1 ) , neig ) ;
wave_lumo = zeros ( size (xenv , 1 ) , neig ) ;
for n = 1 : neig
for v = −fmesh /2 : fmesh/2
wave_homo ( : , n ) = wave_homo ( : , n ) + . . .
EigVector ( ( n−1)∗fmesh+v+fmesh/2+1, nhomo )∗ exp (i∗2∗pi/L∗v∗xenv ) ;
wave_lumo ( : , n ) = wave_lumo ( : , n ) + . . .
EigVector ( ( n−1)∗fmesh+v+fmesh/2+1, nlumo )∗ exp (i∗2∗pi/L∗v∗xenv ) ;
end
end
figure ;
plot (xenv , −1.0∗wave_homo ) ;
set ( legend (’n=1’ , ’n=2’ , ’n=3’ , ’n=4’ , ’n=5’ ) , . . .
’FontSize’ , 12 , ’Location’ , ’North’ ) ;
legend (’boxoff’ ) ;
xlabel (’x’ ,’FontSize’ , 1 2 ) ;
ylabel (’f_n(x)’ , ’FontSize’ , 1 2 ) ;
xlim ( [ 0 L ] ) ;
box on ;
figure ;
plot (xenv , wave_lumo ) ;
set ( legend (’n=1’ , ’n=2’ , ’n=3’ , ’n=4’ , ’n=5’ ) , . . .
’FontSize’ , 1 2 ) ;
legend (’boxoff’ ) ;
xlabel (’x’ ,’FontSize’ , 1 2 ) ;
ylabel (’f_n(x)’ , ’FontSize’ , 1 2 ) ;
xlim ( [ 0 L ] ) ;
box on ;
27
Eigenstates in Slowly Inhomogeneously Strained Crystal The 1-D Case
Wenbin Li
22.107 Final Project
Acknowledgement: Professor Ju Li and Dr. Xiaofeng Qian
Single-Particle Energy Eigenstates in Periodic Potential
Discrete Translational Symmetry
Density Functional Theory (DFT) calculation in a small unit cell
Bloch Theorem
Ultra-Strength Materials and Inhomogeneously Strained Crystals
2D materials such as Graphene can sustain huge elastic deformation ( > 10 %)
Call for New tools!
AFM tip pushing suspended graphene Slowly varying inhomogeneous strain
Open up a new strain space for tuning materials properties
Inhomogeneous strain breaks symmetry. System too big for DFT.
Zhu and Li, “Ultra-Strength Materials”
From Local to Global Electronic Structure
DFT can deal with them
Global Wavefunction can be locally expanded in terms of local wavefunctions. The expansion coefficient should be slowly varying with position
Locality of Crystal Potential
Model Potential to Test the Idea
Design of Strained Cosine Potential
The Strategy
Brute-force Diagonalization
Compare and Cross-Check
Envelope Function Method
Periodic Cosine Potential
HOMO and LUMO
Wavefunction and Strain-Dependent HOMO/LUMO Level
5000 x 5000 matrix diagonalization using Matlab
Strained Cosine Potential
• Reduction of bandgap
• Lift of degeneracy due to time-reversal symmetry
Can we interpret it in terms of strain induced pseudo-magnetic field that breaks time-reversal symmetry?
Energy Spectrum By Direct Diagonalization
Degeneracy always happens for a good reason – Charlie Kane
Spatial separation of HOMO-LUMO
Any interesting applications?
LUMO HOMO
Harmonic oscillator
More Bound States Wavefunctions
Slowly Varying Envelope Function
Envelope Function Expansion
V(z) and be eliminated!
Strained version of KP expansion
Envelope Function Expansion
Eigenvalue Equation for Envelope Functions
Envelope Function Expansion Results
Number of mesh: Envelope Function = 50; Direct Diagonalization: 5000
Even 20 mesh grids can capture bound states!
Envelope Function Expansion Results
The Envelope Functions
LUMO HOMO
They are indeed slowly varying!