WIEN2k-FAQ: Construction of supercells
©1997-1999 by P. Blaha, K. Schwarz and J. Luitz
For most (simple) supercells you can start with the regular case.struct
file and use the "supercell" program (x supercell) to generate the
For more complicated cases we also provide an octave-based program
"structeditor", which is a very powerful and flexible tool to manipulate
strcutures (for more info read the UG).
However, when you construct supercells, it is usually NOT possible just to double
the cells and leave all atoms at their ideal and equivalent positions.
This would lead to large multiplicities (e.g. in big supercells even more
than 48 atoms could be "equivalent" and of course there is NO SPACEGROUP
corresponding to this type of cell, since they all can be reduced by
So during setup, you have at least to:
Then run init_lapw
- displace (at least one) atoms, or
- change one of the atoms to a different type (usually you do
supercells for impurities,... so put the impurity into the cell), or
- set at least for one atom-name a special label (A label means an name like
"Cr1", "Cr2" or "O 4", where in the 3rd position is a number. This indicates to
WIEN2k that these atoms should be non-equivalent.).
Note, that WIEN always preserves symmetry. So when you want to allow
certain relaxations around an impurity, it might be necessary to displace
some atoms by hand to break the high symmetry and allow such relaxations.
- nn and sgroup determine which atoms are still equivalent
(if nn does not agree with sgroup in the first place, you may have to "label"
non-equivalent atoms (see above). If you now rerun
nn, you may get another (better) list of non-equivalent positions.
- symmetry: determines proper symmetry operations and rot.matrices,...
- Check if your case.inst file is still valid (when the number of
non-equivalent atoms has changed, probably not). Generate a proper case.inst
file (either using "instgen_lapw" or simply by deleting case.inst) and rerun init_lapw.