# Structural relaxation {#sec:si_tuto_sr}

In this section, I demonstrate how to perform structural relaxation.
Let's begin by copying the following input file and saving it to a text
file named `si_relax.txt`.

``` shell
info.calculationType = 'relaxation'
info.savepath = 'results/si_relax';
atom.element = [1 1]
atom.xyz = 10.25*[0.0 0.0 0.0;0.22 0.25 0.25]
domain.latvec = 10.25*[0.0 0.5 0.5;0.5 0.0 0.5;0.5 0.5 0.0]
domain.lowres = 0.4
element.species = 'si'
element.path = './Si_TM_LDA.mat'
kpoint.gridn = [3,3,3]
```

Then pass it to RESCU and execute the program as follows

``` shell
rescu -i si_relax.txt;
```

Note that the second atom has been displaced by 0.3 Bohr in the
x-direction in the definition of `atom.xyz`. RESCU searches the ionic
equilibrium position when `info.calculationType` is set to `relaxation`.
By default RESCU relaxes all atoms except the first one in a periodic
system. You can control which atom is moved with the keyword
`sr.moveableAtomList`. For example, `sr.moveableAtomList = [19,20]` will
relax the 19$^\text{th}$ and 20$^\text{th}$ atoms. RESCU automatically
creates the file `relaxationprocess.txt`, which allows you to monitor
the current trial ionic positions and residual forces. The final ionic
positions are saved in `relaxedstructure.xyz`. With the default
parameters, the equilibrium position of atom #2 is found to be \[2.56250
2.56251 2.56251\].
