Since several years, the FLUKA source code has been organised in "modules".
This word must not be intended to have the technical meaning which it has
been assigned later in Fortran 90. A FLUKA module is simply a collection of
routines covering the same physics field or belonging to the same class
of functionality.
In the FLUKA2006 version, there are 31 modules:
BAMJM : new hadronisation package (strongly improved version of the
original BAMJET [Rit84])
BLOCKM : block data routines
COMLATM : all geometry routines specific for combinatorial geometry
(CG) and repetition (lattice capability) in the geometry
description
DECAYM : all routines connected with particle decays during transport,
including those managing polarisation or non phase-space-like
decays for pions, kaons, muons and taus
DEDXM : all routines connected with dE/dx and radiative losses of
hadrons and muons, including delta-ray production and cross-
sections for muon photonuclear interactions
DPMM : interface routines for the DPMJET generator
DUM : dummy routines
ELSM : all hadron and photon (photonuclear) cross section routines
EMFM : all routines dealing with electron, positron and photon transport
and interactions (except for photon photonuclear interactions,
fluorescent X-ray and Auger production)
EVENTQM : auxiliary routines for the high energy hadronic interaction
generators
EVENTVM : all routines (besides those in EVENTQM) connected with the high
energy hadronic inelastic interaction package
EVFFRM : separate module with all evaporation, fission and Fermi break-up
routines
FLUOXM : all routines dealing with fluorescence X-ray and Auger production
GEOLATM : geometry navigation and debugging routines
KASKADM : general event steering, most of the relevant transport routines
for hadron and muon transport, including magnetic field tracking,
most of material and region dependent initialisation and source
routines
LOWNEUM : all routines concerning the multigroup treatment of "low" energy
(E < 19.6 MeV) neutrons
MAINM : main, input parsing and auxiliary routines
MATHM : mathematical auxiliary routines (interpolation, integration, etc.)
Many of them adapted from SLATEC (http://www.netlib.org/slatec).
NEUTRIM : nuclear interactions of neutrinos
NOPTM : all routines connected with new scoring options implemented after
FLUKA86, and blank COMMON setting for scoring options.
OPPHM : optical photon production and transport
OUTPUTM : printing routines (apart from output of new options which is
performed in NOPTM)
PEMFM : electromagnetic initialisation
PGM : PLOTGEOM geometry drawing package
PRECLM : full PEANUT second part
PREEQM : full PEANUT first part
PRIPROM : initialisation and drivers for PEANUT
RNDM : random number generation, including gaussian-distributed random
numbers
RQMDM : interface routines for the RQMD generator
USERM : user oriented routines (see list below)
IBMM/HPM/LINUXM/OSFM/VAXM : timing and "environment" routines. These are
machine specific.
User oriented routines (see description in 13}):
The "FLUKA User Routines" mentioned at point 3) in the FLUKA User License are
those (and only those) contained in the directory usermvax, both in the source
and binary versions of the code.
ABSCFF : absorption coefficient (for optical photons)
COMSCW : response functions, user dependent selection for density-like
quantities
DFFCFF : diffusion coefficient (for optical photons)
ENDSCP : energy density distributed - change of positions
FLDSCP : fluence distributed - change of positions
FLUSCW : response functions, user dependent selection for flux-like
quantities
FORMFU : nuclear charge form factors
FRGHNS : material roughness (for optical photons)
FUSRBV : defines a continuous variable for 3-D binnings
LATTIC : symmetry transformation for lattice geometry
LUSRBL : defines a discrete variable for 3-D binnings
MAGFLD : to use a magnetic field map
MDSTCK : management of secondary stack
MGDRAW : to dump trajectories, etc.
MUSRBR : defines a discrete variable for 3-D binnings
OPHBDX : boundary crossing properties (for optical photons)
QUEFFC : quantum efficiency (for optical photons)
RFLCTV : reflectivity (for optical photons)
RFRNDX : refraction index (for optical photons)
SOEVSV : saving source events
SOURCE : to generate any distribution for source particles
STUPRE : set user variables (electrons and photons)
STUPRF : set user variables (hadrons, muons and neutrinos)
UBSSET : to override input biasing parameters
UDCDRL : decay direction biasing
USIMBS : user-defined importance biasing
USREIN : event initialisation
USREOU : post-event output
USRINI : user initialisation
USRMED : to perform user driven biasing and/or particle selections
on a material basis
USROUT : user output
USRRNC : user customisation of residual nuclei scoring