Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] admc_v3_0.tar.gz(68 Kbytes)
Manuscript Title: Foam: a general-purpose cellular Monte Carlo event generator.
Authors: S. Jadach
Program title: Foam++, version 2.05
Catalogue identifier: ADMC_v3_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 152(2003)55
Programming language: C++.
Computer: PC 550 MHZ Intel chip.
Operating system: UNIX (Linux 6.x).
RAM: 50M words
Keywords: Monte Carlo (MC) simulation and generation, Particle physics, Phase space, Computational methods, Utility.
Classification: 4.14.

Nature of problem:
Monte Carlo simulation or generation of unweighted (weight equal 1) events is a standard problem in many areas of research. It is highly desirable to have in the program library a general-purpose numerical tool (program) with a MC generation algorithm featuring built-in capability of adjusting automatically the generation procedure to an arbitrary pattern of singularities in the probability distribution. Our primary goal is simulation of the differential distribution in the multiparticle Lorentz invariant phase space for the purpose of comparison between Quantum Field Theory prediction and experiments in the high energy experiments.

Solution method:
In the algorithm, a grid (foam) of cells is built in the process of the binary split of the cells. The resulting foam is adapted automatically to the shape of the integrand in such a way that the resulting ration of average weight to maximum weight or variance to average weight is arbitrarily good. The above algorithm, is a substantial improvement on the previous version in Ref. [1]. The divisionof the cell is improved and, in addition to cells of a simplical shape of Ref. [1], hyperrectangular cells are also used.

The program is memory-hungry and therefore limited, at present, to relatively small dimensions <= 16. (In Foam 1.x of Ref. [1] the dimension was limited to n<=6.)

Running time:
The CPU time necessary to build up a foam of cells depends strongly on the number of dimensions and the requested size of the grid. On the PC with a 550 MHz Intel chip, it takes about 30 seconds to build a hyperrectangular grid of 10000 cells for a simple 3-dimensional distribution.

[1] S. Jadach, Comput. Phys. Commun. 130(2000)244.