FLUKA modules (Fortran files)

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 FLUKA 2011 version, there are 35 modules:

AAMODM :

dynamic memory allocation routines

BAMJM :

new hadronisation package (strongly improved version of the original Bamjet) [Rit84]​​

BLOCKM :

BLOCK DATA routines​

BMEM :

the Boltzmann Master Equation nucleus-nucleus interaction package for nucleus-nucleus interactions below 150 MeV/u​​

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)

EVENTPM :

auxiliary routines interfacing with the PEANUT event generator for hadronic inelastic interaction, photo-nuclear interactions, electro-nuclear ineractions, neutrino interactions ​

EVFFRM :

separate module with all evaporation​, fission​ and Fermi break-up routines​

FLUOXM :

all routines dealing with fluorescence​ X-ray and Auger production​

GCRM :

cosmic ray​ and solar flare​ simulation package

GEOLATM :

geometry navigation​ and debugging​ routines, including magnetic and electric field tracking

KASKADM :

general event steering, most of the relevant transport routines​ for hadron and muon transport, ​ most of material and region dependent initialisation​ and source routines

LOWNEUM :

all routines concerning the multigroup​ treatment of “low” energy (E \(< 20\) 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 FLUKA 86​, and blank COMMON setting for scoring options.

NUNDISM :

neutrino-nucleon deep inelastic scattering​

NUNRESM :

neutrino-nucleon resonance production​

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

PRINM :

initialisation and drivers for PEANUT​

PWXSM :

pointwise low energy neutron interactions

RNDM :

random number generation, ​ including gaussian-distributed random numbers​

RQMDM :

interface routines for the Rqmd generator​

UHEM :

interface routines for the UHE generators​

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 User routines): ​

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

DETSCW :

user-dependent modification of pulse-height scoring

DFFCFF :

diffusion coefficient (for optical photons)​

ELEFLD :

to use an electric field map​

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)​

FTELOS :

called at the very end of a FLUKA run

FUSRBV :

defines a continuous variable for 3-D binnings​​

LATTIC :

symmetry transformation for lattice geometry​

LPPSOK :

logical flag for pp source event approval

LUSRBL :

defines a discrete variable for 3-D binnings

MAGFLD :

to use a magnetic field map​

MDSTCK :

management of secondary stack​

MGDRAW :

to dump the whole history of particle showering, trajectories, interactions, etc.​

MUSRBR :

defines a discrete variable for 3-D binnings

OPHBDX :

boundary crossing properties (for optical photons)

PSHCKP :

call user when pushing Cherenkov photons to the stack

PSHSKP :

call user when pushing scintillation photons to the stack

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​

SPHSPC :

to generate scintillation photons according to a spectrum​

STUPRE :

set user variables (electrons and photons)​

STUPRF :

set user variables (hadrons, muons and neutrinos)

STUPRR :

set user variables for residual nuclei

UBSSET :

to override input biasing parameters​

UDCDRL :

decay direction biasing​​

USFSCI :

to set the number of scintillation photons produced per GeV​

USIMBS :

user-defined importance biasing​

USREIN :

event initialisation​​

USREOU :

post-event output​​

USRGLO :

user global settings​​

USRHSC :

user provided density scaling factors​

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​

USTCKV :

user customisation of Cherenkov photon production​

USTSCN :

user customisation of scintillation photon production

WVLNSH :

wave-length shitfing of optical photons​