SeqQuest input: Run phase data
Table of Contents
- Overview
- Input options
- Troubleshooting
Overview
This page gives a description of the "run phase data"
input section that modifies all the default parameters in the code
that affect the scf calculation.
The entire run phase section input is optional.
The geometry relaxation and cell optimization input
modules can be invoked from within the run phase section input.
The default units for the run phase section are Ry for energies
and bohr for distances.
Current constraints, important version notes:
- geometry section only at end of run phase section before v2.53
- geometry input ends with "end geometry" as of v2.53
- cell optimization installed in v2.53
Input options
The run phase input section appears directly after the setup phase section,
begins with the keyword "run phase data" and ends with the keyword
"end run phase data". The entire run phase section input is optional.
The following are the common input keywords in this section.
All the keywords are optional, and can appear in any order within this section.
The keywords must be left-justified, but all data input is free-format.
- run phase data - begin run phase data input section
- ...
- temperature (Ry) for occupation weighting
- temp
- blend ratio - initial scf blend factor
- blend (require 0 < blend < 1)
- scfbl2 - scf blend factor for subsequent geometries in relaxation
- scfbl2 (require 0 < scfbl2 < 1)
- convergence - scf convergence criterion (Ry)
(delta-Hamiltonian matrix)
- conv_scf
- states - number of eigenstates to obtain in solve
- n_state
- iterations - maximum number of scf iterations
- n_iter
- history - max number scf iterations in Broyden blend history
- n_hist_scf
- no ges - turns off dynamic SCF guessing,
reverts to overlapping spherical atom guess (2.61)
- cutfrc - alter force integral cutoffs
- cutfrc (set to 0.01 - 0.001 for fine stress accuracy)
- cutfac - alter all integral cutoffs
- cutfac (less accurate 10.0 - 1.0 - 0.001 most accurate)
- closed shell - enforce closed shell (0K w/gap) occupations (2.59)
- kclosed shell - almost closed shell, finite T within k-pt (2.59)
- ...
- spconv - set convergence for spin polarization (in electron #)
- conv_sp
- spmeth - method for spin optimization
- method_sp (a6) (method_sp = SIMPLE, LINEAR=default )
- spsteps - number of steps (trial polarizations) to find optimal spin
- nstep_sp
- spblend - blend factor for spin update (simple scheme)
- blend_sp (should be between 1.0-2.0, default=1.5, "safe"=1.0)
- dynamics - invokes MD input section
- ... MD data input
- end dynamics - end of MD input section
- ...
- geometry relaxation - invokes geometry input section
- ... geometry optimization data
- end geometry - end of geometry input section
- ...
- cell optimization - invokes cell input section
- ... cell optimization data
- end cell parameters - end of cell optimization input section
- ...
- end run phase data - end of run phase input section
SCF Convergence
The code uses the maximum change of a Hamiltonian matrix element as its
figure of merit for the convergence of the self-consistent calculation,
rather than the change of the total energy, density matrix, density or
potential on grid. The motivation for this is that the code uses a
modified Broyden blending scheme on the Hamiltonian matrix in its SCF
updates. Hence the Hamiltonian matrix is the appropriate item to test.
The change in the total energy is not necessarily correlated with the
level of convergence.
The criterion the code uses to determine convergence is a change (Ry)
in any matrix element. In every SCF cycle, the Broyden code writes out
what the rms and max change are (grep output for 'max change'). For different
problems, metals vs. insulators, transition metals vs. alkali metals, etc.,
the convergence of the energy (and other properties) will be different
as a function of the convergence criterion. The user can examine this
relative convergence, and modify the SCF criterion appropriately to
either converge more finely (make the criterion smaller) or to converge
less if the problem is overconverged for their needs (make the criterion
larger).
Cutoffs
The cutXXX keywords modify cutoffs for integral evaluations, and are used
to scale the default cutoffs in the code, i.e., a input value of 1.0
would have a null effect. The cutoffs represent the minimum absolute
magnitude of an overlap Gaussian for an integral to be evaluated (otherwise,
it is skipped). The cutoffs have been carefully tuned, but experience has
shown that the force cutoffs might need to be reduced for better accuracy
in very fine atomic relaxation, and when doing elastic constant calculations
from stress-strain curves. In the latter case, the cutfrc parameter
might need to be as small as 0.005. Note that calculations get more expensive
the smaller this factor is set.
Return to Top
Troubleshooting
The calculation will not converge (the most common complaint):
- If it fails to converge in the first step ...
- Check that atomic configuration makes sense
- e.g.: scaling set to convert Angstrom to bohr, correct cell dimensions
- Check that atomic identities are correct in setup phase
- e.g.: that you have not accidentally interchanged hydrogen atoms
and carbon atoms to create a carbohydrogen
- Change the initial blend ratio
- The default is 0.30.
Try smaller, to as small as 0.01, or bigger, to as big as 0.80
- If the calculation is still converging (according to "max change"),
increase the maximum iterations
- If "max change" is still shrinking (not stalled), sometimes you
just need more iterations to converge the calculation
- If metallic (no gap), esp. transition metal, try increasing the
electronic temperature.
- The default is 0.003 Ry. Maybe a higher temperature,
0.010 or even 0.020 will stabilize the calculation?
The energies, forces, and stresses are not as good, but this
is a common means to stabilize the SCF in a difficult metal.
- Change (increase) the convergence parameter
- If the SCF stalls but is reasonably well converged, this works.
Examine total energy vs. "max change" as a function of iterations
in the output file ("max change" is the figure of merit for SCF)
- Reduce the history used in the Broyden SCF blend
- "Forget" bad iterations more quickly by reducing the used
history (to as small as 4 or 5 perhaps)
- If a metal (esp. a free-electron metal like aluminum), check that you
have sufficient states specified.
- Look in the output file in the eigenstate/occupation listing.
If the highest state (in any k-point) is occupied, you may not have
solved for enough states. Increase the number of states until you
have at least one (and preferably more) empty states at the top.
- If the SCF succeeds in the first step, and fails after that ...
- Change the SCF blend parameter for follow-on steps ("scfbl2")
- With SCF guessing ON, the follow-on steps may have a different
SCF behavior.
- Turn off the SCF guessing scheme
-
Sometimes the SCF guess goes bad.
There is a known problem (bug) with the SCF guess if an atom crosses
a boundary of the principal unit cell in a relaxation/MD when
using non-gamma k-points.
The no ges option turns the guessing off.
- Take the last good geometry and restart the calculation
- As mentioned above, the SCF guess will go bad in a non-gamma
point calculation if an atom crosses a cell boundary.
If you simply take that last geometry and relaunch a new
calculation (which will start without a SCF guess), that
geometry will converge.
Return to Top
or Input Manual
or User Guides
or SeqQuest Home
Send questions and comments to:
Peter Schultz
at
paschul@sandia.gov
Last updated: December 2, 2010