Crystal Lattice#

Record a sample’s crystalline lattice parameters: \(a, b, c, \alpha, \beta, \gamma\). The Lattice() interface simplifies entry of parameters for high-symmetry crystal systems.

Examples of the Seven 3-D Crystal Systems (highest to lowest symmetry)

system

command

a

b

c

alpha

beta

gamma

cubic

Lattice(5.)

5

5

5

90

90

90

hexagonal

Lattice(4., c=3., gamma=120)

4

4

3

90

90

120

rhombohedral

Lattice(4., alpha=80.2)

4

4

4

80.2

80.2

80.2

tetragonal

Lattice(4, c=3)

4

4

3

90

90

90

orthorhombic

Lattice(4, 5, 3)

4

5

3

90

90

90

monoclinic

Lattice(4, 5, 3, beta=75)

4

5

3

90

75

90

triclinic

Lattice(4, 5, 3, 75., 85., 95.)

4

5

3

75

85

95

see:

https://dictionary.iucr.org/Crystal_system

see:

https://en.wikipedia.org/wiki/Crystal_system

EXAMPLES

>>> from hklpy2 import Lattice
>>> Lattice(5.)
Lattice(a=5.0, b=5.0, c=5.0, alpha=90.0, beta=90.0, gamma=90.0)

>>> Lattice(4., c=3., gamma=120)
Lattice(a=4.0, b=4.0, c=3.0, alpha=90.0, beta=90.0, gamma=120)

>>> Lattice(4., alpha=80.2)
Lattice(a=4.0, b=4.0, c=4.0, alpha=80.2, beta=80.2, gamma=80.2)

>>> Lattice(4, c=3)
Lattice(a=4, b=4, c=3, alpha=90.0, beta=90.0, gamma=90.0)

>>> Lattice(4, 5, 3)
Lattice(a=4, b=5, c=3, alpha=90.0, beta=90.0, gamma=90.0)

>>> Lattice(4, 5, 3, beta=75)
Lattice(a=4, b=5, c=3, alpha=90.0, beta=75, gamma=90.0)

>>> Lattice(4, 5, 3, 75., 85., 95.)
Lattice(a=4, b=5, c=3, alpha=75.0, beta=85.0, gamma=95.0)

Source Code Documentation#

Lattice parameters for a single crystal.

Lattice(a[, b, c, alpha, beta, gamma, digits])

Crystal lattice parameters.

SI_LATTICE_PARAMETER

2018 CODATA recommended lattice parameter of silicon, Angstrom.

SI_LATTICE_PARAMETER_UNCERTAINTY

2018 CODATA reported uncertainty of SI_LATTICE_PARAMETER.

class hklpy2.operations.lattice.CrystalSystem(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#

Bases: Enum

class hklpy2.operations.lattice.Lattice(a: float, b: float = None, c: float = None, alpha: float = 90.0, beta: float = None, gamma: float = None, digits: int = 4)[source]#

Bases: object

Crystal lattice parameters.

Note

Internal use only.

EXAMPLE:

>>> from hklpy2.operations.lattice import Lattice
>>> Lattice(4.74, c=9.515, gamma=120)
Lattice(a=4.74, c=9.515, gamma=120, system='hexagonal')

_asdict()

Return a new dict which maps lattice constant names and values.

_fromdict(config)

Redefine lattice from a (configuration) dictionary.

__eq__(latt)

Compare two lattices for equality.

__repr__()

Standard representation of lattice.

crystal_system

The crystal system of this lattice.

system_parameter_names(system)

Return list of lattice parameter names for this crystal system.

_asdict()[source]#

Return a new dict which maps lattice constant names and values.

_fromdict(config)[source]#

Redefine lattice from a (configuration) dictionary.

property crystal_system#

The crystal system of this lattice. By inspection of the parameters.

property digits: int#

Number of digits to display.

system_parameter_names(system: str)[source]#

Return list of lattice parameter names for this crystal system.

hklpy2.operations.lattice.SI_LATTICE_PARAMETER = 5.431020511#

2018 CODATA recommended lattice parameter of silicon, Angstrom.

See:

https://physics.nist.gov/cgi-bin/cuu/Value?asil

hklpy2.operations.lattice.SI_LATTICE_PARAMETER_UNCERTAINTY = 8.9e-08#

2018 CODATA reported uncertainty of SI_LATTICE_PARAMETER.