Page 1 of 1
finite electric field calculation
Posted: Mon Feb 28, 2011 7:31 pm
by amorpho
Hi,
I am trying to simulate a finite electric field in a silicon crystal, but my input script does not work correctly. Can anybody help me please?
Input file:
##############
berryopt 4
rfdir 1 1 1
efield 0.0001 0.0001 0.0001
optcell 0
ionmov 2
ntime 50
prtden 1
iscf 5
nstep 100
nband 860
nbdbuf 0
#nsym 1 #No operation de simetria
chkprim 0 # No checa Primitiva
#215 atomos de silicio y 1 de boro
tolmxf 5.0d-5
toldff 5.0d-6
acell 16.2921 16.2921 16.2921 angstrom
angdeg 90 90 90
ecut 10.0
ecutsm 0.5
ntypat 2
znucl 14 5
natom 216
typat 1 1 1 1 1 1 1 2 208*1
kptopt 0
nkpt 1
xangst 0.000000000 0.000000000 5.430700000
...... ......
##########
. err file
Exited with exit code 1
srun: Terminating job
########
log file
no ERROR but the job does not run
Thank you for your help
Re: finite electric field calculation
Posted: Tue Mar 01, 2011 11:57 am
by jzwanzig
One problem for sure is that you have only a single k point: the berryopt -1 and +4 options work by computing integrals of phases along paths in k space, therefore they need an array of k points to work (not just a single point). Secondly, your system is massively huge by DFT standards, are you sure your computer is big enough to handle it?
Re: finite electric field calculation
Posted: Thu Mar 03, 2011 7:39 pm
by amorpho
Thank you for your message, but I still with problems with my script. I tryed differents scripts and I post here the one which run more time, but at least this script do not work well. The memory is not a problem for me.
Input
berryopt 4
rfdir 1 1 1
efield 0.0001 0.0001 0.0001
optcell 0
ionmov 2
ntime 50
prtden 1
iscf 5
nstep 100
fband 0.125
nbdbuf 0
#nsym 1 #No operation de simetria
chkprim 0 # No checa Primitiva
#215 atomos de silicio y 1 de boro
#tolmxf 5.0d-5
#toldff 5.0d-6
acell 16.2921 16.2921 16.2921 angstrom
angdeg 90 90 90
ecut 10.0
ecutsm 0.5
ntypat 2
znucl 14 5
natom 216
typat 1 1 1 1 1 1 1 2 208*1
ngkpt 6 6 6
nshiftk 4
shiftk 0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
toldfe 1.0d-12
xangst 0.000000000 0.000000000 5.430700000
ERROR message at log
initberry: ERROR -
In a finite electric field calculation, nband must be equal
to the number of valence bands.
Comment
In this script I did not put the number of valence bands (nband) because, I read at the abinit webpage that if I do not known nband I can use fband. However,
in others scripts that I have generated I put directly the nband, and nkpt values calculated by abinit and the ERROR message at the log file is the following:
nkpt*nsppol is not a multiple of nproc_kpt. Theoretically my system have 432 valence bands.
Thank you very much for your comments
Re: finite electric field calculation
Posted: Fri Mar 04, 2011 1:45 am
by jzwanzig
The berryopt -1 and 4 options require that nband = the number of valence bands, that is, no unfilled bands are allowed. Other features of abinit allow for unfilled bands, but not berryopt. As for the nproc error, you simply have to do what it says, use nproc as a multiple of nkpt and the other paramters.
Re: finite electric field calculation
Posted: Tue Mar 15, 2011 7:56 pm
by amorpho
Thank you for your comments Dr. Zwanziger
I finally succed to simulate a polarization (berryopt=-1) in a silicon crystal, not yet with a finite electic field (berryopt=4).
The system of my interest is a silicon crystal type P (with 1 boron atom and 215 silicon atoms). The valence bands can not be totally filled so, what
feature of abinit should I use to simulate a finite electric field?.
Thank you for your help
Re: finite electric field calculation
Posted: Wed Mar 16, 2011 11:26 am
by jzwanzig
As far as I know, the only way to do finite electric fields in abinit is via the berry phase treatment, and that requires filled bands and only filled bands. Maybe someone else as other ideas?
Re: finite electric field calculation
Posted: Sun Jan 22, 2012 3:57 pm
by mverstra
Hello,
if you are applying an electric field, you should formally have an insulating system. If you want to do transport in a doped Si system, you will be wanting the linear response of the system to an infinitesimal electric field (see the conducti tool).
You might also try the _DEVELOPMENT_ variable
http://www.abinit.org/documentation/hel ... tml#vprtrb and add a kind of sine wave, but this is probably further from what you want.
Matthieu