radtools.FCC#

class radtools.FCC(a: float = None, cell=None, eps_rel=1e-05)[source]#

Face-centred cubic (FCC, cF)

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 = (0, a/2, a/2)\\\boldsymbol{a}_2 = (a/2, 0, a/2)\\\boldsymbol{a}_3 = (a/2, a/2, 0)\end{aligned}\end{align} \]

See also

Face-centred cubic (FCC) for more information.

Parameters:
afloat, optional

Length of the lattice vector of the conventional cel.

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 cel.

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:

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

Variation of the lattice, if any.