The following list summarizes the files and directories which are contained in the distributed FLUKA package. Hereafter /pathtofluka/ represents the path to the uncompressed FLUKA directory.
Pre-compiled binary libraries (in /pathtofluka/lib/)
If the FLUKA is downloaded in binary form, the package will contain static libraries (.a) of FLUKA and other required codes like DPMJET, RQMD, PHOJET, and PYTHIA in /pathtofluka/lib/. The libraries have been pre-compiled with the compiler indicated in the tgz file name (e.g. gfortran 8.3, gfortran 9.2 etc.). The same compiler needs to be available on the machine where FLUKA is being installed.
FLUKA source code (in /pathtofluka/src/)
If the FLUKA source code is included in the distribution, it will be contained in the /pathtofluka/src/ directory. In that case, no pre-compiled libraries are included in /pathtofluka/lib/. The source code is organized in different sub-directories as detailed in the manual.
User routines (in /pathtofluka/src/user/)
The distributed package contains different Fortran 77 user routines which can be used to customize the simulation setup. These routines are mainly needed if certain functionality is not available through the built-in commands (e.g. special magnetic fields, specific source distribution, customized scoring etc). If user routines are employed, one needs to create a dedicated executable which must be used instead of the standard executables (fluka and flukadpm) created during the installation process. Auxiliary scripts for compiling and linking user routines are included in the /pathtofluka/bin/ directory as described below.
Post-processing programs (in /pathtofluka/src/tools/)
Several Fortran 77 post-processing programs for merging and analyzing user scores are available in /pathtofluka/src/tools/. The programs are automatically compiled and linked when installing FLUKA. The corresponding executables will be located in /pathtofluka/bin/. Details about the usage of these programs can be found here.
Include files (in /pathtofluka/include/)
The include files (.inc) contained in /pathtofluka/include/ are needed to compile FLUKA. They contain Fortran COMMON blocks which are used to pass information between different routines. The data contained in COMMON blocks can also be used in user routines to access information about the simulation. Note that the naming convention of include files has changed with respect to the previous FLUKA versions (e.g. '(TRACKR)' is now called 'trackr.inc'). A dedicated script is available to replace old with new include file names in user routines which have been used with previous versions of the program (see scripts below).
Data files (in /pathtofluka/data/)
The package comes with a set of unformatted and formatted data files needed by the program. These data files contain for example cross-sections etc.
Makefile (in /pathtofluka/)
A Makefile for installing FLUKA on GNU/Linux or macOS is included in the main directory (see installation instructions for details). The Makefile can be used to install FLUKA based either on the pre-compiled libraries or the source code. The standard FLUKA executables (fluka and flukadpm), as well as the post-processing programs created by the Makefile, will be located in /pathtofluka/bin/.
Scripts for compiling, linking and running (in /pathtofluka/bin/)
Several shell scripts for compiling (fff), linking (lfluka) and running (rfluka) FLUKA are included in /pathtofluka/bin/. The scripts for compiling and linking are needed when using customized user routines. Details about the usage of these scripts can be found here. The same directory contains also a python script (fluka_src_converter.py) for replacing old with new include file names in user routines (see here for details).
Other files (in /pathtofluka/)
- INSTALL: installation instructions, similar to the ones found on this website
- LICENSE: the FLUKA license guiding the use and distribution of FLUKA
- RELEASE-NOTES: details about releases
- README.md:
- REFERENCES: references to be quoted when using FLUKA and other packages (e.g. DPMJET)
- Version.tag: version tag and checksums