atomsk --create <lattice> <a0> [<c0>] <sp1> [<sp2> <sp3>...] [orient (hkl)X (hkl)Y (hkl)Z] <outputfile> [<formats>] [options]
atomsk -C <lattice> <a0> [<c0>] <sp1> [<sp2> <sp3>...] [orient (hkl)X (hkl)Y (hkl)Z] [options] [<formats>] <outputfile>
Special syntax for nanotubes:
atomsk -C nanotube <a0> <m> <n> <sp1> [<sp2>] [options] [<formats>] <outputfile>
This mode allows to create an atomic structure from scratch. For now, only a small number of very basic lattices can be created (see table below). By default the base vectors of the cubic systems created are X=[100], Y=[010] and Z=[001], but that can be changed (see below). For non-cubic systems, other orientations are not implemented yet.
The parameters associated with the create
mode are:
The table below shows the acceptable entries for <lattice>, and the corresponding number of lattice constants and atom species that must be specified. For bcc lattice, entering two atom species will produce an interpenetrating simple cubic (aka "caesium chloride") lattice. For fcc lattice, entering two atom species will create an alloy of the two elements. For diamond lattice, entering two species will create a zincblende lattice; for zincblende, entering only one species will create a diamond lattice.
lattice | Lattice constants | Atom species | |
---|---|---|---|
Simple cubic | sc | 1 | 1 |
Body-centered cubic | bcc | 1 | 1 or 2 |
Face-centered cubic | fcc | 1 | 1 or 2 |
L12 cubic | L12 | 1 | 2 |
Diamond/zincblende | diamond, dia zincblende, zb | 1 | 1 or 2 |
Cubic rock-salt | rocksalt | 1 | 2 |
Cubic perovskite | perovskite, per | 1 | 3 |
Hexagonal close-packed | hcp | 2 (a and c) | 1 or 2 |
Wurtzite | wurtzite, wz | 2 (a and c) | 2 |
Graphite | graphite | 2 (a and c) | 1 or 2 |
Nanotube | nanotube, NT | 1 + m,n | 1 or 2 |
Unit cells of cubic systems can be created with a given crystallographic orientation, if the keyword "orient
" is appened after the atom species and is followed by the Miller indices hkl of the lattice in each cartesian direction X, Y and Z (see how to specify Miller indices). Note that the keyword "orient
" must always appear immediately after the atom species, and should not be mistaken with the option -orient
.
For creating a nanotube one has to specify one lattice parameter (that corresponds to the first neighbours distance), followed by the chiral indices m and n which must be integers. The unit cell of a nanotube is defined unambiguously only along the nanotube, which is along the Z axis here. In the other directions, Atomsk defines the lattice so that periodic replica form an hexagonal pattern as it is observed experimentally. You can tune the distance between periodic replica by changing the cell parameters. Note that the center of the nanotube is at (0,0) so it is easy to create multiwall nanotubes (create several nanotubes and merge them).
The name of the <outputfile> can be specified either before or after the mode. If no output file is specified but only output format(s) then the output file(s) will be named after the atom species.
If you use this mode with one or several options, then they will apply to the created system.
Beware that the system you create with this mode is not relaxed nor optimized.
atomsk --create fcc 4.02 Al al_system.cfg
This will create a unit cell of fcc aluminium (lattice parameter=4.02 Å), and write atom positions in the file al_system.cfg
.
atomsk --create fcc 4.02 Al orient [0-11] [100] [011] -duplicate 40 30 30 al_supercell.cfg lmp
This example shows how to create an oriented unit cell. This will create a unit cell of fcc aluminium with the crystallographic orientation X=[011], Y=[100], Z=[011], duplicate it to form a 40x30x30 supercell, and write the final result into the file al_supercell.cfg
and al_supercell.lmp
.
atomsk --create fcc 3.6 Cu Ni cuni_alloy.xsf
This will create a unit cell of fcc copper-nickel alloy and write it in the file cuni_alloy.xsf
.
atomsk --create bcc 2.85 Fe orient [121] [-101] [1-11] xsf cfg
This command will generate a unit cell of bcc iron with the crystallographic orientation X=[121], Y=[101], Z=[111], and write the result to Fe.xsf
and Fe.cfg
.
atomsk --create rocksalt 4.213 Mg O cfg xsf
This will create a unit cell magnesium oxide (rocksalt lattice), and write it in the files MgO.cfg
and MgO.xsf
.
atomsk --create diamond 3.567 C diamond.cfg xsf
This will create a unit cell diamond, and write it in the files diamond.cfg
and diamond.xsf
.
atomsk -C zb 5.65 Ga As gaas.cfg
This will create a unit cell of gallium arsenide (zincblende lattice), and write it in the file gaas.cfg
.
atomsk xsf gin --create perovskite 3.86 Sr Ti O
This will create a unit cell of cubic strontium titanate (lattice parameter=3.86 Å), and write it in the files SrTiO.xsf
and SrTiO.gin
.
atomsk -C per 3.86 Sr Ti O orient [001] [110] [1-10] -duplicate 30 20 1 sto.xsf
This example uses the duplicate option. It will create a unit cell of cubic strontium titanate oriented X=[001], Y=[110], Z=[110], and then duplicate it to form a 30x20x1 supercell. The final result will be output in the file sto.xsf
.
atomsk bn.xsf -C graphite 2.5 3.6 B N
This example will create a unit cell of hexagonal boron nitride (which has the same lattice as graphite), with a=2.5 Å and c=3.6 Å. The final result will be output in the file bn.xsf
.
atomsk -C nanotube 2.5 8 8 C nanotube.xsf cfg
This will create a carbon nanotube of armchair type with chiral indices (8,8). The final result will be output in the files nanotube.xsf
and nanotube.cfg
.
atomsk -C nanotube 2.8 10 0 B N xsf
This will create a boron nitride nanotube of zigzag type with chiral indices (10,0). The final result will be output in the file BN.xsf
.
You may also want to look at the scripts in the "examples" folder provided with the program. The folder "Al_supercell
" contains a bash script showing how to create an aluminum system with two surface steps. The folder "Si_supercell
" shows how to generate a crystal of aluminum with a particular orientation and a surface step.