Accumulator¶
This module accumulates values (e.g., the pressure) over the course of the simulation and returns statistical measures (e.g., sum, mean, and variance).
- class halmd.observables.utility.accumulator(args)¶
Construct accumulator module.
Parameters: - args – keyword arguments
- args.acquire – callable that returns a number
- args.every (number) – interval for aquiring the value
- args.start (number) – start step for aquiring the value (default: halmd.mdsim.clock.step)
- args.desc (string) – profiling description
- args.aux_enable (table) – sequence of halmd.mdsim.particle instances (optional)
The parameter aux_enable is useful if acquire() depends on one of the auxiliary force variables, see halmd.mdsim.particle.aux_enable() for details. In sampling steps of the accumulator, each particle instance listed in aux_enable is notified to update the auxiliary variables before the integration step. Thereby, redundant force calculations can be avoided.
- sample()¶
Sample next value by calling args.acquire.
- sum()¶
Sum of accumulated values. Calculated as mean × count.
- mean()¶
Mean of accumulated values.
- error_of_mean()¶
Standard error of mean of accumulated values.
- variance()¶
Variance of accumulated values.
- count()¶
Number of samples accumulated.
- reset()¶
Reset the accumulator.
- disconnect()¶
Disconnect accumulator from core.
- desc¶
Profiler description.
- writer(file, args)¶
Write statistical measures to a file.
Parameters: - args (table) – keyword arguments
- args.file – instance of file writer
- args.location (string table) – location within file
- args.every (number) – sampling interval
- args.reset (boolean) – Reset accumulator after writing if true (disabled by default).
Returns: instance of group writer
The argument location specifies a path in a structured file format like H5MD given as a table of strings, for example {"observables", "averaged_pressure"}.