coulomb_kmc.kmc_fmm_self_interaction module

class coulomb_kmc.kmc_fmm_self_interaction.FMMSelfInteraction(fmm, domain, boundary_condition, local_exp_eval, mirror_direction=None)

Bases: object

Handles the self interaction between the new position and old position of a proposed move.

Parameters
  • fmm – PyFMM instance to use.

  • domain – domain to use.

  • boundary_condition – Boundary condition of the KMC instance.

  • local_exp_eval – LocalExpEval instance to use for expansion manipulation.

  • mirror_direction – Mirror direction tuple for Dirichlet boundary conditions (default None).

accept(movedata)
initialise()
propose(total_movs, num_particles, host_data, cuda_data, arr, use_python=False)

Propose a move using the coulomb_kmc internal proposed move data structures. For details see coulomb_kmc.kmc_mpi_decomp.FMMMPIDecomp.setup_propose_with_dats.