pyFAI.crystallography package#

pyFAI.crystallography.calibrant module#

Calibrant

A module containing classical calibrant class

class pyFAI.crystallography.calibrant.Calibrant(filename: str | None = None, dspacing: List[float] | None = None, wavelength: float | None = None, config: CalibrantConfig | None = None, **kwargs)#

Bases: object

A calibrant is a named reference compound where the d-spacing are known.

The d-spacing (interplanar distances) are expressed in Angstrom (in the file).

If the access is don’t from a file, the IO are delayed. If it is not desired one could explicitly access to load_file().

c = Calibrant()
c.load_file("my_calibrant.D")
Parameters:
  • filename – A filename containing the description (usually with .D extension). The access to the file description is delayed until the information is needed.

  • dspacing – A list of d spacing in Angstrom.

  • wavelength – A wavelength in meter

  • config – instance of pyFAI.io.calibrant_config.CalibrantConfig dataclass

__init__(filename: str | None = None, dspacing: List[float] | None = None, wavelength: float | None = None, config: CalibrantConfig | None = None, **kwargs)#
append_2th(value: float)#

Insert a 2th position at the right position of the dSpacing list

append_dSpacing(value: float)#

Insert a d position at the right position of the dspacing list

append_dspacing(value: float)#

Insert a d position at the right position of the dspacing list

count_registered_dSpacing() int#

Count of registered dspacing positions.

count_registered_dspacing() int#

Count of registered dspacing positions.

property dSpacing#
property dspacing: List[float]#
fake_calibration_image(ai, shape: tuple | None = None, Imax: float = 1.0, Imin: float | ndarray = 0.0, resolution: _ResolutionFunction | float = 0.1, **kwargs) ndarray#

Generates a fake calibration image from an azimuthal integrator.

Parameters:
  • ai – azimuthal integrator

  • Imax – maximum intensity of rings

  • Imin – minimum intensity of the signal (background)

  • resolution – either the FWHM (static, in degree) or a pyFAI.crystallography.resolution._ResolutionFunction class instance

Deprecated options: :param U, V, W: width of the peak from Caglioti’s law (FWHM^2 = Utan(th)^2 + Vtan(th) + W) –> deprecated :return: an image

fake_xrpdp(nbpt: int = 1000, tth_range: tuple = (0, 120), background: float = 0.0, Imax: float = 1.0, resolution: float = 0.1, unit: ~pyFAI.units.Unit | str = 2th_deg)#

Generate a fake powder diffraction pattern from this calibrant

Parameters:
  • nbpt – number of point in the powder pattern

  • tth_range – diffraction angle 2theta, unit as specified in unit parameter, deg by default.

  • background – value or array (gonna be interpolated)

  • Imax – intensity of the scattering signal

  • resolution – pic width δ(°) or resolution function

  • unit – can be a string or an instance

Returns:

Integrate1dResult with unit in 2th_deg

property filename: str#
classmethod from_cell(cell)#

Alternative constructor from a cell-object

Parameters:

cell – Instance of Cell

Returns:

Calibrant instance

get_2th() List[float]#

Returns the 2theta positions for all peaks (cached)

get_2th_index(angle: float, delta: float | None = None) int#

Returns the index in the 2theta angle index.

Parameters:
  • angle – expected angle in radians

  • delta – precision on angle

Returns:

0-based index or None

get_dSpacing() List[float]#
get_filename() str#
get_max_wavelength(index: int | None = None)#

Calculate the maximum wavelength assuming the ring at index is visible.

Bragg’s law says: $lambda = 2d sin(theta)$ So at 180° $lambda = 2d$

Parameters:

index – Ring number, otherwise assumes all rings are visible

Returns:

the maximum visible wavelength

get_peaks(unit: units.Units | str = 2th_deg)#

Calculate the peak position as this unit.

Returns:

numpy array (unlike other methods which return lists)

load_file(filename: str)#

Load a calibrant.from file.

Parameters:

filename – The filename containing the calibrant description.

property name: str#

Returns a short name describing the calibrant.

It’s the name of the file or the resource.

save_dSpacing(filename: str | None = None)#

Save the d-spacing into a file.

Parameters:

filename – name of the file

Returns:

None

save_dspacing(filename: str | None = None)#

Save the d-spacing into a file.

Parameters:

filename – name of the file

Returns:

None

setWavelength_change2th(value: float | None = None)#

Set a new wavelength.

setWavelength_changeDs(value: float | None = None)#

Set a new wavelength and only update the dSpacing list.

This is probably not a good idea, but who knows!

set_wavelength(value: float | None = None)#

Set a new wavelength .

property wavelength: float | None#

Returns the used wavelength.

pyFAI.crystallography.calibrant_factory module#

Calibrant factory

A module to build calibrants

exception pyFAI.crystallography.calibrant_factory.BadCalibrantName#

Bases: KeyError

pyFAI.crystallography.calibrant_factory.CALIBRANT_FACTORY = Calibrants available: Cr2O3, cristobaltite, Ni, alpha_Al2O3, CeO2, Pt, ZnO, vanadinite, PBBA, TiO2, graphite, lysozyme, Si_SRM640, C60, Si_SRM640a, Si_SRM640e, LaB6, LaB6_SRM660a, NaCl, LaB6_SRM660b, CuO, Al, Si_SRM640d, CrOx, Si_SRM640b, Au, LaB6_SRM660c, diamond, quartz, mock, AgBh, hydrocerussite, C14H30O, Si_SRM640c, Si#

Default calibration factory provided by the library.

class pyFAI.crystallography.calibrant_factory.CalibrantFactory(basedir=None)#

Bases: object

Behaves like a dict but is actually a factory:

Each time one retrieves an object it is a new geniune new calibrant (unmodified)

__init__(basedir=None)#

Constructor

Parameters:

basedir – directory name where to search for the calibrants

get(what: str, notfound=None)#
has_key(k: str)#
items()#
keys()#
values()#

pyFAI.crystallography.cell module#

Crystallographic cell

A module with the Cell class defining a crystallographic cell

Interesting formula: https://geoweb.princeton.edu/archival/duffy/xtalgeometry.pdf

class pyFAI.crystallography.cell.Cell(a: float = 1.0, b: float = 1.0, c: float = 1.0, alpha: float = 90.0, beta: float = 90.0, gamma: float = 90.0, lattice: str = 'triclinic', lattice_type: str = 'P')#

Bases: object

This is a cell object, able to calculate the volume and d-spacing according to formula from:

http://geoweb3.princeton.edu/research/MineralPhy/xtalgeometry.pdf

__init__(a: float = 1.0, b: float = 1.0, c: float = 1.0, alpha: float = 90.0, beta: float = 90.0, gamma: float = 90.0, lattice: str = 'triclinic', lattice_type: str = 'P')#

Constructor of the Cell class:

Crystalographic units are Angstrom for distances and degrees for angles !

Parameters:
  • a,b,c – unit cell length in Angstrom

  • gamma (alpha, beta,) – unit cell angle in degrees

  • lattice – “cubic”, “tetragonal”, “hexagonal”, “rhombohedral”, “orthorhombic”, “monoclinic”, “triclinic”

  • lattice_type – P, I, F, C or R

build_calibrant_config(dmin=1.0)#

Build a CalibrantConfig from the cell

calculate_dspacing(dmin=1.0)#

Calculate all d-spacing down to dmin

Applies registered selection rules

Parameters:

dmin – minimum value of spacing requested

Returns:

dict d-spacing as string, list of tuple with Miller indices preceded with the numerical value

classmethod cubic(a, lattice_type='P')#

Factory for cubic lattices

Parameters:

a – unit cell length

d(hkl: tuple | Miller) float#

Calculate the actual d-spacing for a 3-tuple of integer representing a family of Miller plans

Parameters:

hkl – 3-tuple of integers

Returns:

the inter-planar distance in Angstrom

classmethod diamond(a)#

Factory for Diamond type FCC like Si and Ge

Parameters:

a – unit cell length

get_type(lattice_type)#
classmethod hexagonal(a, c, lattice_type='P')#

Factory for hexagonal lattices

Parameters:
  • a – unit cell length

  • c – unit cell length

lattices = ['cubic', 'tetragonal', 'hexagonal', 'rhombohedral', 'orthorhombic', 'monoclinic', 'triclinic']#
classmethod monoclinic(a, b, c, beta, lattice_type='P')#

Factory for hexagonal lattices

Parameters:
  • a – unit cell length

  • b – unit cell length

  • c – unit cell length

  • beta – unit cell angle

classmethod orthorhombic(a, b, c, lattice_type='P')#

Factory for orthorhombic lattices

Parameters:
  • a – unit cell length

  • b – unit cell length

  • c – unit cell length

classmethod rhombohedral(a, alpha, lattice_type='P')#

Factory for hexagonal lattices

Parameters:
  • a – unit cell length

  • alpha – unit cell angle

save(name, long_name=None, doi=None, dmin=1.0, dest_dir=None)#

Save informations about the cell in a d-spacing file, usable as Calibrant

Parameters:
  • name – name of the calibrant

  • doi – reference of the publication used to parametrize the cell

  • dmin – minimal d-spacing

  • dest_dir – name of the directory where to save the result

selection_rules#

contains a list of functions returning True(allowed)/False(forbiden)/None(unknown), see space_groups.py

set_type(lattice_type)#
classmethod tetragonal(a, c, lattice_type='P')#

Factory for tetragonal lattices

Parameters:
  • a – unit cell length

  • c – unit cell length

to_calibrant(dmin=1.0)#

Convert a Cell object to a Calibrant object

Parameters:

dmin – minimum d-spacing to include in calibrant (in Angstrom)

Returns:

Calibrant object

property type#
types = {'C': 'Side centered', 'F': 'Face centered', 'I': 'Body centered', 'P': 'Primitive', 'R': 'Rhombohedral'}#
property volume#

pyFAI.crystallography.space_groups module#

Space groups: There are 230 space groups as defined in the International Tables of Crystallography (ITC vol.A), some of them have different origins. For now only the conventional origin is implemented, alternative representation will be addressed in a second stage.

The ReflectionCondition class contains a function with the selection rules for each of the 230 space group.

class pyFAI.crystallography.space_groups.ReflectionCondition#

Bases: object

This class contains selection rules for most space-groups

All methods are static and take a triplet hkl as input representing a family of Miller plans. They return True if the reflection is allowed by symmetry, False otherwise.

Most of those methods are AI-generated (Co-Pilot) and about 80% of them are still WRONG unless tagged “validated” in the docstring.

Help is welcome to polish this class and fix the non-validated ones.

static group100_P4bm(h: int, k: int, l: int) bool#

Space group 100: P4bm. Tetragonal. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k even - h0l (k=0): h even [implied by symmetry] - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even [implied by symmetry] See ITC Vol. A, Section 2.1.3.13 (v) on reflection conditions for full compliance. See also http://img.chem.ucl.ac.uk/sgp/large/100az2.htm validated

static group101_P42cm(h: int, k: int, l: int) bool#

Space group 101: P42cm. Tetragonal. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): l even - h0l (k=0): l even - 00l (h=0, k=0): l even Source for rules: http://img.chem.ucl.ac.uk/sgp/large/101az2.htm validated

static group102_P42nm(h: int, k: int, l: int) bool#

Space group 102: P42nm. Tetragonal. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k + l even - h0l (k=0): h + l even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even Source for rules: http://img.chem.ucl.ac.uk/sgp/large/102az2.htm validated

static group103_P4cc(h: int, k: int, l: int) bool#

Space group 103: P4cc. Tetragonal. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): l even - h0l (k=0): l even - hhl (h=k): l even - 00l (h=0, k=0): l even Source for rules: http://img.chem.ucl.ac.uk/sgp/large/103az2.htm validated

static group104_P4nc(h: int, k: int, l: int) bool#

Space group 104: P4nc. Tetragonal. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k + l = 2n - h0l (k=0): h + l = 2n - hhl (h=k): l even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even Source for rules: http://img.chem.ucl.ac.uk/sgp/large/104az2.htm validated

static group105_P42mc(h: int, k: int, l: int) bool#

Space group 105: P4₂mc. Tetragonal. Primitive lattice. Valid reflections must satisfy: - hhl (h = k): l even - 00l (h = 0, k = 0): l even validated

static group106_P42bc(h: int, k: int, l: int) bool#

Space group 106: P4₂bc. Tetragonal. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k even - h0l (k=0): h even - hhl (h=k): l even - 00l (h=0, k=0): l even - h00 (h≠0, k=0, l=0): h even - 0k0 (h=0, k≠0, l=0): k even Source for rules: http://img.chem.ucl.ac.uk/sgp/large/106az2.htm validated

static group107_I4mm(h: int, k: int, l: int) bool#

Space group 107: I4mm. Tetragonal. I-centering. Valid reflections must satisfy: - General kl: h + k + l = 2n - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): l even - 00l (h=0,k=0): l even - h00 (k=0,l=0): h even validated

static group108_I4cm(h: int, k: int, l: int) bool#

Space group 108: I4cm. Tetragonal. I-centering. Valid reflections must satisfy: - General hkl: h + k + l even (I-centering) - hk0 (l=0): h + k even - 0kl (h=0): k, l even - hhl (h=k): l even - 00l (h=0,k=0): l even - h00 (k=0,l=0): h even - h0l (k=0): h, l even - 0k0 (h=0,l=0): k even Source for rules: http://img.chem.ucl.ac.uk/sgp/large/108az2.htm validated

static group109_I41md(h: int, k: int, l: int) bool#

Space group 109: I4₁md. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l even (I-centering) - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): 2h + l= 4n - 00l (h=0,k=0): l= 4n - h00 (k=0,l=0): h even - hh0 (h=k,l=0): h even validated

static group10_P2m(h: int, k: int, l: int) bool#

Space group 10: P2/m. Monoclinic, unique axis b.

All reflections are allowed; no systematic absences. validated

static group110_I41cd(h: int, k: int, l: int) bool#

Space group 110: I4₁cd. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l = 2n - hk0 (l=0): h + k even - 0kl (h=0): k, l even - hhl (h=k): 2h + l = 4n - 00l (h=k=0): l = 4n - h00 (k=l=0): h even - hh̅0 (k=-h, l=0): h even - h0l (k=0): h, l even - 0k0 (h=0, l=0): k even - hh0 (h=k, l=0): h even Source for rules: Combination of ITC and http://img.chem.ucl.ac.uk/sgp/large/110az2.htm validated

static group111_P4bar_2m(h: int, k: int, l: int) bool#

Space group 111: P4̅2m. Tetragonal. Primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences validated

static group112_P4bar_2c(h: int, k: int, l: int) bool#

Space group 112: P4̅2c. Tetragonal. Primitive lattice. Valid reflections must satisfy: - hhl (h = k): l even - 00l (h = 0, k = 0): l even validated

static group113_P4bar_21m(h: int, k: int, l: int) bool#

Space group 113: P4̅2₁m. Tetragonal. Primitive lattice. Valid reflections must satisfy: - h00 (k = 0, l = 0): h even - 0k0 (h = 0, l = 0): k even Source for rules: ITC and http://img.chem.ucl.ac.uk/sgp/large/113az2.htm validated

static group114_P4bar_21c(h: int, k: int, l: int) bool#

Space group 114: P4̅2₁c. Tetragonal. Primitive lattice. Valid reflections must satisfy: - hhl (h = k): l even - 00l (h = 0, k = 0): l even - h00 (k = 0, l = 0): h even - 0k0 (h = 0, l = 0): k even Source for rules: ITC and http://img.chem.ucl.ac.uk/sgp/large/114az2.htm validated

static group115_P4bar_m2(h: int, k: int, l: int) bool#

Space group 115: P4̅m2. Tetragonal. Primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences. validated

static group116_P4bar_c2(h: int, k: int, l: int) bool#

Space group 116: P4̅c2. Tetragonal. Primitive lattice. Valid reflections must satisfy: - 0kl (h = 0): l even - 00l (h = 0, k = 0): l even - h0l (k = 0): l even Source for rules: ITC and http://img.chem.ucl.ac.uk/sgp/large/116az2.htm validated

static group117_P4bar_b2(h: int, k: int, l: int) bool#

Space group 117: P4̅b2. Tetragonal. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k even - h00 (k=0, l=0): h even - h0l (k=0): h even - 0k0 (h=0, l=0): k even Source for rules: ITC and http://img.chem.ucl.ac.uk/sgp/large/117az2.htm validated

static group118_P4bar_n2(h: int, k: int, l: int) bool#

Space group 118: P4̅n2. Tetragonal. Primitive lattice. Valid reflections must satisfy:

  • 0kl (h = 0): k + l even

  • h0l (k = 0): h + l even

  • h00 (k = 0, l = 0): h even

  • 0k0 (h = 0, l = 0): k even

  • 00l (h = 0, k = 0): l even

Source: http://img.chem.ucl.ac.uk/sgp/large/118az2.htm

static group119_I4bar_m2(h: int, k: int, l: int) bool#

Space group 119: I4̅m2. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l = 2n - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): l even - 00l (h=k=0): l even - h00 (k=l=0): h even Source: ITC validated

static group11_P21m(h: int, k: int, l: int) bool#

Space group 11: P2₁/m. Monoclinic, unique axis b.

Valid reflections must satisfy: - 0k0 (h = 0, l = 0): k even

Source: ITC validated

static group120_I4bar_c2(h: int, k: int, l: int) bool#

Space group 120: I4̅c2. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k even and l even - hhl (h=k): l even - 00l (h=k=0): l even - h00 (k=l=0): h even - h0l (k=0): h + l even - 0k0 (h=l=0): k even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/120az2.htm validated

static group121_I4bar_2m(h: int, k: int, l: int) bool#

Space group 121: I4̅2m. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): l even - 00l (h=k=0): l even - h00 (k=l=0): h even validated

static group122_I4bar_2d(h: int, k: int, l: int) bool#

Space group 122: I4̅2d. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): 2h + l = 4n - 00l (h=k=0): l = 4n - h00 (k=l=0): h even - hh0 (h=k, l=0): h even - h0l (k=0): h + l even - 0k0 (h=0, l=0): k even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/122az2.htm validated

static group123_P4mmm(h: int, k: int, l: int) bool#

Space group 123: P4/mmm. Tetragonal. Primitive lattice. Valid reflections must satisfy: — all (h, k, l) allowed No systematic absences. validated

static group124_P4mcc(h: int, k: int, l: int) bool#

Space group 124: P4/mcc. Tetragonal. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): l = 2n - hhl (h=k): l = 2n - 00l (h=k=0): l = 2n - h0l (k=0): l = 2n Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/124az2.htm validated

static group125_P4nbm(h: int, k: int, l: int) bool#

Space group 125: P4/nbm. Tetragonal. Primitive lattice.. Valid reflections must satisfy: - hk0 (l=0): h + k = 2n - 0kl (h=0): k = 2n - h00 (k=l=0): h = 2n - h0l (k=0): h = 2n - 0k0 (h=l=0): k = 2n Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/125az2.htm validated

static group126_P4nnc(h: int, k: int, l: int) bool#

Space group 126: P4/nnc. Tetragonal. Primitive lattice. Valid reflections must satisfy: - hk0 (l=0): h + k = 2n - 0kl (h=0): k + l = 2n - hhl (h=k): l = 2n - 00l (h=k=0): l = 2n - h00 (k=l=0): h = 2n - h0l (k=0): h + l = 2n - 0k0 (h=l=0): k = 2n Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/126az2.htm validated

static group127_P4mbm(h: int, k: int, l: int) bool#

Space group 127: P4/mbm. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - 0kl (h=0): k = 2n - h00 (k=l=0): h = 2n - h0l (k=0): h = 2n - 0k0 (h=l=0): k = 2n Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/127az2.htm validated

static group128_P4mnc(h: int, k: int, l: int) bool#

Space group 128: P4/mnc. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - 0kl (h=0): k + l = 2n - hhl (h=k): l = 2n - 00l (h=k=0): l = 2n - h00 (k=l=0): h = 2n - h0l (k=0): h + l = 2n - 0k0 (h=l=0): k = 2n Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/128az2.htm validated

static group129_P4nmm(h: int, k: int, l: int) bool#

Space group 129: P4/nmm. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - hk0 (l=0): h + k = 2n - h00 (k=l=0): h = 2n - 0k0 (h=l=0): k = 2n Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/129az2.htm validated

static group12_C2m(h: int, k: int, l: int) bool#

Space group 12: C2/m. Monoclinic, unique axis b.

Valid reflections must satisfy: - General hkl: h + k even - h0l (k = 0): h even - 0kl (h = 0): k even - hk0 (l = 0): h + k even - 0k0 (h = 0, l = 0): k even - h00 (k = 0, l = 0): h even

Source: ITC validated

static group130_P4ncc(h: int, k: int, l: int) bool#

Space group 130: P4/ncc. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - hk0 (l=0): h + k = 2n - 0kl (h=0): l = 2n - hhl (h=k): l = 2n - 00l (h=k=0): l = 2n - h00 (k=l=0): h = 2n - h0l (k=0): l = 2n - 0k0 (h=l=0): k = 2n Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/130az2.htm validated

static group131_P42mmc(h: int, k: int, l: int) bool#

Space group 131: P42/mmc. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - hhl (h=k): l even - 00l (h=k=0): l even validated

static group132_P42mcm(h: int, k: int, l: int) bool#

Space group 132: P42/mcm. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - 0kl (h=0): l = 2n - 00l (h=k=0): l = 2n - h0l (k=0): l = 2n Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/132az2.htm validated

static group133_P42nbc(h: int, k: int, l: int) bool#

Space group 133: P42/nbc. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - hk0 (l=0): h + k even - 0kl (h=0): k even - hhl (h=k): l even - 00l (h=k=0): l even - h00 (k=l=0): h even - 0k0 (h=l=0): k even - h0l (k=0): h even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/133az2.htm validated

static group134_P42nnm(h: int, k: int, l: int) bool#

Space group 134: P42/nnm. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - hk0 (l=0): h + k even - 0kl (h=0): k + l even - 00l (h=k=0): l even - h00 (k=l=0): h even - h0l (k=0): h + l even - 0k0 (h=l=0): k even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/134az2.htm validated

static group135_P42mbc(h: int, k: int, l: int) bool#

Space group 135: P42/mbc. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - 0kl (h=0): k even - hhl (h=k): l even - 00l (h=k=0): l even - h00 (k=l=0): h even - 0k0 (h=l=0): k even - h0l (k=0): h even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/135az2.htm validated

static group136_P42mnm(h: int, k: int, l: int) bool#

Space group 136: P42/mnm. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - 0kl (h=0): k + l even - 00l (h=k=0): l even - h00 (k=l=0): h even - h0l (k=0): h + l even - 0k0 (h=l=0): k even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/136az2.htm validated

static group137_P42nmc(h: int, k: int, l: int) bool#

Space group 137: P42/nmc. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - hk0 (l=0): h + k even - hhl (h=k): l even - 00l (h=k=0): l even - h00 (k=l=0): h even - 0k0 (h=l=0): k even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/137az2.htm validated

static group138_P42ncm(h: int, k: int, l: int) bool#

Space group 138: P42/ncm. Tetragonal. Primitive lattice (P-centering). Valid reflections must satisfy: - hk0 (l=0): h + k even - 0kl (h=0): l even - 00l (h=k=0): l even - h00 (k=l=0): h even - 0k0 (h=l=0): k even - h0l (k=0): l even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/138az2.htm validated

static group139_I4mmm(h: int, k: int, l: int) bool#

Space group 139: I4/mmm. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): l even - 00l (h=k=0): l even - h00 (k=l=0): h even - h0l (k=0): h + l even - 0k0 (h=l=0): k even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/139az2.htm validated

static group13_P2c(h: int, k: int, l: int) bool#

Space group 13: P2/c. Monoclinic, unique axis b.

Valid reflections must satisfy: - h0l (k = 0): l even - 00l (h = 0, k = 0): l even

Source: ITC validated

static group140_I4mcm(h: int, k: int, l: int) bool#

Space group 140: I4/mcm. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k and l even - hhl (h=k): l even - 00l (h=k=0): l even - h00 (k=l=0): h even - h0l (k=0): h and l even - 0k0 (h=l=0): k even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/140az2.htm validated

static group141_I41amd(h: int, k: int, l: int) bool#

Space group 141: I41/amd. Tetragonal. I-centering. Valid reflections must satisfy: - hkl (general): h + k + l even - hk0 (l=0): h and k even - 0kl (h=0): k + l even - hhl (h=k): 2h + l = 4n - 00l (h=k=0): l = 4n - h00 (k=l=0): h even - hh0 (h=k, l=0): h even - 0k0 (h=l=0): k even - h0l (k=0): h + l even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/141az2.htm validated

static group142_I41acd(h: int, k: int, l: int) bool#

Space group 142: I41/acd. Tetragonal. I-centering. Valid reflections must satisfy: - hkl (general): h + k + l even - hk0 (l=0): h and k even - 0kl (h=0): k and l even - hhl (h=k): 2h + l =4n - 00l (h=k=0): l = 4n - h00 (k=l=0): h even - hh0 (h=k, l=0): h even - 0k0 (h=l=0): k even - h0l (k=0): h and l even Source: ITC and http://img.chem.ucl.ac.uk/sgp/large/142az2.htm validated

static group143_P3(h: int, k: int, l: int) bool#

Space group 143: P3. Trigonal. No reflection conditions — all (h, k, l) are allowed. No systematic absences. validated

static group144_P31(h: int, k: int, l: int) bool#

Space group 144: P31. Trigonal. Valid reflections must satisfy: - 00l (h = k = 0): l = 3n Source: http://img.chem.ucl.ac.uk/sgp/large/144az2.htm validated

static group145_P32(h: int, k: int, l: int) bool#

Space group 145: P32. Trigonal. Valid reflections must satisfy: - 00l (h = k = 0): l = 3n Source: http://img.chem.ucl.ac.uk/sgp/large/145az2.htm validated

static group146_R3(h: int, k: int, l: int) bool#

Space group 146: R3. Trigonal, Rhombohedral (R). Valid reflections must satisfy:

  • hkil (general): -h + k + l = 3n

  • hki0 (l = 0): -h + k = 3n

  • hh(-2h)l: l = 3n

  • h(-h)0l (i = 0): k = -h ⇒ h + l = 3n

  • 000l (h = k = i = 0): l = 3n

  • h(-h)00 (i = l = 0): k = -h,

    l = 0 ⇒ h = 3n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l) using the relation i = -(h + k). validated.

static group147_P3bar(h: int, k: int, l: int) bool#

Space group 147: P-3 (P3̅). Trigonal system. No reflection conditions — all (h, k, l) are allowed. No systematic absences. Source: ITC validated

static group148_R3bar(h: int, k: int, l: int) bool#

Space group 148: R-3 (R3̅). Trigonal, Rhombohedral (R). Valid reflections must satisfy: - hkil (general): -h + k + l = 3n - hki0 (l = 0): -h + k = 3n - hh(-2h)l: l = 3n - h(-h)0l (i = 0): h + l = 3n - 000l (h = k = i = 0): l = 3n - h(-h)00 (i = l = 0): h = 3n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k).

validated.

static group149_P312(h: int, k: int, l: int) bool#

Space group 149: P3₁2. Trigonal. No reflection conditions — all (h, k, l) are allowed. No systematic absences. validated.

static group14_P21c(h: int, k: int, l: int) bool#

Space group 14: P2₁/c. Monoclinic, unique axis b.

Valid reflections must satisfy: - h0l (k = 0): l even - 0k0 (h = 0, l = 0): k even - 00l (h = 0, k = 0): l even

Source: ITC validated

static group150_P321(h: int, k: int, l: int) bool#

Space group 150: P3₂1. Trigonal. No reflection conditions — all (h, k, l) are allowed. No systematic absences.

static group151_P3112(h: int, k: int, l: int) bool#

Space group 151: P3₁12. Trigonal. Valid reflections must satisfy: - 000l (h = k = 0): l = 3n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k).

validated.

static group152_P3121(h: int, k: int, l: int) bool#

Space group 152: P3₁21. Trigonal. Valid reflections must satisfy: - 000l (h = k = 0): l = 3n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k).

validated.

static group153_P3212(h: int, k: int, l: int) bool#

Space group 153: P3₂12. Trigonal. Valid reflections must satisfy: - 000l (h = k = 0): l = 3n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k).

validated

static group154_P3221(h: int, k: int, l: int) bool#

Space group 154: P3₂21. Trigonal. Valid reflections must satisfy: - 000l (h = k = 0): l = 3n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k).

validated

static group155_R32(h: int, k: int, l: int) bool#

Space group 155: R32. Trigonal, Rhombohedral (R). Valid reflections must satisfy: - hkil (general): -h + k + l = 3n - hki0 (l = 0): -h + k = 3n - hh(-2h)l: l = 3n - h(-h)0l (i = 0): k = -h ⇒ h + l = 3n - 000l (h = k = i = 0): l = 3n - h(-h)00 (i = l = 0): k = -h ⇒ h = 3n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k).

validated

static group156_P3m1(h: int, k: int, l: int) bool#

Space group 156: P3m1. Trigonal. No reflection conditions — all (h, k, l) are allowed. No systematic absences. validated

static group157_P31m(h: int, k: int, l: int) bool#

Space group 157: P31m. Trigonal. No reflection conditions — all (h, k, l) are allowed. No systematic absences. validated

static group158_P3c1(h: int, k: int, l: int) bool#

Space group 158: P3c1. Trigonal. Valid reflections must satisfy: - 0kl (h = 0): l = 2n - h0l (k = 0): l = 2n - h(-h)0l (h = -k): l = 2n - 00l (h = k = 0): l = 2n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k), and http://img.chem.ucl.ac.uk/sgp/large/158az2.htm

validated

static group159_P31c(h: int, k: int, l: int) bool#

Space group 159: P31c. Trigonal. Valid reflections must satisfy: - hh(-2h)l: l = 2n - 000l (h = k = 0): l = 2n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k)

validated

static group15_C2c(h: int, k: int, l: int) bool#

Space group 15: C 2/c. Monoclinic, unique axis b.

Valid reflections must satisfy: - General hkl: h + k even - h0l (k = 0): h, l even - 0kl (h = 0): k even - hk0 (l = 0): h + k even - 0k0 (h = 0, l = 0): k even - h00 (k = 0, l = 0): h even - 00l (h = 0, k = 0): l even

Source: https://www.cryst.ehu.es/cgi-bin/cryst/programs/nph-hkl?gnum=15 ITC, p 261 There are different rules for different cell choices and other unique axis.

validated

static group160_R3m(h: int, k: int, l: int) bool#

Space group 160: R3m. Trigonal (Rhombohedral setting, hexagonal axes). Valid reflections must satisfy: - hkil: -h + k + l = 3n - hki0 (l = 0): -h + k = 3n - hh(-2h)l: l = 3n - h(-h)0l (k = -h, l ≠ 0): h + l = 3n - 000l (h = k = 0): l = 3n - h(-h)00 (k = -h, l = 0): h = 3n Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k) JKC: http://img.chem.ucl.ac.uk/sgp/large/160bz2.htm

validated

static group161_R3c(h: int, k: int, l: int) bool#

Space group 161: R3c. Trigonal (Rhombohedral centring, hexagonal axes). Valid reflections must satisfy: - General hkl: -h + k + l = 3n - 0kl (h = 0): l = 2n and k + l = 3n - h0l (k = 0): l = 2n and h - l = 3n - hk0 (l = 0): h - k = 3n - hhl (h = k): l = 3n - h00 (k = 0, l = 0): h = 3n - 0k0 (h = 0, l = 0): k = 3n - 00l (h = 0, k = 0): l = 6n

Source:

http://img.chem.ucl.ac.uk/sgp/large/161bz2.htm

validated

static group162_P3bar_m(h: int, k: int, l: int) bool#

Space group 162: P3̅1m. Primitive lattice. Trigonal (hexagonal axes). No reflection conditions — all (h, k, l) are allowed. No systematic absences. validated

static group163_P3_1c(h: int, k: int, l: int) bool#

Space group 163: P3̅1c. Trigonal (hexagonal axes), primitive lattice. Valid reflections must satisfy: - hh(-2h)l: l = 2n - 000l (h = k = 0): l = 2n

Source:

Reflection conditions from ITC (in hkil notation), adapted to (h, k, l) using the relation i = -(h + k).

validated

static group164_P3bar_m1(h: int, k: int, l: int) bool#

Space group 164: P3̅m1. Primitive lattice. Trigonal (hexagonal axes). No reflection conditions — all (h, k, l) are allowed. No systematic absences. validated

static group165_P3c1(h: int, k: int, l: int) bool#

Space group 165: P3c1. Trigonal (hexagonal axes), primitive lattice. Valid reflections must satisfy: - h(-h)0l (k = -h): l = 2n - 000l (h = k = 0): l = 2n - 0kl (h = 0): l = 2n - h0l (k = 0): l = 2n

Source: Reflection conditions from ITC (given in hkil), adapted to (h, k, l)

using the relation i = -(h + k), and http://img.chem.ucl.ac.uk/sgp/large/165az2.htm

validated

static group166_R3bar_m(h: int, k: int, l: int) bool#

Space group 166: R3̅m. Trigonal (hexagonal axes), rhombohedral lattice. Valid reflections must satisfy: - hkil: -h + k + l = 3n - hki0 (l = 0): -h + k = 3n - hh(-2h)l: l = 3n - h(-h)0l (i = 0, k = -h): h + l = 3n - 000l (h = k = 0): l = 3n - h(-h)00 (l = 0, k = -h): h = 3n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using the relation i = -(h + k). JKC: http://img.chem.ucl.ac.uk/sgp/large/166bz2.htm

validated

static group167_R3bar_c(h: int, k: int, l: int) bool#

Space group 167: R3̅c. Trigonal (hexagonal axes), rhombohedral lattice. Used for Corundum. Valid reflections must satisfy: - hkil: -h + k + l = 3n - hki0 (l = 0): -h + k = 3n - hh(-2h)l: l = 3n - h(-h)0l (i = 0, k = -h): h + l = 3n and l = 2n - 000l (h = k = 0): l = 6n - h(-h)00 (l = 0, k = -h): h = 3n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using the relation i = -(h + k).

validated

static group168_P6(h: int, k: int, l: int) bool#

Space group 168: P6. Hexagonal system. Primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences. Source: ITC validated

static group169_P61(h: int, k: int, l: int) bool#

Space group 169: P6₁. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 6n

Source: ITC validated

static group16_P222(h: int, k: int, l: int) bool#

Space group 16: P222. Orthorhombic. All reflections are allowed; no systematic absences. validated

static group170_P65(h: int, k: int, l: int) bool#

Space group 170: P6₅. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 6n

Source: ITC validated

static group171_P62(h: int, k: int, l: int) bool#

Space group 171: P6₂. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 3n

Source: ITC validated

static group172_P64(h: int, k: int, l: int) bool#

Space group 172: P6₄. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 3n

Source: ITC validated

static group173_P63(h: int, k: int, l: int) bool#

Space group 173: P6₃. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 2n

Source: ITC validated

static group174_P6bar(h: int, k: int, l: int) bool#

Space group 174: P6̅. Hexagonal system, primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences. Source: ITC validated

static group175_P6_m(h: int, k: int, l: int) bool#

Space group 175: P6/m. Hexagonal system, primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences. Source:ITC validated

static group176_P63_m(h: int, k: int, l: int) bool#

Space group 176: P6₃/m. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 2n

Source: ITC validated

static group177_P622(h: int, k: int, l: int) bool#

Space group 177: P622. Hexagonal system, primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences. Source: ITC validated

static group178_P6122(h: int, k: int, l: int) bool#

Space group 178: P6₁22. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 6n

Source: ITC validated

static group179_P6522(h: int, k: int, l: int) bool#

Space group 179: P6₅22. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 6n

Source: ITC validated

static group17_P2221(h: int, k: int, l: int) bool#

Space group 17: P222₁. Orthorhombic.

Valid reflections must satisfy: - 00l (h = 0, k = 0): l even

Source: ITC validated

static group180_P6222(h: int, k: int, l: int) bool#

Space group 180: P6₂22. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 3n

Source: ITC validated

static group181_P6422(h: int, k: int, l: int) bool#

Space group 181: P6₄22. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 3n

Source: ITC validated

static group182_P6322(h: int, k: int, l: int) bool#

Space group 182: P6₃22. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 2n

Source: ITC validated

static group183_P6mm(h: int, k: int, l: int) bool#

Space group 183: P6mm. Hexagonal system, primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences.

Source: ITC validated

static group184_P6cc(h: int, k: int, l: int) bool#

Space group 184: P6cc. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 2n - 0kl (h = 0): l = 2n - h0l (k = 0): l = 2n - hh(-2h)l (k = h): l = 2n - h(-h)0l (k = -h): l = 2n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using the relation i = -(h + k). JKC: http://img.chem.ucl.ac.uk/sgp/large/184az2.htm

validated

static group185_P63cm(h: int, k: int, l: int) bool#

Space group 185: P6₃cm. Hexagonal system, primitive lattice. Valid reflections must satisfy: - 000l (h = 0, k = 0): l = 2n - h0l (k = 0): l = 2n - 0kl (h = 0): l = 2n - h(-h)0l (k = -h): l = 2n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using the relation i = -(h + k). JKC: http://img.chem.ucl.ac.uk/sgp/large/185az2.htm

validated

static group186_P63mc(h: int, k: int, l: int) bool#

Space group 186: P6₃mc. Hexagonal system, primitive lattice. Valid reflections must satisfy: - hh(-2h)l (k = h): l = 2n - 000l (h = 0, k = 0): l = 2n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using the relation i = -(h + k).

validated

static group187_P6bar_m2(h: int, k: int, l: int) bool#

Space group 187: P6̅m2. Hexagonal system, primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences.

Source: ITC validated

static group188_P6c2bar(h: int, k: int, l: int) bool#

Space group 188: P6c2 (P6̅c2). Hexagonal system, primitive lattice. Valid reflections must satisfy: - 0kl (h = 0): l = 2n - h0l (k = 0): l = 2n - h(-h)0l (k = -h): l = 2n - 000l (h = 0, k = 0): l = 2n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using the relation i = -(h + k). JKC: http://img.chem.ucl.ac.uk/sgp/large/188bz2.htm

validated

static group189_P6bar_m2(h: int, k: int, l: int) bool#

Space group 189: P6̅2m. Hexagonal system, primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences. Source: ITC validated

static group18_P21212(h: int, k: int, l: int) bool#

Space group 18: P2₁2₁2. Orthorhombic.

Valid reflections must satisfy: - h00 (k = 0, l = 0) : h even - 0k0 (h = 0, l = 0): k even

Source: ITC validated

static group190_P6bar_2c(h: int, k: int, l: int) bool#

Space group 190: P6̅2c. Hexagonal system, primitive lattice. Valid reflections must satisfy: - hh(-2h)l (k = h): l = 2n - 000l (h = 0, k = 0): l = 2n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using the relation i = -(h + k).

validated

static group191_P6_mmm(h: int, k: int, l: int) bool#

Space group 191: P6/mmm. Hexagonal system, primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences. Source: ITC

validated

static group192_P6_mcc(h: int, k: int, l: int) bool#

Space group 192: P6/mcc. Hexagonal system, primitive lattice. Valid reflections must satisfy: - hh(-2h)l (k = h): l = 2n - h(-h)0l (k = -h): l = 2n - 000l (h = 0, k = 0): l = 2n - 0kl (h = 0): l = 2n - h0l (k = 0): l = 2n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using the relation i = -(h + k). JKC: http://img.chem.ucl.ac.uk/sgp/large/192az2.htm validated

static group193_P63_mcm(h: int, k: int, l: int) bool#

Space group 193: P63/mcm. Hexagonal system, primitive lattice. Valid reflections must satisfy:

  • h(-h)0l (k = -h): l = 2n

  • 000l (h = 0, k = 0): l = 2n

  • 0kl (h = 0): l = 2n

  • h0l (k = 0): l = 2n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using i = -(h + k). JKC: http://img.chem.ucl.ac.uk/sgp/large/193az2.htm validated

static group194_P63_mmc(h: int, k: int, l: int) bool#

Space group 194: P63/mmc. Hexagonal system, primitive lattice. Valid reflections must satisfy:

  • hh(-2h)l (k = h): l = 2n

  • 000l (h = 0, k = 0): l = 2n

Source:

Reflection conditions from ITC (in hkil), adapted to (h, k, l) using the relation i = -(h + k). validated

static group195_P23(h: int, k: int, l: int) bool#

Space group 195: P23. Primitive cubic. All reflections are allowed; no systematic absences. validated

static group196_F23(h: int, k: int, l: int) bool#

Space group 196: F23. Face-centred cubic. Conditions are cyclically permutable. Valid reflections must satisfy - General hkl: h + k, h + l, k + l all even - 0kl (h=0): k, l even - hhl (h=k): h + l even - h00 (k=0, l=0): h even

validated

static group197_I23(h: int, k: int, l: int) bool#

Space group 197: I23. Body-centred cubic. Conditions are cyclically permutable. Valid reflections must satisfy - General hkl: h + k + l even - 0kl (h=0): k + l even - hhl (h=k): l even - h00 (k=0, l=0): h even

validated

static group198_P213(h: int, k: int, l: int) bool#

Space group 198: P2₁3. Primitive cubic. Conditions are cyclically permutable. Valid reflections must satisfy - h00 (k=0, l=0): h = 2n - 0k0 (h=0, l=0): k = 2n - 00l (h=0, k=0): l = 2n

Source: http://img.chem.ucl.ac.uk/sgp/large/198az2.htm validated

static group199_I213(h: int, k: int, l: int) bool#

Space group 199: I2₁3. Body-centred cubic. Conditions are cyclically permutable.

Valid reflections must satisfy - General hkl: h + k + l = 2n - 0kl (h=0): k + l = 2n - hhl (h=k): l = 2n - h00 (k=0,l=0): h = 2n

validated

static group19_P212121(h: int, k: int, l: int) bool#

Space group 19: P2₁2₁2₁. Orthorhombic.

Valid reflections must satisfy: - h00 (k = 0, l = 0): h even - 0k0 (h = 0, l = 0): k even - 00l (h = 0, k = 0): l even

Source: ITC validated

static group1_P1(h: int, k: int, l: int) bool#

Space group 1: P1. Triclinic.

All reflections are allowed; no systematic absences. validated

static group200_Pm3bar(h: int, k: int, l: int) bool#

Space group 200: Pm3̅. Primitive cubic. Conditions are cyclically permutable. All reflections are allowed; no systematic absences. validated

static group201_Pn3bar(h: int, k: int, l: int) bool#

Space group 201: Pn3̅. Cubic system, primitive lattice. Reflection conditions are cyclically permutable.

Valid reflections must satisfy: - 0kl (h = 0): k + l = 2n - h00 (k = 0, l = 0): h = 2n

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/201az2.htm

validated

static group202_Fm3bar(h: int, k: int, l: int) bool#

Space group 202: Fm3̅. Cubic system, face-centred lattice. Reflection conditions are cyclically permutable.

Valid reflections must satisfy: - General hkl: h + k, h + l, k + l = 2n - 0kl (h = 0): k, l = 2n - hhl (h = k): h + l = 2n - h00 (k = 0, l = 0): h = 2n

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/202az2.htm validated

static group203_Fd3bar(h: int, k: int, l: int) bool#

Space group 203: Fd3̅. Cubic system, face-centred lattice. Reflection conditions are cyclically permutable.

Valid reflections must satisfy: - General hkl: h + k = 2n and h+l, k+l=2n - 0kl (h = 0): k + l = 4n and k,l=2n - hhl: h + l = 2n - h00 (k = 0, l = 0): h = 4n

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/203az2.htm

validated

static group204_Im3bar(h: int, k: int, l: int) bool#

Space group 204: Im3̅. Cubic system, body-centred lattice. Reflection conditions are cyclically permutable.

Valid reflections must satisfy: - General hkl: h + k + l even - 0kl (h = 0): k + l even - hhl (h = k): l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/204az2.htm

validated

static group205_Pa3bar(h: int, k: int, l: int) bool#

Space group 205: Pa3̅. Cubic system, primitive lattice. Reflection conditions are cyclically permutable.

Valid reflections must satisfy: - 0kl (h = 0): k even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/205az2.htm

validated

static group206_Ia3bar(h: int, k: int, l: int) bool#

Space group 206: Ia3̅. Cubic system, body-centred lattice. Reflection conditions are cyclically permutable.

Valid reflections must satisfy: - General hkl: h + k + l = 2n - 0kl (h = 0): k, l = 2n - hhl (h = k): l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/206az2.htm

validated

static group207_P432(h: int, k: int, l: int) bool#

Space group 207: P432. Primitive cubic. All reflections are allowed; no systematic absences. validated

static group208_P4232(h: int, k: int, l: int) bool#

Space group 208: P4₂32. Primitive cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/208az2.htm

validated

static group209_F432(h: int, k: int, l: int) bool#

Space group 209: F432. Face-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k, h + l, k + l all even - 0kl (h = 0): k, l even - hhl (h = k): h + l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/209az2.htm

validated

static group20_C2221(h: int, k: int, l: int) bool#

Space group 20: C 2 2 21. Orthorhombic

Valid reflections must satisfy: - General hkl: h + k even - 0kl (h = 0): k even - h0l (k = 0): h even - hk0 (l = 0): h + k even - h00 (k = 0, l = 0): h even - 0k0 (h = 0, l = 0): k even - 00l (h = 0, k = 0): l even

Source: https://www.cryst.ehu.es/cgi-bin/cryst/programs/nph-hkl?gnum=20 validated

static group210_F4132(h: int, k: int, l: int) bool#

Space group 210: F4₁32. Face-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k = 2n and h + l, k + l = 2n - 0kl (h = 0): k, l even - hhl (h = k): h + l even - h00 (k = 0, l = 0): h = 4n

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/210az2.htm

validated

static group211_I432(h: int, k: int, l: int) bool#

Space group 211: I432. Body-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k + l = 2n - 0kl (h = 0): k + l even - hhl (h = k): l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/211az2.htm

validated

static group212_P4_332(h: int, k: int, l: int) bool#

Space group 212: P4₃32. Primitive cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - h00 (k = 0, l = 0): h = 4n - 0k0 (h = 0, l = 0): k = 4n - 00l (h = 0, k = 0): l = 4n

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group213_P4_132(h: int, k: int, l: int) bool#

Space group 213: P4₁32. Primitive cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - h00 (k = 0, l = 0): h = 4n - 0k0 (h = 0, l = 0): k = 4n - 00l (h = 0, k = 0): l = 4n

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group214_I4_132(h: int, k: int, l: int) bool#

Space group 214: I4₁32. Body-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k + l = 2n - 0kl (h = 0): k + l even - hhl (h = k): l even - h00 (k = 0, l = 0): h = 4n

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/214az2.htm

validated

static group215_P4bar_3m(h: int, k: int, l: int) bool#

Space group 215: P4̅3m. Primitive cubic. All reflections are allowed; no systematic absences. validated

static group216_F4bar_3m(h: int, k: int, l: int) bool#

Space group 216: F4̅3m. Face-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k, h + l, k + l even - 0kl (h = 0): k, l even - hhl (h = k): h + l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group217_I4bar_3m(h: int, k: int, l: int) bool#

Space group 217: I4̅3m. Body-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k + l even - 0kl (h = 0): k + l even - hhl (h = k): l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group218_P4_3n(h: int, k: int, l: int) bool#

Space group 218: P4̅3n. Primitive cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - hhl (h = k): l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group219_F4bar_3c(h: int, k: int, l: int) bool#

Space group 219: F4̅3c. Face-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k = 2n and h + l, k + l = 2n - 0kl (h = 0): k, l even - hhl (h = k): h, l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l). JKC: http://img.chem.ucl.ac.uk/sgp/large/219az2.htm

validated

static group21_C222(h: int, k: int, l: int) bool#

Space group 21: C 2 2 2. Orthorhombic Valid reflections must satisfy: - General (hkl): h + k even - 0kl (h=0): k even - h0l (k=0): h even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even

Note: Unlike space group 20 (C 2 2 21), there is no rule for 00l in this group. validated

static group220_I4bar_3d(h: int, k: int, l: int) bool#

Space group 220: I4̅3d. Body-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k + l = 2n - 0kl (h = 0): k + l even - hhl (h = k): 2h + l = 4n - h00 (k = 0, l = 0): h = 4n

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group221_Pm3bar_m(h: int, k: int, l: int) bool#

Space group 221: Pm3̅m. Primitive cubic. All reflections are allowed; no systematic absences. validated

static group222_Pn3bar_n(h: int, k: int, l: int) bool#

Space group 222: Pn3̅n. Primitive cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - 0kl (h = 0): k + l even - hhl (h = k): l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group223_Pm3_n(h: int, k: int, l: int) bool#

Space group 223: Pm3̅n. Primitive cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - hhl (h = k): l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated (without cyclic permutations)

static group224_Pn3bar_m(h: int, k: int, l: int) bool#

Space group 224: Pn3̅m. Primitive cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - 0kl (h = 0): k + l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group225_Fm3bar_m(h: int, k: int, l: int) bool#

Space group 225: Fm3̅m. Face-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k, h + l, k + l even - 0kl (h = 0): k, l even - hhl (h = k): h + l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group226_Fm3bar_c(h: int, k: int, l: int) bool#

Space group 226: Fm3̅c. Face-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k = 2n and h + l, k + l = 2n - 0kl (h = 0): k, l even - hhl (h = k): h, l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group227_Fd3bar_m(h: int, k: int, l: int) bool#

Space group 227: Fd3̅m. Face-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k = 2n and h + l, k + l = 2n - 0kl (h = 0): k + l = 4n and k, l even - hhl (h = k): h + l even - h00 (k = 0, l = 0): h = 4n

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group228_Fd3bar_c(h: int, k: int, l: int) bool#

Space group 228: Fd3̅c. Face-centred cubic. Reflection conditions are permutable.

Valid reflections must satisfy: - General hkl: h + k = 2n and h + l, k + l = 2n - 0kl (h = 0): k + l = 4n and k, l even - hhl (h = k): h, l even - h00 (k = 0, l = 0): h = 4n

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group229_Im3bar_m(h: int, k: int, l: int) bool#

Space group 229: Im3̅m. Body-centred cubic. Reflection conditions, without permutations.

Valid reflections must satisfy: - General hkl: h + k + l = 2n - 0kl (h = 0): k + l even - hhl (h = k): l even - h00 (k = 0, l = 0): h even

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group22_F222(h: int, k: int, l: int) bool#

Space group 22: F222. Orthorhombic.

Valid reflections must satisfy: - General hkl: h + k, h + l, k + l even - 0kl (h = 0): k, l even - h0l (k = 0): h, l even - hk0 (l = 0): h, k even - h00 (k = 0, l = 0): h even - 0k0 (h = 0, l = 0): k even - 00l (h = 0, k = 0): l even

Source: ITC validated

static group230_Ia3bar_d(h: int, k: int, l: int) bool#

Space group 230: Ia3̅d. Body-centred cubic. Reflection conditions, without permutations.

Valid reflections must satisfy: - General hkl: h + k + l = 2n - 0kl (h = 0): k, l even - hhl (h = k): 2h + l = 4n - h00 (k = 0, l = 0): h = 4n

Source:

Reflection conditions from ITC, adapted to (h, k, l).

validated

static group23_I222(h: int, k: int, l: int) bool#

Space group 23: I222. Orthorhombic.

Valid reflections must satisfy: - General hkl: h + k + l = 2n - 0kl (h = 0): k + l even - h0l (k = 0): h + l even - hk0 (l = 0): h + k even - h00 (k = 0, l = 0): h even - 0k0 (h = 0, l = 0): k even - 00l (h = 0, k = 0): l even

Source: ITC validated

static group24_I212121(h: int, k: int, l: int) bool#

Space group 24: I2₁2₁2₁. Orthorhombic.

Valid reflections must satisfy: - General hkl: h + k + l = 2n - 0kl (h = 0): k + l even - h0l (k = 0): h + l even - hk0 (l = 0): h + k even - h00 (k = 0, l = 0): h even - 0k0 (h = 0, l = 0): k even - 00l (h = 0, k = 0): l even

Source: ITC validated

static group25_Pmm2(h: int, k: int, l: int) bool#

Space group 25: Pmm2. Primitive lattice. All reflections are allowed; no systematic absences. validated

static group26_Pmc21(h: int, k: int, l: int) bool#

Space group 26: Pmc21. Valid reflections must satisfy: - h0l: l = 2n - 00l: l = 2n validated

static group27_Pcc2(h: int, k: int, l: int) bool#

Space group 27: Pcc2. Valid reflections must satisfy: - General (hkl): No condition (unrestricted) - 0kl (h=0): l even - h0l (k=0): l even - 00l (h=0, k=0): l even No other systematic absences. validated

static group28_pma2(h: int, k: int, l: int) bool#

Space group 28: Pma2 Valid reflections must satisfy: - h0l (k=0): h even - h00 (k=0, l=0): h even No other systematic absences. validated

static group29_Pca21(h: int, k: int, l: int) bool#

Space group 29: Pca2₁ Valid reflections must satisfy: - 0kl (h=0): l even - h0l (k=0): h even - h00 (k=0, l=0): h even - 00l (h=0, k=0): l even No other systematic absences. validated

static group2_P1bar(h: int, k: int, l: int) bool#

Space group 2: P1̄. Triclinic.

All reflections are allowed; no systematic absences. validated

static group30_pnc2(h: int, k: int, l: int) bool#

Space group 30: Pnc2 Valid reflections must satisfy: - 0kl (h=0): k + l even - h0l (k=0): l even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group31_pmn21(h: int, k: int, l: int) bool#

Space group 31: Pmn2₁ Valid reflections must satisfy: - h0l (k=0): h + l even - h00 (k=0, l=0): h even - 00l (h=0, k=0): l even validated

static group32_pba2(h: int, k: int, l: int) bool#

” Space group 32: Pba2. Valid reflections must satisfy: - 0kl (h=0): k even - h0l (k=0): h even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even No other systematic absences. validated

static group33_Pna21(h: int, k: int, l: int) bool#

Space group 33: Pna21. Valid reflections must satisfy: - 0kl (h=0): k + l even - h0l (k=0): h even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group34_Pnn2(h: int, k: int, l: int) bool#

Space group 34: Pnn2. P-centering. Valid reflections must satisfy: - 0kl (h=0): k + l even - h0l (k=0): h + l even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group35_Cmm2(h: int, k: int, l: int) bool#

Space group 35: Cmm2. C-centering. Valid reflections must satisfy: - General (hkl): h + k even - 0kl (h=0): k even - h0l (k=0): h even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even validated

static group36_Cmc21(h: int, k: int, l: int) bool#

Space group 36: Cmc2₁. C-centering. Valid reflections must satisfy: - General (hkl): h + k even - 0kl (h=0): k even - h0l (k=0): h and l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group37_Cmm2(h: int, k: int, l: int) bool#

Space group 37: Cmm2. C-centering. Valid reflections satisfy: - General (hkl): h + k even - 0kl (h=0): k and l even - h0l (k=0): h and l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group38_Amm2(h: int, k: int, l: int) bool#

Space group 38: Amm2. A-centering. Valid reflections satisfy: - General (hkl): k + l even - 0kl (h=0): k + l even - h0l (k=0): l even - hk0 (l=0): k even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group39_Aem2(h: int, k: int, l: int) bool#

Space group 39: Aem2. A-centering. Valid reflections must satisfy: - General (hkl): k + l even - 0kl (h=0): k and l even - h0l (k=0): l even - hk0 (l=0): k even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group3_P2(h: int, k: int, l: int) bool#

Space group 3: P2. Monoclinic, unique axis b.

All reflections are allowed; no systematic absences. validated

static group40_Ama2(h: int, k: int, l: int) bool#

Space group 40: Ama2. A-centering. Valid reflections must satisfy: - General (hkl): k + l even - 0kl (h=0): k + l even - h0l (k=0): h and l even - hk0 (l=0): k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group41_Aea2(h: int, k: int, l: int) bool#

Space group 41: Aea2. A-centering. Valid reflections must satisfy: - General (hkl): k + l even - 0kl (h=0): k and l even - h0l (k=0): h and l even - hk0 (l=0): k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group42_Fmm2(h: int, k: int, l: int) bool#

Space group 42: Fmm2. F-centering. Valid reflections must satisfy: - General (hkl): h + k, h + l, and k + l even - 0kl (h=0): k and l even - h0l (k=0): h and l even - hk0 (l=0): h and k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group43_Fdd2(h: int, k: int, l: int) bool#

Space group 43: Fdd2. F-centering. Valid reflections must satisfy: - General (hkl): h + k, h + l, and k + l even - 0kl (h=0): k and l even, k + l = 4n - h0l (k=0): h and l even, h + l = 4n - hk0 (l=0): h and k even - h00 (k=0, l=0): h % 4 == 0 - 0k0 (h=0, l=0): k % 4 == 0 - 00l (h=0, k=0): l % 4 == 0 validated

static group44_Imm2(h: int, k: int, l: int) bool#

Space group 44: Imm2. I-centering. Valid reflections must satisfy: - General (hkl): h + k + l even - 0kl (h=0): k + l even - h0l (k=0): h + l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group45_Iba2(h: int, k: int, l: int) bool#

Space group 45: Iba2. I-centering. Valid reflections must satisfy: - General (hkl): h + k + l even - 0kl (h=0): k and l even - h0l (k=0): h and l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group46_Ima2(h: int, k: int, l: int) bool#

Space group 46: Ima2. I-centering. Valid reflections must satisfy: - General (hkl): h + k + l even - 0kl (h=0): k + l even - h0l (k=0): h and l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group47_Pmmm(h: int, k: int, l: int) bool#

Space group 47: Pmmm. Primitive lattice. No reflection conditions — all (h, k, l) are allowed. validated

static group48_Pnnn(h: int, k: int, l: int) bool#

Space group 48: Pnnn. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k + l even - h0l (k=0): h + l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even No general condition on hkl. validated

static group49_Pccm(h: int, k: int, l: int) bool#

Space group 49: Pccm. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): l even - h0l (k=0): l even - 00l (h=0, k=0): l even No general condition on hkl. validated

static group4_P21(h: int, k: int, l: int) bool#

Space group 4: P21. Monoclinic, unique axis b.

Valid reflections must satisfy: - 0k0 (h = 0, l = 0): k even

Source: ITC validated

static group50_Pban(h: int, k: int, l: int) bool#

Space group 50: Pban. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k even - h0l (k=0): h even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even No general condition on hkl. validated

static group51_Pmma(h: int, k: int, l: int) bool#

Space group 51: Pmma. Primitive lattice. Valid reflections must satisfy: - hk0 (l=0): h even - h00 (k=0, l=0): h even No general condition on hkl. validated

static group52_Pnna(h: int, k: int, l: int) bool#

Space group 52: Pnna. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k + l even - h0l (k=0): h + l even - hk0 (l=0): h even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even No general condition on hkl. validated

static group53_Pmna(h: int, k: int, l: int) bool#

Space group 53: Pmna. Primitive lattice. Valid reflections must satisfy: - h0l (k=0): h + l even - hk0 (l=0): h even - h00 (k=0, l=0): h even - 00l (h=0, k=0): l even No general condition on hkl. validated

static group54_Pcca(h: int, k: int, l: int) bool#

Space group 54: Pcca. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): l even - h0l (k=0): l even - hk0 (l=0): h even - h00 (k=0, l=0): h even - 00l (h=0, k=0): l even No general condition on hkl. validated

static group55_Pbam(h: int, k: int, l: int) bool#

Space group 55: Pbam. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k even - h0l (k=0): h even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even No general condition on hkl. validated

static group56_Pccn(h: int, k: int, l: int) bool#

Space group 56: Pccn. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): l even - h0l (k=0): l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even No general condition on hkl. validated

static group57_Pbcm(h: int, k: int, l: int) bool#

Space group 57: Pbcm. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k even - h0l (k=0): l even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even No general condition on hkl. validated

static group58_Pnnm(h: int, k: int, l: int) bool#

Space group 58: Pnnm. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k + l even - h0l (k=0): h + l even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even No general condition on full hkl. validated

static group59_Pmmn(h: int, k: int, l: int) bool#

Space group 59: Pmmn. Primitive lattice. Valid reflections must satisfy: - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even No general condition on other hkl. validated

static group5_C2(h: int, k: int, l: int) bool#

Space group 5: C2. Monoclinic, unique axis b.

Valid reflections must satisfy: - General hkl: h + k = 2n - h0l (k = 0): h even - 0kl (h = 0): k even - hk0 (l = 0): h + k even - 0k0 (h = 0, l = 0): k even - h00 (k = 0, l = 0): h even

Source: ITC validated

static group60_Pbcn(h: int, k: int, l: int) bool#

Space group 60: Pbcn. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k even - h0l (k=0): l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even No general condition on full hkl. validated

static group61_Pbca(h: int, k: int, l: int) bool#

Space group 61: Pbca. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k even - h0l (k=0): l even - hk0 (l=0): h even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even No general condition on hkl. validated

static group62_Pnma(h: int, k: int, l: int) bool#

Space group 62: Pnma. Primitive lattice. Valid reflections must satisfy: - 0kl (h=0): k + l even - hk0 (l=0): h even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even No general condition on general hkl. validated

static group63_Cmcm(h: int, k: int, l: int) bool#

Space group 63: Cmcm. C-centering. Valid reflections must satisfy: - general hkl: h + k even - 0kl (h=0): k even - h0l (k=0): h and l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group64_Cmce(h: int, k: int, l: int) bool#

Space group 64: Cmce. C-centering. Valid reflections must satisfy: - general hkl: h + k even - 0kl (h=0): k even - h0l (k=0): h and l even - hk0 (l=0): h and k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group65_Cmmm(h: int, k: int, l: int) bool#

Space group 65: Cmmm. C-centering. Valid reflections must satisfy: - general hkl: h + k even - 0kl (h=0): k even - h0l (k=0): h even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even validated

static group66_Cccm(h: int, k: int, l: int) bool#

Space group 66: Cccm. C-centering. Valid reflections must satisfy: - general hkl: h + k even - 0kl (h=0): k, l even - h0l (k=0): h, l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group67_Cmme(h: int, k: int, l: int) bool#

Space group 67: Cmme. C-centering. Valid reflections must satisfy: - general hkl: h + k even - 0kl (h=0): k even - h0l (k=0): h even - hk0 (l=0): h, k even validated

static group68_Ccce(h: int, k: int, l: int) bool#

Space group 68: Ccce. C-centering. Valid reflections must satisfy: - general hkl: h + k even - 0kl (h=0): k, l even - h0l (k=0): h, l even - hk0 (l=0): h, k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group69_Fmmm(h: int, k: int, l: int) bool#

Space group 69: Fmmm. F-centering. Valid reflections must satisfy: - general hkl: h + k, h + l, k + l even - 0kl (h=0): k, l even - h0l (k=0): h, l even - hk0 (l=0): h, k even - h00 (k=0,l=0): h even - 0k0 (h=0,l=0): k even - 00l (h=0,k=0): l even validated

static group6_Pm(h: int, k: int, l: int) bool#

Space group 6: Pm. Monoclinic, unique axis b.

All reflections are allowed; no systematic absences. validated

static group70_Fddd(h: int, k: int, l: int) bool#

Space group 70: Fddd. F-centering. Valid reflections must satisfy: - general hkl: h + k, h + l, k + l even - 0kl (h=0): k + l = 4n, k, l even - h0l (k=0): h + l = 4n, h, l even - hk0 (l=0): h + k = 4n, h, k even - h00 (k=0, l=0): h = 4n - 0k0 (h=0, l=0): k = 4n - 00l (h=0, k=0): l = 4n validated

static group71_Immm(h: int, k: int, l: int) bool#

Space group 71: Immm. Body-centered lattice (I-centering). Valid reflections must satisfy: - general hkl: h + k, h + l, k + l even - 0kl (h=0): k + l = 4n, k, l even - h0l (k=0): h + l = 4n, h, l even - hk0 (l=0): h + k = 4n, h, k even - h00 (k=0, l=0): h = 4n - 0k0 (h=0, l=0): k = 4n - 00l (h=0, k=0): l = 4n validated

static group72_Ibam(h: int, k: int, l: int) bool#

Space group 72: Ibam. Body-centered lattice (I-centering). Valid reflections must satisfy: - general hkl: h + k + l even - 0kl (h=0): k, l even - h0l (k=0): h, l even - hk0 (l=0): h + k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group73_Ibca(h: int, k: int, l: int) bool#

Space group 73: Ibca. Body-centered lattice (I-centering). Valid reflections must satisfy: - general hkl: h + k + l even - 0kl (h=0): k, l even - h0l (k=0): h, l even - hk0 (l=0): h, k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group74_Imma(h: int, k: int, l: int) bool#

Space group 74: Imma. Body-centered lattice (I-centering). Valid reflections must satisfy: - general hkl: h + k + l even - 0kl (h=0): k + l even - h0l (k=0): h + l even - hk0 (l=0): h, k even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l even validated

static group75_P4(h: int, k: int, l: int) bool#

Space group 75: P4. Primitive tetragonal. All reflections are allowed; no systematic absences. validated

static group76_P41(h: int, k: int, l: int) bool#

Space group 76: P41. Primitive tetragonal. Valid reflections must satisfy: - 00l (h=0, k=0): l = 4n validated

static group77_P42(h: int, k: int, l: int) bool#

Space group 77: P42. Primitive tetragonal. Valid reflections must satisfy: - 00l (h=0, k=0): l = 2n validated

static group78_P43(h: int, k: int, l: int) bool#

Space group 78: P43. Primitive tetragonal. Valid reflections must satisfy: - 00l: l = 4n validated

static group79_I4(h: int, k: int, l: int) bool#

Space group 79: I4. Body-centered lattice (I-centering). Valid reflections must satisfy: - general hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): l even - 00l (h=0, k=0): l even - h00 (k=0, l=0): h even validated

static group7_Pc(h: int, k: int, l: int) bool#

Space group 7: Pc. Monoclinic, unique axis b.

Valid reflections: - h0l (k=0): l even - 00l (h=0, k=0): l even

Source: ITC validated

static group80_I41(h: int, k: int, l: int) bool#

Space group 80: I41. Body-centered tetragonal (I-centering). Valid reflections must satisfy: - general hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): l even - 00l (h=0, k=0): l = 4n - h00 (k=0, l=0): h even validated

static group81_P4bar(h: int, k: int, l: int) bool#

Space group 81: P4̅. No systematic absences. validated

static group82_I4bar(h: int, k: int, l: int) bool#

Space group 82: I4̅. Body-centered tetragonal (I-centering). Valid reflections must satisfy: - hkl: h + k + l even - hk0: h + k even - 0kl: k + l even - hhl: l even - 00l (h=0, k=0): l even - h00 (k=0, l=0): h even validated

static group83_P4m(h: int, k: int, l: int) bool#

Space group 83: P4/m. Tetragonal. All reflections are allowed; no systematic absences. validated

static group84_P42m(h: int, k: int, l: int) bool#

Space group 84: P42/m. Tetragonal. Valid reflections must satisfy: - 00l (h=0, k=0): l even validated

static group85_P4n(h: int, k: int, l: int) bool#

Space group 85: P4/n. Tetragonal. Valid reflections must satisfy: - hk0 (l=0): h + k even - h00 (k=0, l=0): h even validated

static group86_P42n(h: int, k: int, l: int) bool#

Space group 86: P42/n. Tetragonal. Valid reflections must satisfy: - hk0 (l=0): h + k even - 00l (h=0, k=0): l even - h00 (k=0, l=0): h even validated

static group87_I4m(h: int, k: int, l: int) bool#

Space group 87: I4/m. Body-centered tetragonal (I-centering). Valid reflections must satisfy: - hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl: l even - 00l (h=0, k=0): l even - h00 (k=0, l=0): h even validated

static group88_I41a(h: int, k: int, l: int) bool#

Space group 88: I41/a. Body-centered tetragonal (I-centering). Valid reflections must satisfy: - hkl: h + k + l even - hk0 (l=0): h, k even - 0kl (h=0): k + l even - hhl: l even - 00l (h=0, k=0): l = 4n - h00 (k=0, l=0): h even - hh0 (k=h, l=0): h even validated

static group89_P422(h: int, k: int, l: int) bool#

Space group 89: P 4 2 2. Tetragonal. All reflections are allowed; no systematic absences. validated

static group8_Cm(h: int, k: int, l: int) bool#

Space group 8: Cm. Monoclinic, unique axis b.

Valid reflections must satisfy: - General hkl: h + k = 2n - h0l (k = 0): h even - 0kl (h = 0): k even - hk0 (l = 0): h + k even - 0k0 (h = 0, l = 0): k even - h00 (k = 0, l = 0): h even

Source: ITC validated

static group90_P4212(h: int, k: int, l: int) bool#

Space group 90: P 4 21 2. Tetragonal. Valid reflections must satisfy: - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even (a & b are permutable in tetragonal) validated

static group91_P4122(h: int, k: int, l: int) bool#

Space group 91: P 41 2 2. Tetragonal Valid reflections must satisfy: - 00l (h=0, k=0): l = 4n validated

static group92_P41_21_2(h: int, k: int, l: int) bool#

Space group 92: P41 21 2. Tetragonal. Valid reflections must satisfy: - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even - 00l (h=0, k=0): l = 4n validated

static group93_P42_2_2(h: int, k: int, l: int) bool#

Space group 93: P42 2 2. Tetragonal. Valid reflections must satisfy: - 00l (h=0, k=0): l even validated

static group94_P42_21_2(h: int, k: int, l: int) bool#

Space group 94: P42 21 2. Tetragonal. Valid reflections must satisfy: - 00l (h=0, k=0): l even - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even (a & b are permutable in tetragonal) validated

static group95_P43_2_2(h: int, k: int, l: int) bool#

Space group 95: P43 2 2. Tetragonal. Valid reflections must satisfy: - 00l (h=0, k=0): l = 4n validated

static group96_P_43_21_2(h: int, k: int, l: int) bool#

Space group 96: P 43 21 2. Tetragonal. Valid reflections must satisfy: - 00l (h=0, k=0): l = 4n - h00 (k=0, l=0): h even - 0k0 (h=0, l=0): k even (a & b are permutable in tetragonal) Used in lysozyme. validated

static group97_I422(h: int, k: int, l: int) bool#

Space group 97: I422. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): l even - 00l (h=0, k=0): l even - h00 (k=0, l=0): h even validated

static group98_I4122(h: int, k: int, l: int) bool#

Space group 98: I4122. Tetragonal. I-centering. Valid reflections must satisfy: - hkl: h + k + l even - hk0 (l=0): h + k even - 0kl (h=0): k + l even - hhl (h=k): l even - 00l (h=0, k=0): l = 4n - h00 (k=0, l=0): h even validated

static group99_P4mm(h: int, k: int, l: int) bool#

Space group 99: P4mm. Tetragonal. Primitive lattice. No reflection conditions — all (h, k, l) are allowed. No systematic absences. validated

static group9_Cc(h: int, k: int, l: int) bool#

Space group 9: Cc. Monoclinic, unique axis b.

Valid reflections must satisfy: - General hkl: h + k = 2n - h0l (k = 0): h, l even - 0kl (h = 0): k even - hk0 (l = 0): h + k even - 0k0 (h = 0, l = 0): k even - h00 (k = 0, l = 0): h even - 00l (h = 0, k = 0): l even

Source: ITC validated