Static structure factor¶
The module computes the static structure factor
from the Fourier modes of a given pair of (partial) density fields,
and the total number of particles \(N\). 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 4.1.
- class halmd.observables.ssf(args)¶
Construct instance of
halmd.observables.ssf.- Parameters:
args (table) – keyword arguments
args.density_mode – instance(s) of
halmd.observables.density_modeargs.norm (number) – normalisation factor
args.label (string) – module label (optional)
- Returns:
instance of static structure factor module
The argument
density_modeis an instance or a table of 1 or 2 instances ofhalmd.observables.density_modeyielding the partial density modes \(\rho_\alpha(\vec k)\) and \(\rho_\beta(\vec k)\). They must have been constructed with the same instance ofhalmd.observables.utility.wavevector. Passing only one instance implies \(\alpha = \beta\).The optional argument
labeldefaults todensity_mode[1].label .. "/" .. density_mode[2].label.- disconnect()¶
Disconnect static structure factor module from profiler.
- sampler¶
Callable that yields the static structure factor from the current density modes.
- label¶
The module label passed upon construction or derived from the density modes.
- class writer(args)¶
Write time series of static structure factor to file.
- Parameters:
args (table) – keyword arguments
args.file – instance of file writer
args.location (string table) – location within file (optional)
args.every (number) – sampling interval
- Returns:
instance of density mode writer
The argument
locationspecifies a path in a structured file format like H5MD given as a table of strings. It defaults to{"structure", self.label, "static_structure_factor"}.- disconnect()¶
Disconnect static structure factor writer from observables sampler.