Software and tools
Prerequisites for Compiling and Running GiBUU
- Supported operating systems:
- Linux (primary platform, used by most developers)
- Windows (via Cygwin), cf. GiBUU on Windows
- Mac OS X, cf. GiBUU on Mac
- other Unix-like systems may also work, but are untested
- Supported compilers:
- Intel Fortran Compiler (version 12+)
- GCC/gfortran (version 4.6+)
- sunf95 (Oracle Developer Studio 12.5)
- PGI (version 15.10+, since 2020 part of NVIDIA HPC SDK, aka nvfortran)
- nvfortran (NVIDIA HPC SDK version 22.3+)
- LLVM/flang <= flang-7
- Unsupported compilers:
- g95 0.93 fails to compile EventOutputFile.f90 (missing support for type-bound procedures)
- Absoft v11.1.3 fails to compile bzip.f90
- NAG v6.1 currently fails to compile Pythia and Jetset (with double precision)
- Lahey v8.1 is not supported due to missing Fortran 2003 features (GET_ENVIRONMENT_VARIABLE, ISO_C_BINDING, ...)
- flang-11+ (i.e. the f18 compiler, relabled again as 'flang')
- nvfortran <= v22.2 fails to compile pyevnw.f
- The Build process is steered via GNU make.
- Automated Makefile dependencies are generated via one of the following methods:
- a Perl script (provided that Perl is installed)
- makedepf90
- The code is managed and distributed through the Subversion version control system.
- External libraries: (see below)
- libbzip2
- libLHAPDF v5 (optional)
- GSL (via FGSL) (optional)
- ROOT (via RootTuple) (optional)
Libraries used in GiBUU
The code uses some external libraries, which are used in the usual compile and linking procedure.
- libbzip2
used for reading compressed input files. For details see this page. - libLHAPDF v5 (optional)
This is optional in connection with Pythia. For details see this page.
In addition, some libraries are used by (partly) including the source code into the GiBUU source code tree.
- Numerical libraries
- CERNLIB
- QUADPACK
- GSL via FGSL (optional, only needed for some testing progams) (source not included)
- Wigner-3j routines adapted from Caswell & Maximon
- Physics libraries
- Pythia v6
- Fritiof, including old versions of Pythia/JetSet
- MAID
- ROOT
- RootTuple is used as Fortran interface to a given ROOT installation to produce event output (optional)
For details see this page.
- RootTuple is used as Fortran interface to a given ROOT installation to produce event output (optional)
- Acceptance filters
- HADES acceptance filter (HAFT, version 2.0, by R. Holzmann et al.)
- DLS acceptance filter, version 4.1, by R. Bossingham et al.
- Other physics codes
- Statistical multifragmentation model (SMM) by A. Botvina et al., cf. Phys. Rept. 257 (1995) 133-221
- Statistical annihilation model by I.A. Pshenichnov et al., cf. Nucl. Phys. A 537 (1992) 393-417
- Delta em. transition form factor code by G. Ramalho, cf. Phys. Rev. D 85 (2012) 113014
- Relativistic Nuclear Mean Field (qhd-2) (Relativistic Thomas-Fermi Approximation) by H. Lenske (ERTF1_2, Revised: June 03, 2003)
- Argonne v18 and vn' and Super-Soft Core (C) potential package, R. B. Wiringa et al., Phys.Rev. C 51 (1995) 38-51
Optional Tools
- GUI Tools
eSvn, tortoise SVN, eclipse.
- Documentation
ROBODoc is used for generating automatic code documentation.
Note: An enhanced version with some bugfixes is available on GitHub.
- Source code managment
- cloc: code line counting
Last modified 15 months ago
Last modified on Aug 14, 2023, 3:34:18 PM