CrystallographyBase.MetricTensorMethod
MetricTensor(𝐚::AbstractVector, 𝐛::AbstractVector, 𝐜::AbstractVector)

Generate a MetricTensor from the three basis vectors.

CrystallographyBase.MonkhorstPackGridType
MonkhorstPackGrid(mesh, is_shift)

Represent the Monkhorst–Pack grid.

Arguments

  • mesh: A length-three vector specifying the k-point grid ($nk_1 × nk_2 × nk_3$) as in Monkhorst–Pack grids.
  • is_shift: A length-three vector specifying whether the grid is displaced by half a grid step in the corresponding directions.
CrystallographyCore.LatticeMethod
Lattice(a, b, c, α, β, γ; axis = :a)

Construct a Lattice from the six cell parameters.

The default convention we used here is that edge vector 𝐚 in the positive x-axis direction, edge vector 𝐛 in the x-y plane with a positive y-axis component, and edge vector 𝐜 with a positive z-axis component in the Cartesian system. See Wikipedia. You can also choose axis = :c.

CrystallographyBase.crystaldensityMethod
crystaldensity(lattice::Lattice, atoms)
crystaldensity(cell::Cell)

Calculate the density of a crystal structure.

Here, atoms is an iterable of atomic numbers, element names, symbols, or Mendeleev.Elements. You can extend the atomicmass method to work with custom types.

CrystallographyBase.distanceMethod
distance(𝐚::ReducedCoordinates, 𝐛::ReducedCoordinates, g::MetricTensor)

Get the distance between two atomic coordinates.

CrystallographyBase.islefthandedMethod
islefthanded(lattice::Lattice)

Test whether the basis vectors are defined to be left-handed.

The basis vectors are left-handed if and only if

\[\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}) < 0.\]

CrystallographyBase.isrighthandedMethod
isrighthanded(lattice::Lattice)

Test whether the basis vectors are defined to be right-handed.

The basis vectors are right-handed if and only if

\[\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}) > 0.\]

CrystallographyBase.superMethod
super(cell::Cell, factors::AbstractMatrix{<:Integer})
super(cell::Cell, factors::AbstractVector{<:Integer})
super(cell::Cell, factor::Integer)

Create a supercell from cell.

Note

Currently, only integral replications are supported.

CrystallographyBase.superMethod
super(lattice::Lattice, factors::AbstractMatrix{<:Integer})
super(lattice::Lattice, factors::AbstractVector{<:Integer})
super(lattice::Lattice, factor::Integer)

Create a supercell from lattice.