List of q-vector generators

CircularLatticeQVectors

Generates Q vectors on a plane perpendicular to the ‘axis’ vector.

Vectors are grouped into shells limited to the range of (q - width/2, q + width/2) around the shell centre q.

Only vectors commensurate with the reciprocal space lattice will be generated. If more lattice vectors than requested are available in the requested range for a shell, a subset of the vectors will be selected with the probability given as a Gaussian function with FWHM of width/2 and centred on the \(|q|\) which is the nominal centre of the shell.

\(|Q|\) values for which no valid vectors can be found are omitted in the output.

Inputs:

CircularQVectors

Generates Q vectors as concentric circles on a plane.

Vectors will be generated as shells of vectors of similar lengths and random orientations on a plane perpendicular to the ‘axis’ vector.

The vector lengths in a single shell assume a normal distribution with the FWHM of ‘width’/2 and limited to the range of (q - width/2, q + width/2) around the shell centre defined by the ‘shells’ input.

Inputs:

DispersionLatticeQVectors

Generates Q vectors along a line in the HKL units of the simulation box.

The input ‘start’ and ‘step’ vectors are expressed as HKL values of the crystal lattice defined by the simulation box. Every vector will be generated as \(\mathbf{k}_{start} + n\mathbf{k}_{step}\) for integer n from 0 to n_steps.

Inputs:

DispersionQVectors

Generates Q vectors along a path between two points.

As opposed to DispersionLatticeQVectors, the vectors will not necessarily correspond to integer HKL values.

Inputs:

GridQVectors

Generates vectors on a grid.

Vectors are generated from HKL values based on the definition of the unit cell.

As opposed to MillerIndicesQVectors, this generator will use ALL the vectors in the specified range, assigning each one of them to one of the shells.

The qstep parameter defines the size of the bin used for grouping vectors into shells based on their length.

Inputs:

LinearLatticeQVectors

Generates vectors randomly on a straight line.

Only vectors commensurate with the reciprocal space lattice will be generated. If more lattice vectors than requested are available in the requested range for a shell, a subset of the vectors will be selected with the probability given as a Gaussian function with FWHM of width/2 and centred on the \(|q|\) which is the nominal centre of the shell.

\(|Q|\) values for which no valid vectors can be found are omitted in the output. Most calculations will produce one data point per \(|Q|\) by averaging the results over all vectors in the group, which is still called a shell.

Inputs:

LinearQVectors

Generates vectors randomly on a straight line.

Most calculations will produce one data point for \(|Q|\) by averaging the results over all vectors in the group, which is still called a shell.

The vector lengths in a single shell assume a normal distribution with the FWHM of ‘width’/2 and limited to the range of (q - width/2, q + width/2) around the shell centre defined by the ‘shells’ input.

Inputs:

MillerIndicesQVectors

Generates vectors on a grid.

Vectors are generated from HKL values based on the definition of the unit cell. They are then grouped into shells based on their length.

Inputs:

SphericalLatticeQVectors

Generates randomly-selected lattice vectors grouped into spheres.

Only vectors commensurate with the reciprocal space lattice will be generated. If more lattice vectors than requested are available in the requested range for a shell, a subset of the vectors will be selected with the probability given as a Gaussian function with FWHM of width/2 and centred on the \(|q|\) which is the nominal centre of the shell.

\(|Q|\) values for which no valid vectors can be found are omitted in the output. Most calculations will produce one data point per \(|Q|\) by averaging the results over all vectors in the shell.

Inputs:

SphericalQVectors

Generates vectors randomly on a sphere.

Most calculations will produce one data point for \(|Q|\) by averaging the results over all vectors in the shell.

The vector lengths in a single shell assume a normal distribution with the FWHM of ‘width’/2 and limited to the range of (q - width/2, q + width/2) around the shell centre defined by the ‘shells’ input.

Inputs: