radtools.BCC#
- class radtools.BCC(a: float = None, cell=None, eps_rel=1e-05)[source]#
Body-centered cubic (BCC, cI)
Conventional lattice:
\[ \begin{align}\begin{aligned}\boldsymbol{a}_1 = (a, 0, 0)\\\boldsymbol{a}_2 = (0, a, 0)\\\boldsymbol{a}_3 = (0, 0, a)\end{aligned}\end{align} \]Primitive lattice:
\[ \begin{align}\begin{aligned}\boldsymbol{a}_1 = (-a/2, a/2, a/2)\\\boldsymbol{a}_2 = (a/2, -a/2, a/2)\\\boldsymbol{a}_3 = (a/2, a/2, -a/2)\end{aligned}\end{align} \]See also
Body-centered cubic (BCC) for more information.
- Parameters:
- afloat, optional
Length of the lattice vector of the conventional lattice.
- cell(3,3) array-like, optional
Primitive cell matrix, rows are interpreted as vectors.
cell = [[a1_x, a1_y, a1_z], [a2_x, a2_y, a2_z], [a3_x, a3_y, a3_z]]
- eps_relfloat, default 1e-5
Relative epsilon as defined in [1].
- Attributes:
- conv_afloat
Length of the lattice vector of the conventional lattice.
- conv_cell(3,3) numpy.ndarray
Conventional unit cell.
conv_cell = [[a_x, a_y, a_z], [b_x, b_y, b_z], [c_x, c_y, c_z]]
References
[1]Grosse-Kunstleve, R.W., Sauter, N.K. and Adams, P.D., 2004. Numerically stable algorithms for the computation of reduced unit cells. Acta Crystallographica Section A: Foundations of Crystallography, 60(1), pp.1-6.
Methods:
add_kpoint(name, coordinates[, plot_name])Add named kpoint to the lattice.
clear()Clear the axis.
get_kpoints([n])Getter for the instance of
Kpoints.identify()Identify the Bravais lattice type.
lattice_points([relative, reciprocal, normalize])Compute lattice points
legend(**kwargs)Add legend to the figure.
plot([kind, ax])Main plotting function of the Lattice.
plot_brillouin([ax, vectors, colour, label, ...])Plot brillouin zone.
plot_brillouin_kpath([zone_colour, path_colour])Plot brillouin zone and kpath.
plot_conventional(**kwargs)Plot conventional unit cell.
plot_kpath([ax, colour, label, normalize])Plot k path in the reciprocal space.
plot_primitive(**kwargs)Plot primitive unit cell.
plot_real_space([ax, vectors, colour, ...])Plot real space unit cell.
plot_wigner_seitz([ax, vectors, colour, ...])Plot Wigner-Seitz unit cell.
prepare_figure([background, focal_length])Prepare style of the figure for the plot.
remove([kind, ax])Remove a set of artists from the plot.
savefig([output_name, elev, azim])Save the figure in the file
show([elev, azim])Show the figure in the interactive matplotlib window.
voronoi_cell([reciprocal, normalize])Computes Voronoy edges around (0,0,0) point.
Properties:
Length of the first lattice vector \(\vert\vec{a}_1\vert\).
First lattice vector \(\vec{a}_1\).
Second lattice vector \(\vec{a}_2\).
Third lattice vector \(\vec{a}_3\).
Angle between second and third lattice vector.
Length of the second lattice vector \(\vert\vec{a}_2\vert\).
First reciprocal lattice vector.
Second reciprocal lattice vector.
Third reciprocal lattice vector.
Angle between first and third lattice vector.
Length of the third lattice vector \(\vert\vec{a}_3\vert\).
Unit cell of the lattice.
Centring type.
Crystal family.
Angle between first and second lattice vector.
Length of the first reciprocal lattice vector \(\vert\vec{b}_1\vert\).
Angle between second and third reciprocal lattice vector.
Length of the second reciprocal lattice vector \(\vert\vec{b}_2\vert\).
Angle between first and third reciprocal lattice vector.
Length of the third reciprocal lattice vector \(\vert\vec{b}_3\vert\).
Angle between first and second reciprocal lattice vector.
Return cell parameters.
K-point path.
Pearson symbol.
Reciprocal cell.
Volume of the reciprocal cell.
Volume of the unit cell.
Variation of the lattice, if any.