Intermediate scattering function¶
The module computes the intermediate scattering function
from the Fourier modes of a given pair of (partial) density fields,
and the total number of particles . 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.
- class halmd.observables.dynamics.intermediate_scattering_function(args)¶
Construct instance of halmd.observables.dynamics.intermediate_scattering_function.
Parameters: - args (table) – keyword arguments
- args.density_mode (table) – instance(s) of halmd.observables.density_mode
- args.norm (number) – normalisation factor
- args.label (string) – module label (optional)
Returns: instance of intermediate scattering function module
The argument density_mode is an instance or a table of up to 2 instances of halmd.observables.density_mode yielding the partial density modes
and
. They must have been constructed with the same instance of halmd.observables.utility.wavevector. Passing only one instance implies
.
The optional argument label defaults to density_mode[1].label .. "/" .. density_mode[2].label.
- disconnect()¶
Disconnect module from profiler.
- acquire()¶
Acquire density mode sample.
Returns: density mode sample
- label¶
The module label passed upon construction or derived from the density modes.
- desc¶
Module description.
- class writer(args)¶
Construct file writer and output wavenumbers.
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, "intermediate_scattering_function"}.