error in tddft calculation
Posted: Mon Aug 08, 2011 5:45 pm
Dear Abinit Users,
According to the tddft tutorial I was able to run the test calculations, and by using the input information I did tried to calculate the excitation energies for my model system, which had metal atoms. In which I encountered problems.
As in the example I used the input with slight changers, as my system is negativly charged (-1), and is a closed shell system ;
ndtset 2
#DATASET 1 SCF
iscf1 5
tolwfr1 1.0d-15
nband1 5
prtden1 1
getwfk1 0
#DATASET 2 TDDFT
iscf2 -1
tolwfr2 1.0d-9
nband2 12
getden2 1
getwfk2 1
#Common
acell 30 30 30 angstroms
boxcenter 3*0.0d0
diemac 1.0d0 diemix 0.5d0
ecut 25
ixc 7
kptopt 0 # Enter the k points manually
charge -1
natom 61
nbdbuf 0
nstep 500
ntypat 3
---------------------
When trying to run the above I encounted the error:
distrb2: WARNING -
nproc_kpt= 6 >= nkpt= 1* nsppol= 1
The number of processors is larger than nkpt. This is a waste.
invars1: mkmem undefined in the input file. Use default mkmem = nkpt
invars1: With nkpt_me= 1 and mkmem = 1, ground state wf handled in core.
invars1 : WARNING -
your number of k-points ( 1) will not distribute correctly:
with the current number of processors ( 6).
you will leave some empty and this is forbidden.
ACTION: you can reduce number of processors to 1
without losing speed
invars1: mkqmem undefined in the input file. Use default mkqmem = nkpt
invars1: With nkpt_me= 1 and mkqmem = 1, ground state wf handled in core.
invars1 : WARNING -
your number of k-points ( 1) will not distribute correctly:
with the current number of processors ( 6).
you will leave some empty and this is forbidden.
ACTION: you can reduce number of processors to 1
without losing speed
invars1: mk1mem undefined in the input file. Use default mk1mem = nkpt
invars1: With nkpt_me= 1 and mk1mem = 1, ground state wf handled in core.
invars1 : WARNING -
your number of k-points ( 1) will not distribute correctly:
with the current number of processors ( 6).
you will leave some empty and this is forbidden.
ACTION: you can reduce number of processors to 1
without losing speed
DATASET 1 : space group P-1 (# 2); Bravais aP (primitive triclinic)
inkpts: Sum of 1 k point weights is 1.000000
chkneu : ERROR -
Initialization of occ, with occopt= 1
There are not enough bands to get charge balance right
Action : modify input file ...
(check the pseudopotential charges, the variable charge,
and the declared number of bands, nband)
-P-0000
-P-0000 leave_new : decision taken to exit ...
----
the error talks about that "There are not enough bands to get charge balance right" -- how can I select the correct number of bands?
As the system has gold atoms, S , and H atoms ..
Do I need to calculate the number of electrons and divide it by 2 to get the number of bands to be used?
But when I commented out the nband1 5 in the above input file the calculation started runing.. but I do not know whether it will run properly or not..
Bellow is the changed input file; when I specified it to run on 6 procs it started runing...
ndtset 2
#DATASET 1 SCF
iscf1 5
tolwfr1 1.0d-15
# nband1 5
prtden1 1
getwfk1 0
#DATASET 2 TDDFT
iscf2 -1
tolwfr2 1.0d-9
# nband2 12
getden2 1
getwfk2 1
#Common
# acell 6 2*5 Angstrom
acell 30 30 30 angstroms
boxcenter 3*0.0d0
diemac 1.0d0 diemix 0.5d0
ecut 25
ixc 7
kptopt 0 # Enter the k points manually
charge -1
natom 61
nbdbuf 0
nstep 500
I would really appreciate if you can shed some light for my problem. Thank you very much
According to the tddft tutorial I was able to run the test calculations, and by using the input information I did tried to calculate the excitation energies for my model system, which had metal atoms. In which I encountered problems.
As in the example I used the input with slight changers, as my system is negativly charged (-1), and is a closed shell system ;
ndtset 2
#DATASET 1 SCF
iscf1 5
tolwfr1 1.0d-15
nband1 5
prtden1 1
getwfk1 0
#DATASET 2 TDDFT
iscf2 -1
tolwfr2 1.0d-9
nband2 12
getden2 1
getwfk2 1
#Common
acell 30 30 30 angstroms
boxcenter 3*0.0d0
diemac 1.0d0 diemix 0.5d0
ecut 25
ixc 7
kptopt 0 # Enter the k points manually
charge -1
natom 61
nbdbuf 0
nstep 500
ntypat 3
---------------------
When trying to run the above I encounted the error:
distrb2: WARNING -
nproc_kpt= 6 >= nkpt= 1* nsppol= 1
The number of processors is larger than nkpt. This is a waste.
invars1: mkmem undefined in the input file. Use default mkmem = nkpt
invars1: With nkpt_me= 1 and mkmem = 1, ground state wf handled in core.
invars1 : WARNING -
your number of k-points ( 1) will not distribute correctly:
with the current number of processors ( 6).
you will leave some empty and this is forbidden.
ACTION: you can reduce number of processors to 1
without losing speed
invars1: mkqmem undefined in the input file. Use default mkqmem = nkpt
invars1: With nkpt_me= 1 and mkqmem = 1, ground state wf handled in core.
invars1 : WARNING -
your number of k-points ( 1) will not distribute correctly:
with the current number of processors ( 6).
you will leave some empty and this is forbidden.
ACTION: you can reduce number of processors to 1
without losing speed
invars1: mk1mem undefined in the input file. Use default mk1mem = nkpt
invars1: With nkpt_me= 1 and mk1mem = 1, ground state wf handled in core.
invars1 : WARNING -
your number of k-points ( 1) will not distribute correctly:
with the current number of processors ( 6).
you will leave some empty and this is forbidden.
ACTION: you can reduce number of processors to 1
without losing speed
DATASET 1 : space group P-1 (# 2); Bravais aP (primitive triclinic)
inkpts: Sum of 1 k point weights is 1.000000
chkneu : ERROR -
Initialization of occ, with occopt= 1
There are not enough bands to get charge balance right
Action : modify input file ...
(check the pseudopotential charges, the variable charge,
and the declared number of bands, nband)
-P-0000
-P-0000 leave_new : decision taken to exit ...
----
the error talks about that "There are not enough bands to get charge balance right" -- how can I select the correct number of bands?
As the system has gold atoms, S , and H atoms ..
Do I need to calculate the number of electrons and divide it by 2 to get the number of bands to be used?
But when I commented out the nband1 5 in the above input file the calculation started runing.. but I do not know whether it will run properly or not..
Bellow is the changed input file; when I specified it to run on 6 procs it started runing...
ndtset 2
#DATASET 1 SCF
iscf1 5
tolwfr1 1.0d-15
# nband1 5
prtden1 1
getwfk1 0
#DATASET 2 TDDFT
iscf2 -1
tolwfr2 1.0d-9
# nband2 12
getden2 1
getwfk2 1
#Common
# acell 6 2*5 Angstrom
acell 30 30 30 angstroms
boxcenter 3*0.0d0
diemac 1.0d0 diemix 0.5d0
ecut 25
ixc 7
kptopt 0 # Enter the k points manually
charge -1
natom 61
nbdbuf 0
nstep 500
I would really appreciate if you can shed some light for my problem. Thank you very much