Vacuum Adjustment and c2x
Crystalline periodic systems can be converted between different unti cells and supercells by c2x. However, sometimes one simply wishes to expand (or contract, or add) a vacuum region in a cell as one models something which lacks periodicity in all three dimensions. This can also be done with c2x, assuming that the vacuum region is at a fractional co-ordinate of zero.
This functionality was introduced in c2x 2.30.
Operation on isolated molecules
Elsewhere there is an example of ethene in an 8x8x7 Angstrom box. Suppose one wanted it in a 10x10x10 Angstrom box instead.
$ c2x -Xabc=10 --cell_abs ethene.cell | cat %block LATTICE_CART ang 10.0000000 0.0000000 0.0000000 0.0000000 10.0000000 0.0000000 0.0000000 0.0000000 10.0000000 %endblock LATTICE_CART %block POSITIONS_ABS ang C 5.698560000 5.000000000 5.000000000 C 4.301440000 5.000000000 5.000000000 H 6.270880000 5.923920000 5.000000000 H 3.729120000 4.076080000 5.000000000 H 3.729120000 5.923920000 5.000000000 H 6.270880000 4.076080000 5.000000000 %endblock POSITIONS_ABS KPOINT_MP_GRID 1 1 1 KPOINT_MP_OFFSET 0.250000000 0.250000000 0.250000000
Note that the molecule remains at the centre of the cell.
One can restore the original cell with:
$ c2x -Xab=8 -Xc=7 --cell_abs new.cell org.cell
Axes not specified are left unchanged. Cell contents are moved by half as much as the lattice vectors, so what was central remains central. The length may be suffixed with "B" for Bohr, and "nm" for nanometres.
Operation on, and creation of, surfaces
Using the example from the periodic cell manipulation page, one can simply stack unit cells and add vacuum. Starting with a small Si cell of:
%block LATTICE_CART 3.860803 -0.000000 0.000000 1.930402 3.343553 0.000000 0.000000 0.000000 9.456997 %endblock LATTICE_CART %block POSITIONS_FRAC Si 0.000000 0.000000 0.000000 Si 0.000000 0.000000 0.250000 Si 0.666667 0.666667 0.333333 Si 0.666667 0.666667 0.583333 Si 0.333333 0.333333 0.666667 Si 0.333333 0.333333 0.916667 %endblock POSITIONS_FRAC
one can double the number of layers along the c axis, and then expand the c axis to 30A by adding vacuum, as follows:
c2x -x=1x1x2 -Xc=30 --cell si6rr.cell si_surf.cell
The vacuum will be added at a fractional co-ordinate of -ε, i.e. an atom with a fractional co-ordinate of zero or greater will be moved away from one with a negative fractional co-ordinate.
If one then simply wanted to decrease the vacuum in this new cell by a couple of Angstrom, then:
c2x -Xc=28 --cell si_surf.cell si_surf_small.cell
does so.