Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 2.13 KB

README.md

File metadata and controls

51 lines (36 loc) · 2.13 KB

AtomsBuilder

Build Status

This package provides utilities to build atomic structures. At the moment the functionality is very limited - see examples below.

Preliminary Documentation

Currently there are just two exported functions:

  • bulk
  • rattle! In addition we overload
  • repeat (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.

Contributions

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