Self-Intermediate Scattering Function

The module computes the (real part of the) self-intermediate scattering function

\[F(\vec k, t) = \frac{1}{N} \bigl\langle \sum_{n=1}^{N} \exp\boldsymbol(\text{i} \vec k \cdot [\vec r_n(t) - r_n(0)] \boldsymbol) \bigr\rangle\]

from the particle positions \(r_n(t)\) of the given phase space sample The result is averaged over wavevectors of similar magnitude according to the shells defined by halmd.observables.utility.wavevector.

For details see, e.g., Hansen & McDonald: Theory of simple liquids, chapter 7.4.

The auxiliary module halmd.observables.utility.wavevector provides suitable wavevectors that are compatible with the reciprocal lattice of the periodic simulation box.

class halmd.observables.dynamics.self_intermediate_scattering_function(args)

Construct self-intermediate scattering function.

Parameters:
Returns:

instance of self-intermediate scattering function module

The optional argument label defaults to phase_space.group.label.

acquire()

Acquire phase space position sample.

Returns:

phase space position sample

disconnect()

Disconnect module from profiler.

wavevector

The wavevector instance passed upon construction.

label

The module label passed upon construction or derived from the phase space sampler.

desc

Module description.

class writer(args)

Construct file writer.

Parameters:
  • args (table) – keyword arguments

  • args.file – instance of file writer

  • args.location (string table) – location within file (optional)

Returns:

file writer as returned by file:writer().

The argument location specifies a path in a structured file format like H5MD given as a table of strings. It defaults to {"dynamics", self.label, "self_intermediate_scattering_function"}.