[Pw_forum] set_irr sets incorrect npert when trans=.false. and elph=.true.
Alaska Subedi
asubedi at gmail.com
Tue Dec 21 00:45:19 CET 2010
Dear All,
I would like to calculate lambda using different sets of dense k
points for double delta integration. In order to do so I calculate
dvscf using the following ph.in file:
--
&inputph
tr2_ph = 1.0d-16
prefix='Al-ep2',
fildvscf='dvscf'
amass(1) = 26.98
outdir = './tmp/'
fildyn = 'Al-ep0.dyn2'
/
-0.250000000000000E+00 0.250000000000000E+00 -0.250000000000000E+00
I now want to use dvscf and dyn files generated from this run to
calculate lambda. For this, I use the following input file:
--
&inputph
tr2_ph = 1.0d-16
prefix='Al-ep2',
fildvscf='dvscf'
amass(1) = 26.98
outdir = './tmp/'
fildyn = 'Al-ep0.dyn2'
elph=.true.
trans=.false.
/
-0.250000000000000E+00 0.250000000000000E+00 -0.250000000000000E+00
However, the code crashes with the error:
forrtl: severe (41): insufficient virtual memory
After some debugging, I noticed that npertx is very large and the
error happens when matrices of dimension npertx is being allocated in
allocate_pert(). npertx is calculated as:
DO irr = 1, nirr
npertx = max (npertx, npert (irr) )
ENDDO
The error occurs because npert has incorrect values assigned in the
subroutine set_irr.
This error does not occur when I calculate phonon and lambda in the
same run (using trans=.true. and elph=.true.).
Any pointer to fix this error would be greatly appreciated.
Thanks,
Alaska
The scf file is:&control
calculation='scf'
restart_mode='from_scratch',
tprnfor = .true.
prefix='Al-ep2',
pseudo_dir = './pseudo/',
outdir='./tmp/'
/
&system
ibrav= 2,
celldm(1) =7.5,
nat= 1, ntyp= 1,
ecutwfc =45.0,
occupations='smearing',
smearing='methfessel-paxton',
degauss=0.05
/
&electrons
conv_thr = 1.0d-10
! diagonalization = 'cg'
! mixing_mode = 'local-TF'
mixing_beta = 0.3d0
/
ATOMIC_SPECIES
Al 26.98 Al.vbc.UPF
ATOMIC_POSITIONS
Al 0.00 0.00 0.00
K_POINTS {automatic}
8 8 8 0 0 0
More information about the users
mailing list