Atomsk.jl Documentation
About
Atomsk.jl is a julia wrapper around the Atomsk software developed by Pierre Hirel at the University of Lille, France. Atomsk is able to generate many different types of atomic configurations for use in simulations. Full documentation can be found here.
Installation
Atomsk.jl is registered in the Julia general registry and can be installed by running in the REPL package manager (]):
add Atomsk
API
There are two types of methods implemented from Atomsk, Modes and Options. Modes generally deal with the creation of atomic configurations, while Options modify an existing configuration.
Modes
There are two modes available, create
and polycrystal
.
Atomsk.create
— Functioncreate(lattConst, structType, species, NT_mn, millerIndices)
Create an atomic configurations. Lattice constants are a vector of 3 Float64s, structure type is a string of the type of configuration (e.g. fcc, bcc, etc.), species is vector of strings that gives the element name of the atoms (e.g. ["Cs","Cl"], NT_mn gives the m
and n
integers if a nanotube is selected, and Miller indices are vectors of integers that define the orientation of the system.
Atomsk.polycrystal
— Functionpolycrystal(seed, box, nodes)
Create a polycrystal. The seed is a Configuration object (both the polycrystal and create functions return Configuration objects) that defines the the basis of all grains. The box is a vector of 3 integers that bounds the polycrystal, and the nodes give the locations and orientations of all grains in the polycrystal.
Options
With the exception of options
and properties
, all of the Options listed in the Atomsk documentation are implemented. These function names are the Option names without any dashes (e.g. -add-atom
becomes addatom(args...)
. Arguments can be passed in any form as they are converted to strings when passed to the Atomsk program. All arguments are stripped of strings and spaces. This allows Miller indices to be passed in as integer arrays (e.g. [1,1,1] becomes [111]).