kappa4ch — Kappa Four-Circle (horizontal)#
Four-circle kappa diffractometer, horizontal scattering plane. The chi circle is replaced by a kappa arm tilted at α = 50° from the vertical axis toward the longitudinal axis (along the incident beam), lying entirely in the vertical–longitudinal plane. Laboratory convention.
Walko (2016) designation: S3D1 (kappa)
Coordinate basis: Busing & Levy (BASIS_BL): transverse=+x, longitudinal=+y, vertical=+z.
Quick start#
import ad_hoc_diffractometer as ahd
g = ahd.make_geometry("kappa4ch")
g.wavelength = 1.0 # Å
print(g.summary())
Demo geometry definition#
This geometry is defined by the kappa4ch — Kappa Four-Circle (horizontal) factory function — see the source for the complete stage and mode configuration.
Stage layout#
Static fallback (click to expand if the interactive figure above is blank)
Sample stages (base first):
Stage |
Axis |
Handedness |
Parent |
|---|---|---|---|
|
vertical (−z in BL) |
left-handed |
base |
|
(cos α)·vertical + (sin α)·longitudinal = (cos α)·ẑ + (sin α)·ŷ in BL (α = 50°) |
right-handed |
|
|
vertical (−z in BL) |
left-handed |
|
Detector stages (base first):
Stage |
Axis |
Handedness |
Parent |
|---|---|---|---|
|
vertical (−z in BL) |
left-handed |
base |
How the kappa axis is defined#
The kappa rotation axis is inclined by α from the omega axis, lying in the plane that contains both omega and the equivalent-Eulerian chi axis, and tilted from omega toward that chi direction (Walko 2016 §4.1; ITC Vol. C §2.2.6.2: “the κ axis is inclined at 50° to the ω axis”).
For kappa4ch the omega axis lies along the vertical line
and the equivalent-Eulerian chi axis lies along the longitudinal
direction (along the X-ray beam). The kappa arm therefore lies in
the vertical–longitudinal plane, tilted by α from the
vertical line toward +L:
In the BL basis (V=+ẑ, L=+ŷ) at α = 50° this is
The transverse component is exactly zero: the kappa arm rises upward and toward the X-ray source/sample direction in the plane that contains the vertical omega axis and the beam.
Published reference figure. This convention matches Wyckoff
(1985) Figure 2(b) on p. 334 — the canonical Enraf-Nonius kappa
diffractometer in the horizontal-scattering laboratory layout.
ITC Vol. C §2.2.6 cites this figure as the schematic for the
kappa goniostat. Walko (2016) Figure 3 shows the same instrument
rotated 90° onto the vertical scattering plane (the kappa4cv
convention).
The omega axis sense (komega = −vertical = left-handed
rotation about +V) follows Walko’s left-handed sign convention.
ITC Vol. C §2.2.6.2 prefers a right-handed sign convention for
omega/chi/phi; the two are equivalent up to motor-angle sign
flips.
Virtual Eulerian angles omega, chi, phi are mapped
to / from the real motors via the geometry-aware decomposition in
eulerian_to_kappa_axes() and
kappa_to_eulerian_axes().
Diffraction modes#
Each mode is a ConstraintSet of 1 constraint
(N − 3 = 1 for N = 4 DOF).
Identical mode set to kappa4cv — Kappa Four-Circle (vertical).
See Switch Diffraction Modes for usage and Work with Constraints and Diffraction Modes for
changing constraint values at run time.
bisecting (default)#
VirtualBisectConstraint:
omega_virtual = ttheta / 2 enforced on the virtual Eulerian
omega pseudoangle. Solved via the geometry-aware
eulerian_to_kappa_axes()
decomposition.
Computed |
komega, kappa, kphi, ttheta |
Constant during |
— |
fixed_kphi#
SampleConstraint:
kphi held at declared value (default 0°) — real stage, no kappa inversion needed.
Computed |
komega, kappa, ttheta |
Constant during |
kphi |
fixed_omega#
Fix virtual Eulerian omega at declared value (default 0°) — see kappa4cv — Kappa Four-Circle (vertical) for details.
Computed |
komega, kappa, kphi, ttheta |
Constant during |
omega (virtual) |
fixed_chi#
Fix virtual Eulerian chi at declared value (default 90°).
Computed |
komega, kappa, kphi, ttheta |
Constant during |
chi (virtual) |
fixed_phi#
Fix virtual Eulerian phi at declared value (default 0°).
Computed |
komega, kappa, kphi, ttheta |
Constant during |
phi (virtual) |
fixed_psi#
ReferenceConstraint:
azimuthal angle ψ validation filter.
Set g.azimuthal_reference = (h, k, l) before calling forward().
Returns bisecting solutions only when the natural ψ for (h,k,l) matches
the stored target. See Surface Geometry and the Reference Vector.
Extras (input) |
n̂ (reference vector), ψ (target azimuth, degrees) |
Extras (output) |
psi (computed azimuth) |
API reference#
References#
H.W. Wyckoff, Diffractometry, in Methods in Enzymology 114, 330–386 (1985), Figure 2(b) on p. 334 (canonical Enraf-Nonius kappa diffractometer). DOI: 10.1016/0076-6879(85)14026-7.
D.A. Walko, Multicircle Diffractometry Methods, in Reference Module in Materials Science and Materials Engineering (Elsevier, 2016), §4.1, equation [16]. DOI: 10.1016/B978-0-12-803581-8.01215-7.
W.R. Busing & H.A. Levy, Angle calculations for 3- and 4-circle X-ray and neutron diffractometers, Acta Cryst. 22, 457–464 (1967) (BL coordinate basis). DOI: 10.1107/S0365110X67000970.
International Tables for Crystallography, Vol. C, §2.2.6 (2006), p. 36 (α = 50° convention; cites Wyckoff 1985 for the schematic picture). DOI: 10.1107/97809553602060000577.