INFN homepage
FLUKA: 3.3} Package content Previous Index Next

3.3} Package content

 --------------------
 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/LINUX machines consists of 34 files (*):

  aamodmvax.for  bamjmvax.for   blockmvax.for  bmemvax.for    comlatmvax.for
  decaymvax.for  dedxmvax.for   dumvax.for     elsmvax.for    emfmvax.for
  eventpmvax.for evffrmvax.for  fluoxmvax.for  geolatmvax.for gcrmvax.for
  kaskadmvax.for lowneumvax.for mainmvax.for   mathmvax.for   neutrimvax.for
  noptmvax.for   nundismvax.for nunresmvax.for opphmvax.for   outputmvax.for
  pemfmvax.for   pgmvax.for     preclmvax.for  preeqmvax.for  pripromvax.for
  pwxsmvax.for   rndmvax.for    usermvax.for   XXXmvax.for (**)

 Three more files contain source code related to the DPMJET and RQMD packages,
 which can be linked with FLUKA to run simulations involving heavy ion nuclear
 interactions, or Ultra High Energy Cosmic Ray simulations:
  dpmmvax.for    rqmdmvax.for    uhemvax.for

 (*) 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 34+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, RQMD, and UHE object files are collected in three 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:

  $FLUPRO/flutil/ldpmqmd
  (the name of the resulting executable will be flukadpm3)

 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. Many 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:

  cohff.bin
        Coherent atomic form factors
  fluodt.dat
        Fluorescence emission data, needed for problems involving
        low-energy electron-photon transport
  gxsect.bin
        Photon cross sections
  incohff.bin
        Incoherent atomic form factors
  neuxsc-ind_260.bin
        Group-wise low-energy neutron cross sections: needed for all problems
        with neutron transport below 20 MeV, unless point-wise cross sections
        are requested
  pwxs/*.pwx
        Point-wise low-energy neutron cross sections: needed for all problems
        with neutron transport below 20 MeV if point-wise cross sections
        are requested
  nunstab.data
        (Anti)neutrino cross sections 
  nuclear.bin
        Nuclide masses, abundances, decay, level schemes  and other data:
        needed for all hadronic problems
  elasct.bin
        Elastic cross sections for hadronic problems
  sigmapi.bin
        Pion cross sections
  brems_fin.bin
        Bremsstrahlung cross sections
  endfb8r0.fyi, jeff33.fyi, jendl40.fyi, xnloan.dat
        Fission nuclide yields and neutron multiplicities
  DDS/*.dat, Fad/*.dat
        Complete fusion data files for the BME event generator
  sidae.dat, sidan.dat, sidap.dat, sidapi.dat
        Silicon damage weighting functions
  cx_dj3_AA.bin, cx_dj3.bin
        Dpmjet-3 nucleus-nucleus and hadron-nucleus cross sections
  cx_m01.bin
        Epos hadron-nucleus cross sections
  cx_m06.bin
        Sibyll hadron-nucleus cross sections
  grv98lof.grid, grv98lo.grid, grv98nld.grid, grv98nlf.grid, grv98nlm.grid
        Structure functions for the (anti)neutrino deep inelastic scattering 



                        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.

Previous Index Next