SeqQuest input  Geometry relaxation
Table of Contents
 Overview
 Input options
 Applying constraints
 Relaxation methods
 Troubleshooting
Overview
This page gives a description of the input section that controls
and modifies how an atomic geometry relaxation is done.
The code does a full geometry relaxation via forceelimination,
enforcing all userspecified symmetry, and respecting all constraints
specified by the user in this section.
The geometry relaxation input section is optional; all the user
need do is add a "do relax" instruction in the
command options and the code will
automatically attempt to relax the atomic positions to give zero forces.
The default units for the geometry relaxation section are Ry for energies
and bohr for distances.
Current constraints, important version notes:
 "end geometry" keyword required to end this section, new to version 2.53
 "frame " keyword new, added in version 2.54
 "vgfixM" keywords new, added in version 2.62
Input options
The geometry relaxation input section can appear anywhere in the
"run phase" section of the input file (as of v2.53), begins with the
"geometry relaxation" keyword and ends with the
"end geometry" keyword.
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 leftjustified, but all data input is freeformat.
 geometry relaxation  begin relaxation input section
 ...
 gsteps  maximum number of geometry steps
 n_step_g
 ghistory  max number of geometry steps to use in blend history
 n_hist_g
 no ges  (*)turns off dynamic SCF guessing,
reverts to overlapping spherical atom guess
(*) Moved to
run phase data section (2.61)
 gconv  force convergence criterion (Ry/bohr)
 force_conv
 gblend  initial update factor: R(2)=R(1)+gblend*F(1)
 gblend
 gmethod  specify relaxation method
 gmethod (BROYDEN, ASD, DMDAT, DAMPED, STEEPEST, ...)
 timestep  time step for dynamical relaxation schemes
 time_step
 gfixed  fix positions for sequence of atoms
about constraints
 start_atom end_atom (sequence to fix, inclusive)
 grelax  relax positions for sequence of atoms
about constraints
 start_atom end_atom (sequence to relax, inclusive)
 frame  constraint: fix atom I, vector IJ, plane IJK
about constraints
 fixed_atom vec_atom plane_atom

vgfixM  axisrelated constraints for atoms (new in 2.62)
about constraints
 num_fixed_atoms x_axis y_axis z_axis
(number of atoms bound by this constraint, and Cartesian axis)
fixed_atom(1) fixed_atom(2) ... fixed_atom(num_fixed_atoms)
(list of atoms bound by this constraint)
 M = "a": free motion along axis, no motion normal to axis
 M = "d": fix axisprojected distance between listed atoms, free inplane
 M = "p": no motion along axis vector, free inplane

bond  fix bond distance between two atoms (new in 2.68)
about constraints
 atom_1 atom_2

layers  slinky  relax interlayer spacings or atoms (new in 2.68)
about constraints
 num_layer_atoms x_axis y_axis z_axis
(number of atoms in layer stack, and Cartesian layer direction
atom_top atom_next ... atom_base
(list of layer atoms, in order, from top (surface) atom to base (deep) atom
 ...
 dynamics  invokes MD input section
 ... MD data input
 end dynamics  end of MD input section
 ...
 end geometry relaxation  end of relaxation input section
Applying constraints
During relaxation, the code will automatically enforce the requirement
that the atoms respect the symmetry specified in the setup phase.
Other constraints currently available in the code include:
 fix selected atoms in place and allow the rest to totally relax
 fix the frame of reference defined by three atoms
 fix selected atoms using a single type of axisbased constraint
It is not avaulable to apply more sophisticated constraints on the system.
For example, it is not possible to fix the CO bond distance for a CO
molecule otherwise free to relax when adsorbed on a metal slab.
To select sequences of atoms to be relaxed/fixedinplace, one can use:
 repeated invocations of gfixed
 repeated invocations of grelax
The gfixed and grelax constraints
cumulatively select out sequences of atoms to fix or relax, respectively.
These keywords take two numbers as their argument for each invocation.
To select one atom, input as a sequence of length one, i.e., enter the
atom number twice (e.g. "2 2" to select the second atom).
The keywords grelax and gfixed cannot be mixed in one input file!
Atom specification in these various constraints can either be by index within the list
(e.g., "1 4" will select the first through fourth atom in a geometry list),
or (as of 2.67) by the atom label within the list
(e.g., "AT0001 AT0029" will select the atom sequence from the atom labeled "AT0001"
through the atom labeled "AT0029", wherever those atom labels appear first in the list).)
This allows for more flexible selections of atom sequences that do not required counting.
Special names allow further flexibility in atom selection:
"FIRST" and "LAST" will specify, naturally, the first atom, and last atom in the geometry list (e.g. "AT0002 LAST" will select the atoms from AT0002 through the last atom inclusive),
provided that you have not already named an atom with "FIRST" or "LAST"
(in which case the code will use the labeled atoms instead).
Different sets of contraints modify how the relaxations are done:
either imposing more sophisticated constraints on the atomic positions,
or transforming the coordinate relaxations from simple Cartesian to more effective framces.
The frame keyword
can be useful for removing the artificial translational and rotational
degrees of freedom in a molecular calculation when doing a NEB calculation
(the artificial band forces of the NEB can couple to these spurious degrees
of freedom and cause problems).
The keyword requires three arguments:
fixed_atom vec_atom k_plane_atom.
This fixes the position of the first atom listed, fixed_atom,
constrains the position of atom vec_atom such that the
direction of the vector (R[J]R[I]) does not change,
and constrains the position of atom k_plane_atom such
that the plane defined by IJK does not change (if IJK is desired to
be linear, enter K as a negative number).
The vgfixM family of constraints
allow for some interesting manipulations of the atom positions in a relaxation.
These can be particularly useful in trapping semiconductor defect calculations in reduced symmetry configurations.
The bond constraint
does a very simplistic approach to fixing bond length between two atoms
The slinky  layer constraint
transforms from a relaxation of atoms using Cartesian positions and forces,
into a relaxation of interlayer spacings between atoms.
This can be very useful for slab surface relaxations, eliminating the "caterpillar" effect that slows convergence.
The layers are indicated by the order of the atoms, be sure to start from top slab layer, to deep layer.
All these constraints must occur after all gfixedgrelax invocations are completed.
Multiple constraints can be chosen.
The code does check that the sets of atoms affected in multiple invocations of different constraints
are completely disjoint, so as to avoid conflicts.
Important :
The code does not check whether constraints
( gfixed, grelax, frame, vgfixM, etc )
are compatible with the symmetry specified in the input.
If your constraints are incompatible with the symmetry (or with each other),
then when the code completes the first force calculation and attempts a geometry update,
it will stop the calculation when it discovers the (constrained) update violates symmetry.
Relaxation methods
The default relaxation method is BROYDEN. This is the modified
Broyden scheme due to D.D. Johnson, [Phys. Rev. B 38,12807 (1988)].
This works very well when one is within a basin that has wellbehaved second
derivatives, but fails (badly) outside of its radius of convergence.
The damped dynamics scheme originated by Hannes Jonsson is implemented
in DAMPED, but is not recommended for use in Quest calculations.
The forcecoordinate damping leads to orientationdependent trajectories and
trajectories that can (and will) violate symmetry. DMDAT modifies this to
use the atomic forcevector, and makes the trajectory independent of system
orientation, and thereby conserves symmetry.
However, the recommended method for relaxation when BROYDEN fails is ASD.
The Accelerated Steepest Descent method (P.A. Schultz, unpublished)
is a very robust and remarkably effective geometry minimizer.
Troubleshooting
 The geometry relaxation violated symmetry on the first update step.
 Check that constraints imposed on atomic relaxation are
consistent with the symmetry.
 The geometry "blew up" on the first relaxation update step.
 Reduce: gblend, if doing Broyden; timestep, if doing a dynamical relax.
The gblend/timestep factors for minimization usually work best when
between 0.5 and 6.0, and the smaller these factors, the shorter the
first jump.
 During Broyden, my relaxation "blew up" or violated symmetry.
 If you are not in a potential well, the second derivative matrix might
be illbehaved and Broyden will fail. Switch to the ASD method until
in a basin (forces getting smaller and energy getting lower).
 Using ASD (or damped dynamics), the geometry update violated symmetry.
 Numerical noise  one atom of symmetrically related set of atoms got
damped but others did not. Start geometry relaxation again with the
last good geometry.
 Geometry relax will not converge (with Broyden, esp), and is in a well.
 Numerical noise  the convergence criterion might be smaller than the
inaccuracy in the computed forces. Either increase force convergence
criterion, or use a denser grid (to get more accurate forces).
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: June 27, 2018