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
- 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
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