# 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

**element).**

`groundstate`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 attributeis decreased in order to be at least equal to the value of the attribute`epsengy`of the`epsforce`element multiplied by a factor`relax``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: |
"5.0d0" |

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.