Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] getcell is valid in response-function calculations ??

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] getcell is valid in response-function calculations ??


Chronological Thread 
  • From: Xavier Gonze <xavier.gonze@uclouvain.be>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] getcell is valid in response-function calculations ??
  • Date: Fri, 4 Apr 2008 13:48:11 +0200
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=uclouvain.be; h=mime-version: in-reply-to:references:content-type:message-id: content-transfer-encoding:from:subject:date:to; q=dns; s=selucl; b= Mx1ztDZz5gOx/tZjB9GE7duODopWsDhSRXKwpfeq99w0E7hQGKDtkgiQ7/17ZtWw B4wP3CaRqMoWifSKVzI9h8CDV9+2Gz7/VapzUWFMGitY80IpOWt6WHp7lEJpcAwv G4mBlLqCCl4UiPLDzP9+MbZDgGMUpWZUR0IuwXl68k8=

Dear Wei-Bing Zhang,

This is a bug, that has just been uncovered also in Queretaro (where we are having a school).
The getcell variable does not work properly for the initialization of the response calculations (phonon, electric field,
homogeneous electric field).
Please, do not follow the last input file of the "elastic" lesson of the tutorial at present.

This is easy to solve from the user's point of view.

The following will work properly : optimize the geometry of your system in one run, then copy by hand the
optimized geometry in another run (do not use getcell), that should perform the response calculations,
(so might include phonons and elastic computations). The latter run could do first
a very accurate determination of the density, non-self-consistent k point calculations, etc,
before going to response calculations.

Sorry for this.
Xavier

On 04 Apr 2008, at 11:41, Wei-Bing Zhang wrote:

Dear abinit users!
I am a new user of abinit. As a test , I want to use DFFT of abinit to
calculated the elastic constants of fcc Ni. Following the example provided in
"elastic" lesson of the tutorial:, Firstly , perform a optimization of acell,
following by GS calculation. third perform a Non-self-consistent GS .finally ,
perform a RF run for symmetry-inequivalent elastic constants. And the getcell
-1 is used in last three steps. however, When I check the *.out, I found that
the getcell work well in step 2 and step4 but became valid in step 4. in step
4, I found the acell is not read from the output of step 3 but come from the
input of step 1. Is "getcell" valid in RF calculations??
And, I cannot get reasonable elastic constant results of Ni. First, i always
get the negative constants. When I increase the "ecut" and Kpoints mesh, I get
c11 127.73978170477126 c12 97.034604419461246 c13 6.812321968597402 which
is only half of experimental value. Can you help what wrong about my input
file. How can I get the reasonable elastic results based on DFFT. Thanks you.
any suggestions about calculations of Ni will be appreciated!!
Wei-Bing Zhang
zwb256@hotmail.com
===================================================================
#Al fcc metal - elastic constant calculation

ndtset 4 # Total number of datasets (3*4)
dilatmx=1.5

# Set 1 : Initial self-consistent and lattice optimization run

getwfk1 0
ionmov1 2 # Broyden lattice optimization scheme
ntime1 50 # Maximim lattice optimization steps
optcell1 1 # Optimize cell volume only
strfact1 100 # Test convergence of stresses (Hartree/ bohr^3) by
# multiplying by this factor and applying force
# convergence test
tolmxf1 1.0e-6 # Convergence limit for forces as above
tolvrs1 1.0d-18 # Need excellent convergence of GS quantities for RF runs
#set 2
prtden2 1 # Third dataset needs density
tolvrs2 1.0d-18

# Set 3 : Converge unoccupied wave functions

getden3 -1 # Use density from previout set
tolwfr3 1.0d-30 # This is simply for a reason of portability of automatic
tests
nstep3 45

# Set 4 : response-function calculations for all needed perturbations

kptopt4 2 # Time-reversal only for RF calculation
nqpt4 1
qpt4 0 0 0 # By symmetry, only need one direction
rfdir4 1 0 0
rfstrs4 3 # Need both unaxial and shear strains
tolvrs4 1.0d-12 # Need reasonable convergence of 1st-order quantities

#Common input data

#Double loop data passing

#getcell -1 # Start from optimized (datasets ?2-?4) or previously
# optimized (datasets ?1) acell
getwfk -1 # Use last set of wave functions (except datasets ?1)


getcell -1

nband=8
#Definition of the plane wave basis set
ecutsm 0.5 # Smoothing energy needed for lattice parameter
# optimization. This will be retained for
# consistency throughout.

#Definition of the k-point grid - loop over 3 k-point densities
kptopt 1 # Use symmetry and treat only inequivalent points

#ngkpt1? 6 6 6
ngkpt 8 8 8
#ngkpt3? 10 10 10

nshiftk 4 # Use one copy of grid only (default)
shiftk 0.0 0.0 0.5 # This gives the usual fcc Monkhorst-Pack grid
0.0 0.5 0.0
0.5 0.0 0.0
0.5 0.5 0.5

ecut 1000 eV
#Definition of occupation numbers
occopt 7
tsmear 0.01


#spin related quantities
spinat 0.0 0.0 1.0
nsppol 2


#Definition of the unit cell
acell 3*6.7713705382 # This is equivalent to 7.60 7.60 7.60
rprim 0.0 0.5 0.5 # FCC primitive vectors (to be scaled by acell)
0.5 0.0 0.5
0.5 0.5 0.0


#Definition of the atom types
ntypat 1 # There is only one type of atom
znucl 28 # The keyword "znucl" refers to the atomic number of the
# possible type(s) of atom. The pseudopotential(s)
# mentioned in the "files" file must correspond
# to the type(s) of atom.


#Definition of the atoms
natom 1 # There is only one atom per cell
typat 1 # This atom is of type 1, that is, Aluminum
xred # This keyword indicate that the location of the atoms
# will follow, one triplet of number for each atom
0.0 0.0 0.0 # Triplet giving the REDUCED coordinate of atom 1.



#Exchange-correlation functional
ixc 11 # GGA, Perdew-Burke-Ernzerhof GGA functional

#Definition of the SCF procedure
nstep 60 # Maximal number of SCF cycles
# between two consecutive evaluations of total energy
# differ by less than toldfe (in Hartree)
====================================================================== ==
== DATASET 1
==================================================================

Real(R)+Recip(G) space primitive vectors, cartesian coordinates
(Bohr,Bohr^-1):
R(1)= 0.0000000 3.3856853 3.3856853 G(1)= -0.1476806 0.1476806 0.1476806
R(2)= 3.3856853 0.0000000 3.3856853 G(2)= 0.1476806 -0.1476806 0.1476806
R(3)= 3.3856853 3.3856853 0.0000000 G(3)= 0.1476806 0.1476806 -0.1476806
Unit cell volume ucvol= 7.7619305E+01 bohr^3
Angles (23,13,12)= 6.00000000E+01 6.00000000E+01 6.00000000E+01 degrees

getcut: wavevector= 0.0000 0.0000 0.0000 ngfft= 40 40 40
ecut(hartree)= 82.686 => boxcut(ratio)= 2.04088
== DATASET 2
==================================================================

mkfilename : getwfk/=0, take file _WFK from output of DATASET 1.

driver : getcell/=0, take acell and rprim from output of dataset with index
1.

Real(R)+Recip(G) space primitive vectors, cartesian coordinates
(Bohr,Bohr^-1):
R(1)= 0.0000000 3.3857125 3.3857125 G(1)= -0.1476794 0.1476794 0.1476794
R(2)= 3.3857125 0.0000000 3.3857125 G(2)= 0.1476794 -0.1476794 0.1476794
R(3)= 3.3857125 3.3857125 0.0000000 G(3)= 0.1476794 0.1476794 -0.1476794
Unit cell volume ucvol= 7.7621178E+01 bohr^3
Angles (23,13,12)= 6.00000000E+01 6.00000000E+01 6.00000000E+01 degrees

getcut: wavevector= 0.0000 0.0000 0.0000 ngfft= 40 40 40
ecut(hartree)= 82.686 => boxcut(ratio)= 2.04086
---------------------------------------------------------------------- ----------

== DATASET 3
==================================================================

mkfilename : getwfk/=0, take file _WFK from output of DATASET 2.

mkfilename : getden/=0, take file _DEN from output of DATASET 2.

driver : getcell/=0, take acell and rprim from output of dataset with index
2.

Real(R)+Recip(G) space primitive vectors, cartesian coordinates
(Bohr,Bohr^-1):
R(1)= 0.0000000 3.3857125 3.3857125 G(1)= -0.1476794 0.1476794 0.1476794
R(2)= 3.3857125 0.0000000 3.3857125 G(2)= 0.1476794 -0.1476794 0.1476794
R(3)= 3.3857125 3.3857125 0.0000000 G(3)= 0.1476794 0.1476794 -0.1476794
Unit cell volume ucvol= 7.7621178E+01 bohr^3
Angles (23,13,12)= 6.00000000E+01 6.00000000E+01 6.00000000E+01 degrees

getcut: wavevector= 0.0000 0.0000 0.0000 ngfft= 40 40 40
ecut(hartree)= 82.686 => boxcut(ratio)= 2.04086
---------------------------------------------------------------------- ----------

================================================

====================================================================== ==========
== DATASET 4
==================================================================

mkfilename : getwfk/=0, take file _WFK from output of DATASET 3.

driver : getcell/=0, take acell and rprim from output of dataset with index
3.

Real(R)+Recip(G) space primitive vectors, cartesian coordinates
(Bohr,Bohr^-1):
R(1)= 0.0000000 3.3856853 3.3856853 G(1)= -0.1476806 0.1476806 0.1476806
R(2)= 3.3856853 0.0000000 3.3856853 G(2)= 0.1476806 -0.1476806 0.1476806
R(3)= 3.3856853 3.3856853 0.0000000 G(3)= 0.1476806 0.1476806 -0.1476806
Unit cell volume ucvol= 7.7619305E+01 bohr^3
Angles (23,13,12)= 6.00000000E+01 6.00000000E+01 6.00000000E+01 degrees
setup1 : take into account q-point for computing boxcut.

getcut: wavevector= 0.0000 0.0000 0.0000 ngfft= 40 40 40
ecut(hartree)= 82.686 => boxcut(ratio)= 2.04088




Archive powered by MHonArc 2.6.16.

Top of Page