radtools.TRI#

class radtools.TRI(a: float, b: float, c: float, alpha: float, beta: float, gamma: float, reciprocal=False)[source]#

Triclinic (TRI, aP)

Primitive and conventional lattice:

\[ \begin{align}\begin{aligned}\boldsymbol{a}_1 = (a, 0, 0)\\\boldsymbol{a}_2 = (b\cos(\gamma), b\sin(\gamma), 0)\\\boldsymbol{a}_3 = (c\cos(\beta), \frac{c(\cos(\alpha) - \cos(\beta)\cos(\gamma))}{\sin{\gamma}}, \frac{c}{\sin(\gamma)}\sqrt{\sin^2(\gamma) - \cos^2(\alpha) - \cos^2(\beta) + 2\cos(\alpha)\cos(\beta)\cos(\gamma)})\end{aligned}\end{align} \]

Variations of the trigonal lattice are defined through the angles of the reciprocal cell, therefore it is possible to define trigonal Bravais lattice with reciprocal cell parameters (argument reciprocal).

See also

Triclinic (TRI) for more information.

Parameters:
afloat

Length of the lattice vector of the conventional lattice.

bfloat

Length of the lattice vector of the conventional lattice.

cfloat

Length of the lattice vector of the conventional lattice.

alphafloat

Angle between b and c. In degrees. Corresponds to the conventional lattice.

betafloat

Angle between a and c. In degrees. Corresponds to the conventional lattice.

gammafloat

Angle between a and b. In degrees. Corresponds to the conventional lattice.

reciprocalbool, default False

Whether to interpret a, b, c, alpha, beta, gamma as reciprocal lattice parameters.

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.

betafloat

Angle between first and third lattice vector.

conv_gammafloat

Angle between a and b. 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]]

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:

a

Length of the first lattice vector \(\vert\vec{a}_1\vert\).

a1

First lattice vector \(\vec{a}_1\).

a2

Second lattice vector \(\vec{a}_2\).

a3

Third lattice vector \(\vec{a}_3\).

alpha

Angle between second and third lattice vector.

b

Length of the second lattice vector \(\vert\vec{a}_2\vert\).

b1

First reciprocal lattice vector.

b2

Second reciprocal lattice vector.

b3

Third reciprocal lattice vector.

beta

Angle between first and third lattice vector.

c

Length of the third lattice vector \(\vert\vec{a}_3\vert\).

cell

Unit cell of the lattice.

centring_type

Centring type.

crystal_family

Crystal family.

gamma

Angle between first and second lattice vector.

k_a

Length of the first reciprocal lattice vector \(\vert\vec{b}_1\vert\).

k_alpha

Angle between second and third reciprocal lattice vector.

k_b

Length of the second reciprocal lattice vector \(\vert\vec{b}_2\vert\).

k_beta

Angle between first and third reciprocal lattice vector.

k_c

Length of the third reciprocal lattice vector \(\vert\vec{b}_3\vert\).

k_gamma

Angle between first and second reciprocal lattice vector.

parameters

Return cell parameters.

path

K-point path.

pearson_symbol

Pearson symbol.

reciprocal_cell

Reciprocal cell.

reciprocal_cell_volume

Volume of the reciprocal cell.

unit_cell_volume

Volume of the unit cell.

variation

Four variations of the Lattice.