Semi-logarithmic grid¶
Construct a semi-logarithmically spaced grid. The grid consists of a concatenation of linearly spaced grids and starts with multiples of the smallest value. After a given number of points, the grid is “decimated” by doubling the spacing until a maximum value is reached. A logarithmic grid is obtained by decimation=1, decimation is disabled by default.
Example:
-- construct grid from 0.1 to 4, double spacing every 3 points
local grid = semilog_grid({start=0.1, stop=4, decimation=3})
-- print the result
for i,x in pairs(grid.value) do
io.write(x .. " ")
end
io.write("\n")
The result is a grid of 12 points: 0.1 0.2 0.3 0.4 0.6 0.8 1.0 1.4 1.8 2.2 3.0 3.8.
- halmd.observables.utility.semilog_grid.value¶
Return array of grid points.
- class halmd.observables.utility.semilog_grid(args)¶
Construct instance of semilog_grid module.
Parameters: - args (table) – keyword arguments
- args.start (number) – first grid point, corresponds to initial spacing
- args.stop (number) – upper limit on grid points (not included)
- args.decimation (integer) – decimation parameter: 0=disabled (default), 1=logarithmic, …
- halmd.observables.utility.semilog_grid.add_options(parser, defaults)¶
Add module options maximum and decimation to command line parser.
Parameters: - parser – instance of halmd.utility.program_options.argument_parser
- defaults (dictionary) – default values for the options