s2d2 — S2D2 General-Inclination Four-Circle#
S2D2 geometry with two independent sample axes (mu, Z) and two independent detector axes (nu, delta), all mechanically decoupled.
Walko (2016) designation: S2D2
Coordinate basis: You (1999) (BASIS_YOU): vertical=+x, longitudinal=+y, transverse=+z.
Quick start#
import ad_hoc_diffractometer as ahd
g = ahd.presets.s2d2()
g.wavelength = 1.0 # Å
print(g.summary())
Pre-built geometry definition#
This geometry is defined by the s2d2() 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 (+x) |
right-handed |
base |
|
+longitudinal (+y) |
right-handed |
|
Detector stages (base first):
Stage |
Axis |
Handedness |
Parent |
|---|---|---|---|
|
+vertical (+x) |
right-handed |
base |
|
−transverse (−z) |
left-handed |
|
Diffraction modes#
Each mode is a ConstraintSet of 1 constraint
(N − 3 = 1 for N = 4 DOF).
See Work with Constraints and Diffraction Modes for the constraint framework.
fixed_mu#
SampleConstraint:
mu held at declared value (default 0°) — the incidence angle when the
surface normal is aligned.
The caller chooses the value by constructing a
ConstraintSet — see
Work with Constraints and Diffraction Modes.
Computed |
Z, nu, delta |
Constant during |
mu |
reflectivity#
ReferenceConstraint:
symmetric reflection — incidence angle equals exit angle (alpha_i = beta_out).
Requires g.surface_normal = (h, k, l) — see Surface Geometry and the Reference Vector.
Computed |
mu, Z, nu, delta |
Constant during |
— |
Extras (input) |
n̂ (surface normal) |
Extras (output) |
alpha_i, beta_out |
API reference#
References#
Evans-Lutterodt & Tang, J. Appl. Cryst. 28, 318–326 (1995). DOI: 10.1107/S0021889895001063
Walko, Ref. Module Mater. Sci. Mater. Eng. (2016).