FLUKA is a general purpose tool for calculations of particle transport and interactions with matter, covering an extended range of applications spanning from proton and electron accelerator shielding to target design, calorimetry, activation, dosimetry, detector design, Accelerator Driven Systems, cosmic rays, neutrino physics, radiotherapy etc.
The highest priority in the design and development of FLUKA has always been the implementation and improvement of sound and modern physical models. Microscopic models are adopted whenever possible, consistency among all the reaction steps and/or reaction types is ensured, conservation laws are enforced at each step, results are checked against experimental data at single interaction level. As a result, final predictions are obtained with a minimal set of free parameters fixed for all energy/target/projectile combinations. Therefore results in complex cases, as well as properties and scaling laws, arise naturally from the underlying physical models, predictivity is provided where no experimental data are directly available, and correlations within interactions and among shower components are preserved.
FLUKA can simulate with high accuracy the interaction and propagation in matter of about 60 different particles, including photons and electrons from 1 keV to thousands of TeV, neutrinos, muons of any energy, hadrons of energies up to 20 TeV (up to 10 PeV by linking FLUKA with the DPMJET code) and all the corresponding antiparticles, neutrons down to thermal energies and heavy ions. The program can also transport polarised photons (e.g., synchrotron radiation) and optical photons. Time evolution and tracking of emitted radiation from unstable residual nuclei can be performed online.
FLUKA can handle even very complex geometries, using an improved version of the well-known Combinatorial Geometry (CG) package. The FLUKA CG has been designed to track correctly also charged particles (even in the presence of magnetic or electric fields). Various visualisation and debugging tools are also available.
For most applications, no programming is required from the user. However, a number of user interface routines (in Fortran 77) are available for users with special requirements.
The FLUKA physical models are described in several journal and conference papers; on the technical side the stress has been put on four apparently conflicting requirements, namely efficiency, accuracy, consistency and flexibility.
Efficiency has been achieved by having a frequent recourse to table look-up sampling and a systematic use of double precision has had a great impact on overall accuracy: both qualities have benefited from a careful choice of the algorithms adopted. To attain a reasonable flexibility while minimising the need for user-written code, the program has been provided with a large number of options available to the user, and has been completely restructured introducing dynamical dimensioning.
Another feature of FLUKA, probably not found in any other Monte Carlo program, is its double capability to be used in a biased mode as well as a fully analogue code. That means that while it can be used to predict fluctuations, signal coincidences and other correlated events, a wide choice of statistical techniques are also available to investigate punchthrough or other rare events in connection with attenuations by many orders of magnitude.
For more detailed information you can see the manuals available in documentation.
These are the two main publications which should be referenced in context of using the current FLUKA package:
"The FLUKA Code: Developments and Challenges for High Energy and