The sgeom executable is a tool for reading and transforming general coordinate formats to other formats, or alter them.
For a short help description of the possible uses do:
Here we list a few of the most frequent used commands.
The simplest usage is transforming from one format to another format. sgeom takes at least two mandatory arguments, the first being the input file format, and the second (and any third + argumets) the output file formats
sgeom <in> <out> [<out2>] [[<out3>] ...]
Hence to convert from an fdf Siesta input file to an xyz file for plotting in a GUI program one can do this:
sgeom RUN.fdf RUN.xyz
RUN.xyz file will be created.
Remark that the input file must be the first argument of sgeom.
A great deal of different file formats are available. For details please see
sisl.io for a list of all implemented data-files. Any file that implements
write_geometry methods will be usable by sgeom.
More advanced features are represented here.
The sgeom utility enables highly advanced creation of several geometry structures by invocing the arguments in order.
I.e. if one performs:
sgeom <in> --repeat 3 x repx3.xyz --repeat 3 y repx3_repy3.xyz
<in>, repeat the geometry 3 times along the first unit-cell
vector, store the resulting geometry in
repx3.xyz. Subsequently it will repeat
the already repeated structure 3 times along the second unit-cell vector and store
3x3 repeated structure as
One may use periodicity to create larger structures from a simpler structure. This is useful for creating larger bulk structures. To repeat a structure do
sgeom <in> --repeat <int> [ax|yb|zc] <out>
which repeats the structure one atom at a time,
<int> times, in the corresponding direction.
a correspond to the same cell direction (the first).
To repeat the structure in chunks one can use the
sgeom <in> --tile <int> [ax|yb|zc] <out>
which results in the same structure as
--repeat however with different atomic ordering.
Both tiling and repeating have the shorter variants:
sgeom <in> -t[xyz] <int> -r[xyz] <int>
to ease the commands.
To repeat a structure 4 times along the x cell direction:
sgeom RUN.fdf --repeat 4 x RUN4x.fdf sgeom RUN.fdf --repeat-x 4 RUN4x.fdf sgeom RUN.fdf --tile 4 x RUN4x.fdf sgeom RUN.fdf --tile-x 4 RUN4x.fdf
where all the above yields the same structure, albeit with different orderings.
To rotate the structure around certain cell directions one can do:
sgeom <in> --rotate <angle> [ax|yb|zc] <out>
which rotates the structure around the origin with a normal vector along the
specified cell direction. The input angle is in degrees and not in radians.
If one wish to use radians append an
r in the angle specification.
Again there are shorthand commands:
sgeom <in> -R[xyz] <angle>
Combining command line arguments
All command line options may be used together. However, one should be aware that the order of the command lines determine the order of operations.
If one starts by repeating the structure, then rotate it, then shift the structure, it will be different from, shift the structure, then rotate, then repeat.
Be also aware that outputting structures are done at the time in the command line order. This means one can store the intermediate steps while performing the entire operation:
sgeom <in> --rotate <angle> --out <rotated> -tx 2 --out <rotate-tile-x> --ty 2 --out <rotate-tile-y>