httk.atomistic.sites¶
The Sites class for httk-atomistic.
Classes¶
The sites of a crystal structure: the Nx3 matrix of reduced coordinates, held exactly. |
Module Contents¶
- class httk.atomistic.sites.Sites(reduced_coords: httk.core.VectorLike, precision: Any = None)[source]¶
The sites of a crystal structure: the Nx3 matrix of reduced coordinates, held exactly.
Reduced (fractional) coordinates are the symmetry-native frame: point-group operations are integer matrices and translations are rationals, so no radicals ever appear. They are therefore stored as an exact rational
FracVectorof shape(N, 3). A Sites object is iterable and indexable over its length-3 coordinate rows (each aFracVector), withlengiving the number of sites.Inputs embed exactly: rationals (and rational-valued floats), rational strings, and numpy arrays all land on their exact rational value. An irrational
SurdVectorinput is reduced deterministically through the vector family’sfractionshub (never raising on data); the exact Cartesian frame — where radicals belong — is obtained instead viacartesian_sites().- property reduced_coords: httk.core.FracVector[source]¶
The Nx3 reduced site coordinates as an exact
FracVector(one site per row).
- property precision: fractions.Fraction | None[source]¶
How precisely these coordinates were stated, in fractional units, or
None.Fractional and therefore dimensionless: reduced coordinates are fractions of a cell edge, and a
Sitescarries no cell to convert with. Usecartesian_precision()for the corresponding length, which is the number an interatomic tolerance or an spglibsymprecactually wants.It is the coarsest precision among the coordinates, since a structure is only as precisely stated as its least precisely stated number.
Nonemeans unknown.
- numeric() httk.atomistic.numeric_sites.NumericSites[source]¶
A plain-numpy presentation of these sites (requires the
httk-atomistic[numpy]extra).