This package provides utilities to build atomic structures. At the moment the functionality is very limited - see examples below.
Currently there are just two exported functions:
bulk
rattle!
In addition we overloadrepeat
(with alias*
)
using AtomsBuilder
# generate a diamond cubic bulk Si unit cell
at1 = bulk(:Si)
@show length(at1)
# generate a minimal cubic Si cell (diamond cubic)
at2 = bulk(:Si, cubic=true)
@show length(at2)
# repeat the cell 3 times in each coordinate direction
at3 = at2 * 3
@show length(at3)
# repeat the unit cell in only one direction
at4 = at2 * (3, 1, 1)
@show length(at3)
# create a bulk supercell and then rattle the atoms
at5 = rattle!( bulk(:Si, cubic=true) * 3 )
See ?bulk
and ?rattle!
for more information.
The current version of the package is essentially a copy-paste of a subset of functionality from an older package that is no longer developed. I needed this functionality to starting moving over my workflow to the AtomsBase eco-system. Contributions to expand the capabilities, improve the implementation, or entirely replace it are very welcome. There are most certainly more general and more elegant implementations available than what I provide. Some packages that contain overlapping functionalities that could replace or add to AtomsBuilder.jl
include