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"}.