Examples
Create a unit cell object.
julia> unit_cell = OrthorhombicUnitCell(2, 3, 4; centering=body_centering) OrthorhombicUnitCell((a = 2, b = 3, c = 4), UnitCellSymmetry(BodyCentering(), Set{SymmetryElement}()))Compute basic unit cell attributes.
julia> volume(unit_cell) 24 julia> surface_area(unit_cell) 52 julia> basis(unit_cell) ([2.0, 0.0, 0.0], [0.0, 3.0, 0.0], [0.0, 0.0, 4.0])Standardize the lattice constants for a unit cell to be consistent with IUCr conventions.
julia> unit_cell = OrthorhombicUnitCell(4, 2, 3; centering=primitive_centering) OrthorhombicUnitCell((a = 4, b = 2, c = 3), UnitCellSymmetry(PrimitiveCentering(), Set{SymmetryElement}())) julia> standardize(unit_cell) OrthorhombicUnitCell((a = 2, b = 3, c = 4), UnitCellSymmetry(PrimitiveCentering(), Set{SymmetryElement}()))Compute the Delaunay reduced cell for a unit cell.
julia> unit_cell = CubicUnitCell(4; centering=face_centering) CubicUnitCell((a = 4,), UnitCellSymmetry(FaceCentering(), Set{SymmetryElement}())) julia> r_cell = reduced_cell(unit_cell) TriclinicUnitCell((a = 2.8284271247461903, b = 2.8284271247461903, c = 2.8284271247461903, α = 1.0471975511965974, β = 1.0471975511965974, γ = 1.5707963267948966), UnitCellSymmetry(PrimitiveCentering(), Set{SymmetryElement}()))Compute the conventional cell for a unit cell.
julia> conventional_cell(r_cell) CubicUnitCell((a = 3.9999999999999982,), UnitCellSymmetry(FaceCentering(), Set{SymmetryElement}()))