fivec — Eulerian Five-Circle (Vlieg et al. 1987)#

Five-circle diffractometer: a standard fourcv() (Eulerian four-circle) mounted on a vertical mu base stage. Sample and detector are coupled through mu.

Walko (2016) designation: (S3D1)1

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

Quick start#

import ad_hoc_diffractometer as ahd

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

Pre-built geometry definition#

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

fivec stage layout

Sample stages (base first):

Stage

Axis

Handedness

Parent

mu

+vertical (+x)

right-handed, shared base

base

omega

−transverse (−z)

left-handed

mu

chi

+longitudinal (+y)

right-handed

omega

phi

−transverse (−z)

left-handed

chi

Detector stages (base first):

Stage

Axis

Handedness

Parent

ttheta

−transverse (−z)

left-handed

mu

Shared stage: mu (base stage shared between sample and detector stacks)

Diffraction modes#

Set the active mode with g.mode_name = "<mode>". Each mode is a ConstraintSet of 2 constraints (N − 3 = 2 for N = 5 DOF). With mu = 0, fivec() reduces identically to fourcv(). See Switch Diffraction Modes for usage and Work with Constraints and Diffraction Modes for changing constraint values at run time.

bisecting_4c (default)#

SampleConstraint + BisectConstraint: mu = 0, omega = ttheta / 2. Reduces to standard four-circle bisecting geometry.

Computed

omega, chi, phi, ttheta

Constant during forward()

mu = 0

fixed_chi#

SampleConstraint × 2: mu = 0. chi is held at the value declared in the constraint (factory default: 90°). The caller chooses the value by constructing a ConstraintSet; the constraint persists until replaced — see Work with Constraints and Diffraction Modes.

Computed

omega, phi, ttheta

Constant during forward()

mu = 0, chi

fixed_phi#

SampleConstraint × 2: mu = 0. phi is held at the value declared in the constraint (factory default: 0°). The caller chooses the value by constructing a ConstraintSet.

Computed

omega, chi, ttheta

Constant during forward()

mu = 0, phi

fixed_mu#

SampleConstraint + BisectConstraint: omega = ttheta / 2. mu is held at the value declared in the constraint (factory default: 0°). The caller chooses the value by constructing a ConstraintSet. Intended for non-zero mu once the tilted-plane solver is implemented.

Computed

omega, chi, phi, ttheta

Constant during forward()

mu

fixed_omega_noncoplanar#

SampleConstraint × 2: mu = 0. omega is held at the value declared in the constraint (factory default: 0°). The caller chooses the value by constructing a ConstraintSet.

Computed

mu, chi, phi, ttheta

Constant during forward()

mu = 0, omega

API reference#

References#

  • Vlieg et al., J. Appl. Cryst. 20, 330–337 (1987). DOI: 10.1107/S0021889887087266

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