polymerist.maths.lattices.bravais
Representations and calculation methods for crystallographic unit cells and lattice parameters
Attributes
Classes
For storing the lengths of and the angles between the 3 lattice vectors of a crystallographic unit cell |
Functions
Locate all lattice points generated by a set of Bravais lattice vectors in D-dimensions which fall within a given bounding box |
Module Contents
- polymerist.maths.lattices.bravais.identify_bravais_points_within_bbox(lattice_vectors: numpy.ndarray[polymerist.genutils.typetools.numpytypes.Shape[polymerist.genutils.typetools.numpytypes.D, polymerist.genutils.typetools.numpytypes.D], numbers.Number], bbox: polymerist.maths.lattices.coordinates.BoundingBox) tuple[polymerist.maths.lattices.coordinates.Coordinates, polymerist.maths.lattices.integral.CubicIntegerLattice][source]
Locate all lattice points generated by a set of Bravais lattice vectors in D-dimensions which fall within a given bounding box Returns the coordinate vector of the internal lattice points and a CubicIntegerLattice containing the corresponding lattice vector multiplicities
- class polymerist.maths.lattices.bravais.LatticeParameters[source]
For storing the lengths of and the angles between the 3 lattice vectors of a crystallographic unit cell
- a: float
- b: float
- c: float
- alpha: float
- beta: float
- gamma: float
- property lengths_are_positive: tuple[bool, str | None]
Check whether all axial lengths are well-defined (i.e. positive)
- property axial_lengths: numpy.ndarray[polymerist.genutils.typetools.numpytypes.Shape[3], float]
View of just the axial lengths
- lengths
- property angles: numpy.ndarray[polymerist.genutils.typetools.numpytypes.Shape[3], float]
Property alias of angles() method for convenience
- axial_angles(in_degrees: bool = False) numpy.ndarray[polymerist.genutils.typetools.numpytypes.Shape[3], float][source]
View of just the angles
- property volume: float
The volume of the unit cell (in arbitrary units)
- classmethod from_lattice_vectors(vectors: numpy.ndarray[polymerist.genutils.typetools.numpytypes.Shape[3, 3], float]) LatticeParameters[source]
Obtain axial lengths and inter-vector angles from a matrix of lattice vectors
- to_lattice_vectors() numpy.ndarray[polymerist.genutils.typetools.numpytypes.Shape[3, 3], float][source]
The restricted lattice vectors corresponding to the lattice parameters, where vector A lies along the x-axis and vector B is in the xy-plane
Vectors are returned as a 3x3 matrix, where each row represents a lattice vector
- property lattice_vectors: numpy.ndarray[polymerist.genutils.typetools.numpytypes.Shape[3, 3], float]
Property alias of to_lattice_vectors() method for convenience
- polymerist.maths.lattices.bravais.COMMON_UNIT_LATTICE_VECTORS: dict[str, numpy.ndarray[polymerist.genutils.typetools.numpytypes.Shape[3, 3], float]]
- polymerist.maths.lattices.bravais.lattice_generator