Hello,
I am interested in calculating the surface band structure of a 22 layer thin film. Is there any particular setting within the program that lets me do that (as supposed to the bulk band structure)? I was looking over the Cr-mono example and didn't see anything indicating that it's a film other than the ngridk setting.
Thank you.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
All you need to do is have a vacuum layer (usually in the z-direction) sufficiently large for convergence of whatever you're trying to determine, and a k-point grid such that you have only one non-shifted k-point in the z-direction. For example:
ngridk
4 4 1
vkloff
0.25 0.5 0.0
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you for the reply. However, I have some follow up questions;
1)By adding the vacuum layer, do you just mean changing the "vacuum" setting value to a number that's appropriate for convergence purposes?
2)The primitive vectors of my system are not parallel to the c-axis, can the program handle that? That is, is it still possible to express the ngridk values in such a way to reflect that I am only computing over a couple of layers in the c-direction (thin film)?
3)Are the basis functions used in the calculation two dimensional or three dimensional?
I have tried running the input file below and it only gave me a band structure identical to the bulk structure:
tasks
0
20
spinorb
.true.
nempty
10
avec
-0.5 -0.288675134595 0.86742992441
0.5 -0.288675134595 0.86742992441
0.0 0.57735026919 0.86742992441
scale1
8.5665
scale2
8.5665
scale3
8.5665
sppath
'../../species/'
! note that the magnetic fields are in Cartesian coordinates
atoms
1 : nspecies
'Bi.in' : spfname
2 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfieldc
0.4682 0.4682 0.4682 0.0 0.0 0.0
The 'vacuum' variable only works in 'molecule' mode.
In this case the vacuum refers to the empty space in the c-direction. This should be large enough to make the coupling between layer negligible. Your exciting.in file doesn't appear to have this vacuum layer.
Regards,
Kay.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I am interested in calculating the surface band structure of a 22 layer thin film. Is there any particular setting within the program that lets me do that (as supposed to the bulk band structure)? I was looking over the Cr-mono example and didn't see anything indicating that it's a film other than the ngridk setting.
Thank you.
All you need to do is have a vacuum layer (usually in the z-direction) sufficiently large for convergence of whatever you're trying to determine, and a k-point grid such that you have only one non-shifted k-point in the z-direction. For example:
ngridk
4 4 1
vkloff
0.25 0.5 0.0
Thank you for the reply. However, I have some follow up questions;
1)By adding the vacuum layer, do you just mean changing the "vacuum" setting value to a number that's appropriate for convergence purposes?
2)The primitive vectors of my system are not parallel to the c-axis, can the program handle that? That is, is it still possible to express the ngridk values in such a way to reflect that I am only computing over a couple of layers in the c-direction (thin film)?
3)Are the basis functions used in the calculation two dimensional or three dimensional?
I have tried running the input file below and it only gave me a band structure identical to the bulk structure:
tasks
0
20
spinorb
.true.
nempty
10
avec
-0.5 -0.288675134595 0.86742992441
0.5 -0.288675134595 0.86742992441
0.0 0.57735026919 0.86742992441
scale1
8.5665
scale2
8.5665
scale3
8.5665
sppath
'../../species/'
! note that the magnetic fields are in Cartesian coordinates
atoms
1 : nspecies
'Bi.in' : spfname
2 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfieldc
0.4682 0.4682 0.4682 0.0 0.0 0.0
ngridk
2 2 1
vkloff
0.5 0.5 0.0
plot1d
3 200 : nvp1d, npp1d
0.0 0.5 0.5 : vlvp1d
0.0 0.0 0.0
0.0 0.5 0.0
Thank you.
Apologies for the delay in replying.
The 'vacuum' variable only works in 'molecule' mode.
In this case the vacuum refers to the empty space in the c-direction. This should be large enough to make the coupling between layer negligible. Your exciting.in file doesn't appear to have this vacuum layer.
Regards,
Kay.