Element: relax
The element relax activates the optimization of atomic positions at fixed lattice parameters.
Type: | no content |
XPath: | /input/relax |
This element allows for specification of the following attributes: addtohistory, endbfgs, epsforce, history, historyformat, maxbfgs, maxsteps, method, outputlevel, printtorque, taubfgs, taunewton
Attribute: addtohistory
If history is "true", this switch allows newly computed optimization steps to be appended to a previously generated history file.
Type: | boolean |
Default: | "false" |
Use: | optional |
XPath: | /input/relax/@addtohistory |
Attribute: endbfgs
When using the "bfgs" method, specifies the method employed for the relaxation if the "bfgs" scheme fails to converge.
- "newton" - Simple (Newton-like) method, see also method.
- "harmonic" - Method based on the combination of the "newton" method and the harmonic approximation, see also method.
- "stop" - Stops the "bfgs" optimization procedure at the last accepted configuration.
Type: | string |
Default: | "harmonic" |
Use: | optional |
XPath: | /input/relax/@endbfgs |
Attribute: epsforce
The optimization stops when the maximum amplitude of the force acting on the atoms is lower then the value specified by epsforce. Notice that, in particular for the "bfgs" method, high accuracy in the calculated forces requires high accuracy in the calculated total energy (see the attribute epsengy of the groundstate element).
Type: | fortrandouble |
Default: | "2.0d-4" |
Use: | optional |
XPath: | /input/relax/@epsforce |
Attribute: history
If "true" the atomic configuration at each relaxation step is written in a history file which is generated in one of the formats specified in historyformat.
Type: | boolean |
Default: | "false" |
Use: | optional |
XPath: | /input/relax/@history |
Attribute: historyformat
If history is "true", the history file, containig atomic configurations at each optimization step, is generated in one of the following formats:
- "xyz" molecular format. The first line of this file the total number of atoms. The second line is a comment line with total energy in eV. Finally, starting from line three, one finds atomic species, cartesian coordinates in Angstrom, and forces in eV/Angstrom. This format is repeated for each optimization step.
- "gulp" format, which is useful to visualize crystal structure changes using the GDIS program.
Type: | string |
Default: | "xyz" |
Use: | optional |
XPath: | /input/relax/@historyformat |
Attribute: maxbfgs
Maximum number of atomic configurations that can be investigated in a single "bfgs" optimization step.
Type: | integer |
Default: | "5" |
Use: | optional |
XPath: | /input/relax/@maxbfgs |
Attribute: maxsteps
Maximum number of optimization steps.
Type: | integer |
Default: | "200" |
Use: | optional |
XPath: | /input/relax/@maxsteps |
Attribute: method
Specify the method used for atomic relaxation:
- "newton" - Simple (Newton-like) method. At each step $m$ of a structural optimization run, the atom $\alpha$ is displaced according to
i.e., the magnitude of the displacement at the step $m$ is proportional to $\tau_{\alpha}^{(m)}$. For the initial step, $\tau_{\alpha}^{(0)}$ is set to taunewton. If the forces of two subsequent optimization steps have the same sign, $\tau_{\alpha}^{(m)}$ is increased by $\tau_{\alpha}^{(0)}$. Otherwise, $\tau_{\alpha}^{(m)}$ is reset to $\tau_{\alpha}^{(0)}$.
- "harmonic" - Method based on the combination of the "newton" method and the harmonic approximation. Contrary to "newton", all cartesian components of the position vector of each atom are treated independently. At the optimization step $m$, each cartesian component of the position vector of each atom is updated using the same algorithm as in "newton" (newton step") unless the harmonic condition", either
or
(3)is fulfilled. In this case (``harmonic step"), atomic positions are updated according to
(4)The "harmonic" method is of general validity and it is particularly efficient when the atomic configuration is close to the optimized one and the internal degrees of freedom are weakly coupled.
- "bfgs" - Limited memory algorithm for bound constrained optimization, see Byrd, et al., SIAM J. Scientific Computing 16, 1190 (1995). This method requires high accuracy for the determination of the total energy in dependence of the maximum allowed for the residual atomic force. For this reason, the default value of the attribute epsengy is decreased in order to be at least equal to the value of the attribute epsforce of the relax element multiplied by a factor 0.02.
Type: | string |
Default: | "bfgs" |
Use: | optional |
XPath: | /input/relax/@method |
Attribute: outputlevel
Specify the amount of information which is printed to output files:
- "low" - Minimal output is produced. For each optimization steps, the main output file "INFO.OUT" contains information on the number of SCF cicles performed, the value of the maximum force acting on the atoms, and the calculated total energy.
- "normal" - (default) Standard information. In addition to the output level "low", the atomic configuration (in lattice coordinates) and the total forces (in cartesian coordinates) acting on the atoms are also given. If a constrained optimization is performed, the constrained (unconstrained) cartesian components of each atom are labeled by "T" ("F").
- "high" - Detailed output. In addition to the output level "normal", partial charges and the different force contributions are also specified.
Type: | choose from: low normal high |
Default: | "normal" |
Use: | optional |
XPath: | /input/relax/@outputlevel |
Attribute: printtorque
If "true" the total torque with respect to cartesian axes with origin in the center of mass is written on the output file INFO.OUT. This option is useful when dealing with isolated molecules when checking if the molecule is rotating as a whole during the optimization. If printtorque is set to "true" the cartesian coordinates of the center of mass are also written. Notice that the definition of a center of mass is unique only for isolated molecules.
Type: | boolean |
Default: | "false" |
Use: | optional |
XPath: | /input/relax/@printtorque |
Attribute: taubfgs
Maximum atomic displacement for atomic relaxation when using the "bfgs" method. At each optimization step, the optimized value of each cartesian coordinate of each atom is searched in a range of size $2\tau_{\tt BFGS}$ centered at the actual value of the coordinate.
Type: | fortrandouble |
Default: | "0.5d0" |
Use: | optional |
XPath: | /input/relax/@taubfgs |
Attribute: taunewton
Parameter determining the initial amplitude of atomic displacement for the "newton" method of atomic relaxation.
Type: | fortrandouble |
Default: | "0.2d0" |
Use: | optional |
XPath: | /input/relax/@taunewton |
Reused Elements
The following elements can occur more than once in the input file. There for they are listed separately.
Data Types
The Input definition uses derived data types. These are described here.