Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] Geometry Optimisation, ecut & GGA

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] Geometry Optimisation, ecut & GGA


Chronological Thread 
  • From: "M.T.Storr" <m.t.storr@reading.ac.uk>
  • To: forum@abinit.org
  • Cc: cfischer@MIT.EDU
  • Subject: Re: [abinit-forum] Geometry Optimisation, ecut & GGA
  • Date: Wed, 2 Apr 2003 07:50:18 +0100 (BST)

Hi,

In response to a recent e-mail here is my input file, I am using Abinit
v4.0.3.

Thanks

Mark

#Geometry Optimisation
optcell 2 # Optimise Nuclear Positions only.
ionmov 3 # Broyden-Fletcher-Goldfarb-Shanno minimization (BFGS).
ntime 50 # Number of BFGS steps.
dilatmx 2.50
ecutsm 0.0
prtcml 1 # Print output geometry.

#Definition of the unit cell
acell 3*7.211676784 # This is equivalent to 3.816255 X 3.816255 X 3.816255
rprim 0.0 0.5 0.5 # In lessons 1 and 2, these primitive vectors
0.5 0.0 0.5 # (to be scaled by acell) were 1 0 0 0 1 0 0 0 1
0.5 0.5 0.0 # that is, the default.

#Definition of the atom types
ntype 2 # There are two types of atom.
znucl 94 8 # 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 3 # There are three atoms
type 1 2 2
xred # This keyword indicates the position of the atoms is
in reduced coordinates.
0.000000 0.000000 0.000000
0.250000 0.250000 0.250000
-0.250000 -0.250000 -0.250000

#Definition of the Functional to use
ixc 1 # LDA or LSD, Teter Pade parametrization (4/93).
# Which reproduces Perdew-Wang (which reproduces
Ceperley-Alder).
nsppol 2 # Spin polarised functional.

#Definition of the planewave basis set
ecut 50.0 # Maximal kinetic energy cut-off, in Hartree

#Definition of the k-point grid
kptopt 1 # Option for the automatic generation of k points, taking
# into account the symmetry
ngkpt 6 6 6 # Definition of the different grids

nshiftk 4 # repeated four times, with different shifts

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
# In cartesian coordinates, this grid is simple cubic, and
# actually corresponds to the
# so-called 4x4x4 Monkhorst-Pack grid

#Definition of the SCF procedure
nstep 50 # Maximal number of SCF cycles
diemac 9.0 # Although this is not mandatory, it is worth to
diemix 1.0 # precondition the SCF cycle. The model dielectric
# function used as the standard preconditioner
# is described in the "dielng" input variable section.
toldfe 1.0d-6 # Will stop when, twice in a row, the difference
# between two consecutive evaluations of total energy
# differ by less than toldfe (in Hartree).
# Only 1 value of tol.... need be specified.

On Tue, 1 Apr 2003, Chris Fischer wrote:

> Mark,
>
> Could you copy your input file along with your response. What version of
> ABINIT are you using ?
>
> -Chris
>
> M.T.Storr wrote:
>
> >Riad,
> >
> >thanks for the suggestion, I can gte the calculation to run for one step
> >by increasing the dilatmx to 3.00 which I believe means allow for a 300%
> >increase in cell size. However the calculation then dies with the same
> >problem. It therefore appears that Abinit is unable to run a geometry
> >optimisation on my 3 atoms primitive unit cell. Is this a problem with
> >Abinit or my input? The input structure is of course from the
> >crystallographic database and as such should be reasonably near to the DFT
> >cell.
> >Any further suggestions would be greatfully appreciated.
> >
> >Thanks
> >
> >Mark
> >
> >On Mon, 31 Mar 2003, Riad Shaltaf wrote:
> >
> >
> >
> >>Hi..
> >>
> >>I think the problem is that your cell expanded very much after the first
> >>optemization step which makes the
> >>maximum nomber of plane waves included in the calculation through the
> >>value of dilatmx is not enuogh to cover the expanded cell. I think if you
> >>start from larger lattice parameter or if you give larger value for
> >>dilatmx, you may solve this problem.
> >>
> >>I hope this might help.
> >>On Sun, 30 Mar 2003, M.T.Storr wrote:
> >>
> >>
> >>
> >>>Hi,
> >>>
> >>>thanks to those people who answered my questions on the number of bands
> >>>in
> >>>a calculation. The question has now been resolved and replaced by
> >>>several
> >>>further questions!
> >>>I have run through the study of ecut, then the number of kpoints for my
> >>>system and so am now at the point of running a geometry optimisation,
> >>>however I am running into problems with ecut/boxcut.
> >>>I have chosen an ecut of 50 Ha and a kpoint grid as follows:
> >>>
> >>>#Definition of the k-point grid
> >>>kptopt 1 # Option for the automatic generation of k points,
> >>>taking
> >>> # into account the symmetry
> >>>ngkpt 6 6 6 # Definition of the different grids
> >>>
> >>>nshiftk 4 # repeated four times, with different shifts
> >>>
> >>>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
> >>> # In cartesian coordinates, this grid is simple cubic,
> >>> and
> >>> # actually corresponds to the
> >>> # so-called 4x4x4 Monkhorst-Pack grid
> >>>
> >>>However when I try to run the geometry optimisisation using:
> >>>
> >>>optcell 2 # Optimise Nuclear Positions only.
> >>>ionmov 3 # Broyden-Fletcher-Goldfarb-Shanno minimization (BFGS).
> >>>ntime 10 # Number of BFGS steps.
> >>>dilatmx 1.15
> >>>ecutsm 0.0
> >>>
> >>>Then when the program goes through the input data and echoes the dataset
> >>>it uses and ecut of:
> >>>
> >>> getcut: wavevector= 0.0000 0.0000 0.0000 ngfft= 40 40 40
> >>> ecut(hartree)= 66.125 => boxcut(ratio)= 2.14285
> >>>
> >>>whihc is not the 5o Ha that I requested.
> >>>However the program goes ahead and runs the Broyden Step 0, however at
> >>>the
> >>>end of this step the program then goes to Broyden Step 1 and then
> >>>selects
> >>>the Ecut as requested of 50 Ha:
> >>>
> >>> getcut: wavevector= 0.0000 0.0000 0.0000 ngfft= 40 40 40
> >>> ecut(hartree)= 50.000 => boxcut(ratio)= 0.67925
> >>>
> >>>However as can be seen the boxcut is now below 1 and I get the following
> >>>error:
> >>>
> >>> getcut: ERROR -
> >>> Choice of acell, ngfft, and ecut
> >>> ===> basis sphere extends BEYOND fft box!
> >>> Recall that boxcut=Gcut(box)/Gcut(sphere) must be > 1.
> >>> Action : try larger ngfft or smaller ecut.
> >>> Note that ecut=effcut/boxcut**2 and effcut= 23.068977
> >>>
> >>>The question is what am I doing wrong. I would like to use an ecut of 50
> >>>Ha, and have therefore tried increasing ngfft however I tried 50 50 50
> >>>and got a boxcut(ratio)=0.84940. This suggests that I would need to
> >>>increase ngfft to a rather large value just to get the calculation to
> >>>run.
> >>>Therefore I would like to know why for the Broyden step 0 the program
> >>>appears to select its own value of ecut which when used to intialise
> >>>variables such as ngfft etc means that at step 1 when it uses the
> >>>correct
> >>>value all the initialised variables are wrong. Any suggestions how to
> >>>solve this would be great.
> >>>
> >>>Many Thanks
> >>>
> >>>Mark
> >>>
> >>>--
> >>>Mark T. Storr
> >>>Research Fellow
> >>>School of Chemistry
> >>>University of Reading
> >>>PO Box 224
> >>>Whiteknights
> >>>Reading
> >>>Berkshire
> >>>RG6 6AD
> >>>Tel: +44 (0)118 9875123 Ext. 7415
> >>>E-mail: M.T.Storr@reading.ac.uk
> >>>
> >>>
> >>>
> >>>
> >>
> >>
> >
> >
> >
>

--
Mark T. Storr
Research Fellow
School of Chemistry
University of Reading
PO Box 224
Whiteknights
Reading
Berkshire
RG6 6AD
Tel: +44 (0)118 9875123 Ext. 7415
E-mail: M.T.Storr@reading.ac.uk




Archive powered by MHonArc 2.6.16.

Top of Page