radtools.MCL#
- class radtools.MCL(a: float, b: float, c: float, alpha: float, cell=None, eps_rel=1e-05)[source]#
Monoclinic (MCL, mP)
\(a, b \le c\), \(\alpha < 90^{\circ}\), \(\beta = \gamma = 90^{\circ}\).
Primitive and conventional lattice:
\[ \begin{align}\begin{aligned}\boldsymbol{a}_1 = (a, 0, 0)\\\boldsymbol{a}_2 = (0, b, 0)\\\boldsymbol{a}_3 = (0, c\cos(\alpha), c\sin(\alpha))\end{aligned}\end{align} \]See also
Monoclinic (MCL) for more information.
- Parameters:
- afloat, optional
Length of the lattice vector of the conventional lattice.
- bfloat, optional
Length of the lattice vector of the conventional lattice.
- cfloat, optional
Length of the lattice vector of the conventional lattice.
- alphafloat, optional
Angle between b and c. In degrees. Corresponds to 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_bfloat
Length of the lattice vector of the conventional lattice.
- conv_cfloat
Length of the lattice vector of the conventional lattice.
- conv_alphafloat
Angle between b and c. In degrees. Corresponds to 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.