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 force-elimination,
enforcing all user-specified 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 left-justified, but all data input is free-format.
- 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
- only relax - about constraints
- n_atom (first n_atom if n_atom>0, last |n_atom| else)
- gfixed - fix positions for sequence of atoms
about constraints
- i_start_atom j_end_atom (sequence to fix, inclusive)
- grelax - relax positions for sequence of atoms
about constraints
- i_start_atom j_end_atom (sequence to relax, inclusive)
- frame - constraint: fix atom I, vector I-J, plane I-J-K
about constraints
- i_fix_atom j_vec_atom k_plane_atom
-
vgfixM - axis-related constraints for atoms (new in 2.62)
about constraints
- M = "a": free motion along axis, no motion normal to axis
- M = "d": fix axis-projected distance between listed atoms, free in-plane
- M = "p": no motion along axis vector, free in-plane
- num_fixed_atoms x_axis y_axis z_axis
(number of atoms bound within this constraint and Cartesian axis)
i_fix_atom(1),i_fix_atom(2), ... , i_fix_atom(num_fixed_atoms)
(list of atoms bound by this constraint)
- ...
- 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 enforce the requirement that the atoms
respect the symmetry specified in the setup phase.
The only other constraints currently available in the code
are to fix selected atoms in place and allow the rest to totally relax,
or to fix the frame of reference defined by three atoms. It is not
possible to apply more sophisticated constraints on the system.
For example, it is not possible to fix the C-O bond distance for a CO
molecule otherwise free to relax when adsorbed on a metal slab. There are
four mutually exclusive means to segregate the atoms to be fixed/relaxed.
- only relax n_atom, n_atom > 0
Relaxes the first n_atom atoms, and fixes the others in place
- only relax n_atom, n_atom < 0
Relaxes the last |n_atom| atoms, and fixes the others in place
For atom lists not so conveniently ordered so that only relax
can be used, 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 different keywords grelax, gfixed, and only relax
cannot be mixed in one input file!
Another set of constraints is possible to impose on the atomic
configuration, given by the frame keyword.
The keyword requires three arguments:
i_fix_atom, j_vec_atom, k_plane_atom.
This fixes the position of the first atom listed, i_fix_atom,
constrains the position of atom j_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 I-J-K does not change (if I-J-K is desired to
be linear, enter K as a negative number).
This 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 vgfixM family of constraints allow for some interesting
and useful manipulations of the atom positions in a relaxation.
However, the implementation is ad hoc, requiring care in their use:
- A vgfixM constraint must be specified after all other constraints in the input.
- There can be only one invocation of a vgfixM constraint in an input.
These limitations will be lifted when this feature is matured,
but the constraint can be so useful that it is offered even though unpolished.
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,
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 well-behaved 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 force-coordinate damping leads to orientation-dependent trajectories and
trajectories that can (and will) violate symmetry. DMDAT modifies this to
use the atomic force-vector, 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 ill-behaved 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: March 15, 2011