Search papers, labs, and topics across Lattice.
This paper introduces a novel Diffusion Monte Carlo (DMC) algorithm that utilizes a depth-first traversal and stack-based approach, diverging from the traditional breadth-first swarm method. The proposed DMCD method demonstrates improved memory efficiency and better handling of population control and descendant weighting, while also unifying the treatment of eigenvalue and linear equation problems. The implementation addresses the challenge of maintaining a starter pool for new walkers, suggesting that DMCD could become the preferred choice for various DMC applications.
A stack-based DMC algorithm can significantly enhance memory efficiency and unify eigenvalue and linear equation problem treatments, potentially transforming DMC applications.
Diffusion Monte Carlo (DMC) and Monte Carlo for particle transport with importance sampling both involve simulations of weighted walkers that undergo birth and death processes (splitting and Russian Roulette). The established implementations of these methods are quite different: Particle simulation Monte Carlo employs a stack to handle the splitting history whereas in traditional DMC one follows a swarm of walkers. The particle simulation Monte Carlo approach involves a depth first traversal of the visited configurations whereas the traditional DMC approach may be seen as a breadth first traversal. In the present work the implementation of a depth first, stack based approach to DMC is described and a complete code is presented. The depth first approach, called DMCD here, can be more memory efficient than the breadth first approach, both for total memory and for use of a memory hierarchy and of co-processors. The implementation appears very natural for population control and for descendant weighting and it unifies algorithmic treatment of the eigenvalue problem (DMC) with the linear equation problem (particle transport). A concern with DMCD that is not present in the breadth first approach, and that is successfully addressed here, is the need to maintain a pool of starters for use when a new walker is required and the stack is empty. The DMCD approach appears to have the potential to become the preferred implementation for many DMC applications.