coulomb_mc.mc_fmm_lm module

This module implements the functionality for the local expansion version of the algorithm.

class coulomb_mc.mc_fmm_lm.MCFMM_LM(positions, charges, domain, boundary_condition, r, l)

Bases: coulomb_mc.mc_common.MCCommon

accept(move, energy_diff=None)

Accept a proposed move. Note the move does not have to be “proposed” before it can be accepted.

Parameters
  • move – tuple (id, new_position) that identifies the move.

  • energy_diff – float, new system total electrostatic energy. If none (default) the energy will be computed.

free()
get_lib_combined_args(ix, position, ptr_new_position, old_energy, new_energy, old_time_taken, new_time_taken)
initialise()

Initialise the solver. Must be called before proposing or accepting moves.