Last version:
FLUKA 2023.3.4, April 10th 2024
(last respin 2023.3.4)
flair-2.3-0d 13-Sep-2023


-- Fluka Release
( 10.04.2024 )

FLUKA 2023.3.4 has been released.

font_small font_med font_big print_ascii

[ <--- prev -- ]  [ HOME ]  [ -- next ---> ]

[ full index ]

3 Installation

The FLUKA package for LINUX and UNIX platforms is distributed as a tar file which can be downloaded from the FLUKA Website

The release of the FLUKA source code will be available under the licence reported at the beginning of this volume. For most applications we distribute a package containing a compiled library, user routines in source form, INCLUDE files, various unformatted and formatted data files and a number of scripts for compiling, linking and running the program on a given platform. A list of the contents is provided in a README file, and information on the current version, possibly overriding parts of the present manual, may be contained in a file RELEASE-NOTES.

No external library routines are required. The timing and other necessary service routines are already included.

In principle, FLUKA can be installed on any computer platform where a Fortran compiler is available. However, at present only the following are supported (see the FLUKA website for more information).

  • DEC computers running Digital UNIX > 4.0
  • Intel PCs running LINUX:
  • RedHat 7.3 (compiler gcc-2.96)
  • RedHat 9.0 (compiler gcc-3.2.2)
  • Fedora

It is suggested that the user define an environmental variable FLUPRO pointing to the directory where the distribution tar file has been opened. The FLUKA libraries and most data files will be located in $FLUPRO, the INCLUDE files in $FLUPRO/flukapro/, the default user routines in $FLUPRO/usermvax/, compilation and linking scripts (as well as several postprocessing programs to analyse user scores) in $FLUPRO/flutil/.

If the source code is included in the distribution, it will be contained in $FLUPRO files with names of the form ...mvax.for. The basic FLUKA program on UNIX machines consists of 29 files (*):

  bamjmvax.for   blockmvax.for  comlatmvax.for decaymvax.for  dedxmvax.for
  dumvax.for     elsmvax.for    emfmvax.for    eventqmvax.for eventvmvax.for
  evffrmvax.for  fluoxmvax.for  geolatmvax.for kaskadmvax.for lowneumvax.for
  mainmvax.for   mathmvax.for   neutrimvax.for noptmvax.for   opphmvax.for
  outputmvax.for pemfmvax.for   pgmvax.for     preclmvax.for  preeqmvax.for
  pripromvax.for rndmvax.for    usermvax.for   XXXmvax.for (**)

Two more files contain source code related to the DPMJET and RQMD packages, which can be linked with FLUKA to run problems involving heavy ion nuclear interactions:

  dpmmvax        rqmdmvax

(*) The form ...vax.for has historical reasons. Actually, as seen later, the files are automatically split by a Makefile into single routines (with extension .f) before compilation.

(**) XXX stands for hp, ibm, linux, osf etc. depending on the platform. Most UNIX Fortran compilers require that the extension .for be replaced by .f (but the Makefile provided with FLUKA takes care of this, see below).

See (4) for a short description of the content of these files.

If the source code is present, the INCLUDE files needed to compile the program may be grouped into three files emfadd.add, flukaadd.add and lowneuadd.add.

A Makefile and a number of auxiliary programs split these files into individual routines and INCLUDE files, which are placed in 29+1 separate directories and compiled. The object files are inserted in a FLUKA library libflukahp.a. A shell script lfluka links all routines into an executable flukahp (the name is the same for all UNIX platforms, the "hp" being due to historical reasons).

The DPMJET and RQMD object files are collected in two separate libraries.

The FLUKA distribution tar file normally does not contain an executable file. To create the default FLUKA executable, type:

  $FLUPRO/flutil/lfluka -m fluka
  (the name of the resulting executable will be flukahp)

or, if heavy ion nuclear interactions are needed:

  (the name of the resulting executable will be flukadpm)

User-written routines (in particular a SOURCE subroutine, see list of user interface routines in (13)) can be compiled separately and linked overriding the default routines of the library. The $FLUPRO/flutil/lfluka script can take care of them in three different ways:

  • appending the Fortran files (xxx.f) as last arguments to the lfluka procedure (Linux only);
  • appending the object files (precompiled using the $FLUPRO/flutil/fff procedure supplied with the code) as last arguments to the lfluka procedure;
  • inserting the object files into a library and giving the library name to the script with the -O or -l options.

An on-line help is available issuing lfluka -h.

The program needs several auxiliary data files, containing cross sections, nuclear and atomic data and so on. Nine of these files are unformatted and have an extension .bin (or .dat). The auxiliary files are generally kept in the main FLUKA directory and require no modification by the user.

Here is the list:

        Coherent atomic form factors
        Fluorescence emission data, needed for problems involving
        low-energy electron-photon transport
        Photon cross sections
        Low-energy neutron cross sections: needed for all problems with
        neutron transport below 20 MeV.
        Nuclide masses, abundances and other data: needed for all
        hadronic problems
        Elastic cross sections for hadronic problems
        Pion cross sections
        Bremsstrahlung cross sections,,, xnloan.dat
        Fission nuclide yields and neutron multiplicities
  sidae.dat, sidan.dat, sidap.dat, sidapi.dat
        Silicon damage weighting functions

Pre-connected I/O files

FLUKA reads its main input from standard logical unit 5 and writes its main output to logical unit 11. Both are parameterised in the INCLUDE file IOUNIT as LUNIN and LUNOUT, and can therefore be redefined if necessary. Assignment of unit number 5 and log messages to the corresponding files is achieved (on Linux/UNIX) via the redirection symbols < and >. Other input and output files on UNIX can be assigned a I/O unit number by means of symbolic links (but the syntax for Fortran implicit connection is not standard and forms like fort.xx or ftnxx can both be found on different platforms). An alternative way is offered by the OPEN command of FLUKA, which allows to perform explicit connections.

The $FLUPRO/rfluka script supplied with the code contains all relevant I/O file definitions, and can be used to run the code interactively or through a batch queue. It allows to submit multiple runs with a single command. Both rfluka and lfluka (the script used for linking, see above) contain usage instructions.

The rfluka script creates a temporary directory where it copies the necessary files and deletes it after the results have been copied back to the parent directory, thus allowing to run more than one job at the same time in the same directory. Appropriate names for the output files are generated by rfluka, including a sequential number for each run.

If user routines are linked and a new executable executable is created, the name of the new executable can be input using the -e option. Some on-line help is available issuing rfluka -h.

© FLUKA Team 2000–2024

Informativa cookies