I have two questions related to the phonon calculation. I use abinit-7.10.5.
(1) Parallel phonon calculation with gamma-centered k points
When I run the parallel phonon calculation using 8 cores in order to obtain the phonon dispersion of AlAs crystal, I fail in calculating the d/dk wave function. I use gamma-centered 4*4*4 k points.
$ mpirun -np 8 abinit-7.10.5 < alas_ph.files >& log-ph
My input file is as follows.
alas_ph.in:
Code: Select all
# Crystalline AlAs : computation of the phonon spectrum
# Parallel settings
#********************************************
paral_kgb 0
paral_kgb1 1 autoparal1 1
paral_kgb2 1 autoparal2 1
ndtset 11
#DATASET1 : scf calculation:
# GS WF in the BZ taking fully into account the symmetry
#********************************************
getwfk1 0
iscf1 7
kptopt1 1
toldfe1 1.0d-8
rfphon1 0
nqpt1 0
#DATASET2 : non scf calculation:
# GS WF taking into account only the time-reversal symmetry
#*****************************************************
getden2 1
getwfk2 0
iscf2 -2
kptopt2 2
tolwfr2 1.0d-12
rfphon2 0
nqpt2 0
#DATASET3 : RF calculation
# ddk with q=0 on the k-points taking into account only the time-reversal symmetry
#*****************************************
getwfk3 2
iscf3 -3
kptopt3 2
tolwfr3 1.0d-12
rfelfd3 2
rfdir3 1 1 1
nqpt3 1
qpt3 0.0 0.0 0.0
#DATASET4 : RF calculation
# ddR and ddE with q=0 on the k-points taking into account only the time-reversal symmetry
#*****************************************
getwfk4 2
getddk4 3
iscf4 7
kptopt4 2
toldfe4 1.0d-8
rfphon4 1
rfatpol4 1 2
rfelfd4 3
rfdir4 1 1 1
nqpt4 1
qpt4 0.0 0.0 0.0
#Sets 5-11 : RF calculation
# q/=0 phonon calculations (defaults for all datasets)
#*****************************************
getwfk 2
kptopt 3
toldfe 1.0d-8
nqpt 1 # default
rfphon 1
rfatpol 1 2
rfdir 1 1 1
# ngkpt 4 4 4 nshiftk 1 shiftk 0.0 0.0 0.0
qpt5 2.50000000E-01 0.00000000E+00 0.00000000E+00
qpt6 5.00000000E-01 0.00000000E+00 0.00000000E+00
qpt7 2.50000000E-01 2.50000000E-01 0.00000000E+00
qpt8 5.00000000E-01 2.50000000E-01 0.00000000E+00
qpt9 -2.50000000E-01 2.50000000E-01 0.00000000E+00
qpt10 5.00000000E-01 5.00000000E-01 0.00000000E+00
qpt11 -2.50000000E-01 5.00000000E-01 2.50000000E-01
#######################################################################
#Common input variables
#Unit cell and Atomic positions
#********************************
acell 3*10.53
rprim 0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
xred
0.0 0.0 0.0
0.25 0.25 0.25
#Atomic types
#*************************************
natom 2
ntypat 2
znucl 13 33
typat 1 2
#Plane wave basis and k-point grid
#*********************************
ecut 2.8
ngkpt 4 4 4
# 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
nshiftk 1
shiftk 0.0 0.0 0.0
#Parameters of the SCF cycles
#****************************
iscf 7
ixc 1
nstep 100
diemac 9.0
nband 4
nbdbuf 0
alas_ph.files:
Code: Select all
alas_ph.in
alas_ph.out
alas_phi
alas_pho
alas_ph
~/abinit-7.10.5/tests/Psps_for_tests/13al.pspnc
~/abinit-7.10.5/tests/Psps_for_tests/33as.pspnc
However, I can calculate the d/dk wave function using other cores, for example 6 cores, successfully.
$ mpirun -np 6 abinit-7.10.5 < alas_ph.files >& log-ph
On the other hand, I can also calculate the d/dk wave function when I shift the center of k points as follows:
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
Why I fail in calculating the d/dk wave function with gamma-centered k points using 8 cores ?
(2) Problem of mrgddb
I fail in gathering DDB files calculated with gamma-centered k points.
$ mrgddb < alas_phmrg.in
….
--- !ERROR
message: |
Comparing integers for variable nkpt.
Value from input DDB is 36 and
from transfer DDB is 64.
Action: check your DDBs.
My input files is as follows.
alas_phmrg.in:
Code: Select all
alas_phmrg.out
AlAs phonons on 4 4 4 mesh
8
alas_pho_DS4_DDB
alas_pho_DS5_DDB
alas_pho_DS6_DDB
alas_pho_DS7_DDB
alas_pho_DS8_DDB
alas_pho_DS9_DDB
alas_pho_DS10_DDB
alas_pho_DS11_DDB
I can avoid this error if I edit src/77_ddb/cmpar8.F90 and do not use chki8 as follows.
cmpar8.F90:
Code: Select all
if(fullinit/=0)then
if(nkpt/=2*nkpt8 .and. 2*nkpt/=nkpt8)then
! call chki8(nkpt,nkpt8,' nkpt')
else
I proceed calculating the phonon dispersion as follows.
$ anaddb < alas_phddb.files >& alas_phddb.log
$ band2eps < alas_b2e.files
$ evince si_b2e.out.eps
My input files is as follows.
alas_phddb.in:
Code: Select all
!Input file for the anaddb code. Analysis of the AlAs DDB
#Wavevector grid number 1 (coarse grid, from DDB)
#*******
brav 2
! These kpt must correspond to ones given as qpt at DFPT calc.
ngqpt 4 4 4
nqshft 1
q1shft 3*0.0
# Flags
#*******
ifcflag 1
# General information
#**********************
enunit 0
eivec 4
asr 1
# chneut 1
chneut 2
dipdip 1
# Wavevector list number 1
**************************
nph1l 53
qph1l
0.00000000E+00 0.00000000E+00 0.00000000E+00 1.0
7.50000000E-02 3.75000000E-02 3.75000000E-02 1.0
1.50000000E-01 7.50000000E-02 7.50000000E-02 1.0
2.25000000E-01 1.12500000E-01 1.12500000E-01 1.0
3.00000000E-01 1.50000000E-01 1.50000000E-01 1.0
3.75000000E-01 1.87500000E-01 1.87500000E-01 1.0
4.50000000E-01 2.25000000E-01 2.25000000E-01 1.0
5.25000000E-01 2.62500000E-01 2.62500000E-01 1.0
6.00000000E-01 3.00000000E-01 3.00000000E-01 1.0
6.75000000E-01 3.37500000E-01 3.37500000E-01 1.0
7.50000000E-01 3.75000000E-01 3.75000000E-01 1.0
7.00000000E-01 4.00000000E-01 3.00000000E-01 1.0
6.50000000E-01 4.25000000E-01 2.25000000E-01 1.0
6.00000000E-01 4.50000000E-01 1.50000000E-01 1.0
5.50000000E-01 4.75000000E-01 7.50000000E-02 1.0
5.00000000E-01 5.00000000E-01 0.00000000E+00 1.0
4.50000000E-01 4.50000000E-01 0.00000000E+00 1.0
4.00000000E-01 4.00000000E-01 0.00000000E+00 1.0
3.50000000E-01 3.50000000E-01 0.00000000E+00 1.0
3.00000000E-01 3.00000000E-01 0.00000000E+00 1.0
2.50000000E-01 2.50000000E-01 0.00000000E+00 1.0
2.00000000E-01 2.00000000E-01 0.00000000E+00 1.0
1.50000000E-01 1.50000000E-01 0.00000000E+00 1.0
1.00000000E-01 1.00000000E-01 0.00000000E+00 1.0
5.00000000E-02 5.00000000E-02 0.00000000E+00 1.0
0.00000000E+00 0.00000000E+00 0.00000000E+00 1.0
7.14285714E-02 7.14285714E-02 7.14285714E-02 1.0
1.42857143E-01 1.42857143E-01 1.42857143E-01 1.0
2.14285714E-01 2.14285714E-01 2.14285714E-01 1.0
2.85714286E-01 2.85714286E-01 2.85714286E-01 1.0
3.57142857E-01 3.57142857E-01 3.57142857E-01 1.0
4.28571429E-01 4.28571429E-01 4.28571429E-01 1.0
5.00000000E-01 5.00000000E-01 5.00000000E-01 1.0
5.00000000E-01 5.00000000E-01 4.37500000E-01 1.0
5.00000000E-01 5.00000000E-01 3.75000000E-01 1.0
5.00000000E-01 5.00000000E-01 3.12500000E-01 1.0
5.00000000E-01 5.00000000E-01 2.50000000E-01 1.0
5.00000000E-01 5.00000000E-01 1.87500000E-01 1.0
5.00000000E-01 5.00000000E-01 1.25000000E-01 1.0
5.00000000E-01 5.00000000E-01 6.25000000E-02 1.0
5.00000000E-01 5.00000000E-01 0.00000000E+00 1.0
5.50000000E-01 5.00000000E-01 5.00000000E-02 1.0
6.00000000E-01 5.00000000E-01 1.00000000E-01 1.0
6.50000000E-01 5.00000000E-01 1.50000000E-01 1.0
7.00000000E-01 5.00000000E-01 2.00000000E-01 1.0
7.50000000E-01 5.00000000E-01 2.50000000E-01 1.0
7.14285714E-01 5.00000000E-01 2.85714286E-01 1.0
6.78571429E-01 5.00000000E-01 3.21428571E-01 1.0
6.42857143E-01 5.00000000E-01 3.57142857E-01 1.0
6.07142857E-01 5.00000000E-01 3.92857143E-01 1.0
5.71428571E-01 5.00000000E-01 4.28571429E-01 1.0
5.35714286E-01 5.00000000E-01 4.64285714E-01 1.0
5.00000000E-01 5.00000000E-01 5.00000000E-01 1.0
# Wave vector list no. 2
#***********************
# get proper LO-TO splitting at gamma
nph2l 1
qph2l 1.0 0.0 0.0 0.0
# This line added when defaults were changed (v5.3) to keep the previous, old behaviour
symdynmat 0
alas_phddb.files
Code: Select all
alas_phddb.in
alas_phddb.out
alas_phmrg.out
alas_ddb_band2eps
trf2_dummy1
trf2_dummy2
trf2_dummy3
alas_b2e.files:
Code: Select all
#Input file for 'band2eps.' This data layout must be used, line-by-line.
number of atoms in a cell :
2
minimum value, maximum value and number of tics of the vertical axe :
0.0 400.0 8
Units : 1 for cm-1, 2 for THz :
1
Number of lines :
7
Description of the points in q space :
gamma K X gamma L X W L
Number of q points for each line :
10 5 10 7 8 5 7
Scale factor for each line :
1.0 1.0 1.0 1.0 1.0 1.0 1.0
#COLOR DEFINITION :
#put 1 in place of the atom you want to be colored in
#red
0 0
#green
0 0
#blue
0 0
It seems that the phonon dispersion is calculated normally.
Is it correct to edit cmpar8.F90 as above ?
Takayuki Tsukagoshi