-roll <direction> <θ> <axis>
This option allows to "roll" the system, i.e. bend it in the form of a circle, around a Cartesian axis.
The user must provide the following parameters:
With this option, the <direction> is rolled by an angle θ around the given <axis>.
An angle θ=0° means no bending (i.e. no transformation), while θ=360° means rolling the system to form a tube or cylinder (see Fig. 1 below). The axis of the tube is aligned with the given <axis>, and its radius is R=(180 L)/(2πθ), where L is the length of the box along the given <direction>. Beware that the larger the angle θ, the smaller the radius. For large angles it is recommended that the system is pseudo-2D, i.e. very thin, in the plane formed by the <direction> and the <axis>.
This option modifies the box dimensions. Along the Cartesian direction that is normal to both the <direction> and <axis>, the box dimension is increased by R[1-cos(θ)] so that the rolled system fits in the box.
Note that if you give an angle θ larger than 360°, the system will be rolled more than once, resulting in some atoms to overlap.
If a selection was defined (with the option -select
) then only the selected atoms are rolled.
Fig. 1 - Illustration of the option "-roll", with <direction>=X and <axis>=Z. Left: initial system. Middle: system bent with a small angle θ. Right: system rolled all the way with an angle θ=360°.
By default the system is not rolled.
atomsk initial.cfg -roll X 10 Z final.xyz
This will bend the system to form an angle of 10 degrees around Z.
atomsk unitcell.cfg -duplicate 20 20 1 -roll X 360 Y final.xyz
This will read the file unitcell.cfg
, duplicate it to form a pseudo-2D sheet in the XY plane, and roll the X direction of the system so that it forms a closed cylinder along the Y axis.