Processing math: 100%

sknano.core.crystallography.Reciprocal2DLattice

class sknano.core.crystallography.Reciprocal2DLattice(a_star=None, b_star=None, gamma_star=None, b1=None, b2=None, cell_matrix=None, orientation_matrix=None, offset=None)[source][source]

2D reciprocal lattice class.

Parameters:

a_star, b_star : float

gamma_star : float

b1, b2 : array_like

cell_matrix : array_like

orientation_matrix : array_like

Attributes

a1 2D lattice vector a1=a.
a2 2D lattice vector a2=b.
a_star Length of reciprocal lattice vector a.
angles Lattice parameter angle gamma^*`.
b1 Reciprocal lattice vector b1=a.
b2 Reciprocal lattice vector b2=b.
b_star Length of reciprocal lattice_vector b.
cell_matrix Matrix of lattice row vectors.
cos_gamma cosγ
cos_gamma_star cosγ
fmtstr Format string.
fractional_matrix Transformation matrix to convert from cartesian coordinates to fractional coordinates.
gamma_star Angle between reciprocal lattice vectors a and b in degrees.
lattice_parameters Tuple of lattice parameters a^*, b^*, gamma^*.
lattice_vectors Tuple of lattice vectors b1,b2.
lengths Tuple of lattice parameter lengths a,b.
matrix Alias for cell_matrix.
metric_tensor Metric tensor.
reciprocal_lattice Reciprocal lattice of this Reciprocal2DLattice.
sin_gamma sinγ
sin_gamma_star sinγ

Methods

cartesian_to_fractional(ccoords) Convert cartesian coordinate to fractional coordinate.
fractional_to_cartesian(fcoords) Convert fractional coordinate to cartesian coordinate.
hexagonal(a_star) Generate a hexagonal 2D reciprocal lattice with lattice parameter a.
oblique(a_star, b_star, gamma_star) Generate an oblique 2D reciprocal lattice with lattice parameters a,b,γ.
rectangular(a_star, b_star) Generate a rectangular 2D reciprocal lattice with lattice parameters a,b.
rotate([angle, axis, anchor_point, ...]) Rotate unit cell.
square(a_star) Generate a square 2D reciprocal lattice with lattice parameter a.
todict() Return dict of Reciprocal2DLattice parameters.
translate(t) Translate lattice.
wrap_cartesian_coordinate(p[, pbc]) Wrap cartesian coordinate to lie within unit cell.
wrap_fractional_coordinate(p[, epsilon, pbc]) Wrap fractional coordinate to lie within unit cell.