sixc — Eulerian Six-Circle, Surface (Lohmeier & Vlieg 1993)#

Six-circle surface diffractometer. Sample and detector share a common alpha (rotary table) base stage. Supports both bulk crystallography (four-circle mode) and surface diffraction.

Walko (2016) designation: (S3D2)1

Coordinate basis: You (1999) (BASIS_YOU): vertical=+x, longitudinal=+y, transverse=+z.

Quick start#

import ad_hoc_diffractometer as ahd

g = ahd.presets.sixc()
g.wavelength = 1.0  # Å
print(g.summary())

Pre-built geometry definition#

This geometry is defined by the sixc() 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)

sixc stage layout

Sample stages (base first):

Stage

Axis

Handedness

Parent

alpha

+vertical (+x)

right-handed, shared base

base

omega

−transverse (−z)

left-handed

alpha

chi

+longitudinal (+y)

right-handed

omega

phi

−transverse (−z)

left-handed

chi

Detector stages (base first):

Stage

Axis

Handedness

Parent

delta

−transverse (−z)

left-handed

alpha

gamma

+vertical (+x)

right-handed

delta

Shared stage: alpha (rotary table base shared between sample and detector stacks)

Diffraction modes#

Set the active mode with g.mode_name = "<mode>". Each mode is a ConstraintSet of 3 constraints (N − 3 = 3 for N = 6 DOF). See Switch Diffraction Modes for usage and Work with Constraints and Diffraction Modes for changing constraint values at run time.

bisecting_4c (default)#

SampleConstraint + DetectorConstraint + BisectConstraint: alpha = 0, gamma = 0, omega = delta / 2. Reduces to standard four-circle bisecting geometry.

Computed

omega, chi, phi, delta

Constant during forward()

alpha = 0, gamma = 0

fixed_gamma_5c#

DetectorConstraint + SampleConstraint + BisectConstraint: alpha = 0, omega = delta / 2. gamma is held at the value declared in the constraint (factory default: 0°). The caller chooses the value by constructing a ConstraintSet; the constraint persists until replaced — see Work with Constraints and Diffraction Modes.

Computed

omega, chi, phi, delta, alpha

Constant during forward()

gamma, alpha = 0

fixed_alpha_5c#

SampleConstraint + BisectConstraint + DetectorConstraint: omega = delta / 2, gamma = 0. alpha is held at the value declared in the constraint (factory default: 0°). The caller chooses the value by constructing a ConstraintSet.

Computed

omega, chi, phi, delta, gamma

Constant during forward()

alpha, gamma = 0

fixed_alpha_zaxis#

SampleConstraint × 2 + ReferenceConstraint: Z-axis mode with fixed incidence angle. Requires g.surface_normal = (h, k, l) — see Surface Geometry and the Reference Vector.

Computed

omega, delta, gamma

Constant during forward()

alpha (= β_in), chi, phi

Extras (input)

n̂ (surface normal)

Extras (output)

alpha_i (incidence angle), beta_out (exit angle)

fixed_beta_zaxis#

DetectorConstraint + SampleConstraint + ReferenceConstraint: Z-axis mode with fixed exit angle. Requires g.surface_normal = (h, k, l) — see Surface Geometry and the Reference Vector.

Computed

omega, delta, alpha

Constant during forward()

gamma (= β_out), chi

Extras (input)

Extras (output)

alpha_i, beta_out

alpha_eq_beta_zaxis#

SampleConstraint × 2 + ReferenceConstraint: Z-axis mode, symmetric reflection (α = γ, β_in = β_out). Requires g.surface_normal = (h, k, l) — see Surface Geometry and the Reference Vector.

Computed

omega, delta, alpha, gamma

Constant during forward()

chi, phi

Extras (input)

Extras (output)

alpha_i, beta_out

API reference#

References#

  • Lohmeier & Vlieg, J. Appl. Cryst. 26, 706–716 (1993). DOI: 10.1107/S0021889893006198

  • Walko, Ref. Module Mater. Sci. Mater. Eng. (2016).