= Software and tools = === Prerequisites for Compiling and Running GiBUU === * Supported operating systems: * Linux (primary platform, used by most developers) * Windows (via Cygwin), cf. [wiki:windows GiBUU on Windows] * Mac OS X, cf. [wiki:mac GiBUU on Mac] * other Unix-like systems may also work, but are untested * Supported compilers: * [https://software.intel.com/en-us/fortran-compilers Intel Fortran Compiler] (version 12+) * [http://gcc.gnu.org GCC/gfortran] (version 4.6+) * [http://www.oracle.com/technetwork/server-storage/developerstudio sunf95] (Oracle Developer Studio 12.5) * [http://www.pgroup.com/ PGI] (version 15.10+, since 2020 part of NVIDIA HPC SDK, aka nvfortran) * [https://developer.nvidia.com/hpc-sdk nvfortran] (NVIDIA HPC SDK version 22.3+) * [https://github.com/flang-compiler/flang LLVM/flang] <= flang-7 * Unsupported compilers: * [http://www.g95.org/ g95] 0.93 fails to compile !EventOutputFile.f90 (missing support for type-bound procedures) * [http://www.absoft.com Absoft] v11.1.3 fails to compile bzip.f90 * [http://www.nag.co.uk/nagware/np.asp NAG] v6.1 currently fails to compile Pythia and Jetset (with double precision) * [http://www.lahey.com/linux64.htm 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') * [https://developer.nvidia.com/hpc-sdk nvfortran] <= v22.2 fails to compile pyevnw.f * The Build process is steered via [http://www.gnu.org/software/make/ GNU make].[[BR]] * Automated Makefile dependencies are generated via one of the following methods: * a Perl script (provided that [http://www.perl.org/ Perl] is installed) * [http://personal.inet.fi/private/erikedelmann/makedepf90/ makedepf90] * The code is managed and distributed through the [http://subversion.apache.org/ Subversion] version control system. * External libraries: (see below) * [http://www.bzip.org/ libbzip2] * [http://lhapdf.hepforge.org/lhapdf5/ libLHAPDF v5] ''(optional)'' * [http://www.gnu.org/software/gsl/manual/html_node/index.html GSL] (via [http://www.lrz.de/services/software/mathematik/gsl/fortran/ FGSL]) ''(optional)'' * [https://root.cern.ch/ ROOT] (via [https://github.com/davidchall/RootTuple RootTuple]) ''(optional)'' === Libraries used in GiBUU === The code uses some external libraries, which are used in the usual compile and linking procedure. * [http://www.bzip.org/ libbzip2] [[BR]] used for reading compressed input files. For details see [wiki:bzip2 this page]. * [http://lhapdf.hepforge.org/lhapdf5/ libLHAPDF v5] (optional) [[BR]] This is optional in connection with Pythia. For details see [wiki:LHAPDF this page]. In addition, some libraries are used by (partly) including the source code into the GiBUU source code tree. * '''Numerical libraries''' [[BR]] * [http://cernlib.web.cern.ch/cernlib/ CERNLIB] * [http://people.scs.fsu.edu/~burkardt/f_src/quadpack/quadpack.html QUADPACK] * [http://www.gnu.org/software/gsl/manual/html_node/index.html GSL] via [http://www.lrz.de/services/software/mathematik/gsl/fortran/ FGSL] ''(optional, only needed for some testing progams)'' (source not included) * Wigner-3j routines adapted from [http://archive.org/details/fortranprogramsf409casw Caswell & Maximon] * '''Physics libraries''' [[BR]] * [http://projects.hepforge.org/pythia6 Pythia v6] * [http://wwwasd.web.cern.ch/wwwasd/cernlib/mc/fritiof.html Fritiof], including old versions of [http://home.thep.lu.se/~torbjorn/pythiaaux/past.html Pythia/JetSet] * [http://www.kph.uni-mainz.de/MAID/ MAID] * '''ROOT''' [[BR]] * [https://github.com/davidchall/RootTuple RootTuple] is used as Fortran interface to a given ROOT installation to produce event output (optional) [[BR]]For details see [wiki:libRootTuple this page]. * '''Acceptance filters''' [[BR]] * [http://www-hades.gsi.de/ HADES acceptance filter] (HAFT, version 2.0, by R. Holzmann et al.) * [http://macdls.lbl.gov/DLS_WWW_Files/Filter_4.1/ DLS acceptance filter], version 4.1, by R. Bossingham et al. * '''Other physics codes''' [[BR]] * Statistical multifragmentation model (SMM) by A. Botvina et al., cf. [http://inspirehep.net/record/405803 Phys. Rept. 257 (1995) 133-221] * Statistical annihilation model by I.A. Pshenichnov et al., cf. [http://inspirehep.net/record/337074 Nucl. Phys. A 537 (1992) 393-417] * Delta em. transition form factor code by G. Ramalho, cf. [http://inspirehep.net/record/1114321 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., [http://inspirehep.net/record/375634 Phys.Rev. C 51 (1995) 38-51] === Optional Tools === * '''GUI Tools''' [[BR]] [http://zoneit.free.fr/esvn/ eSvn], [http://tortoisesvn.tigris.org/ tortoise SVN], [http://www.eclipse.org/ eclipse]. * '''Documentation'''[[br]] [http://rfsber.home.xs4all.nl/Robo/index.html ROBODoc] is used for generating automatic [//Documentation/ code documentation].[[br]] Note: An enhanced version with some bugfixes is available on [https://github.com/janusw/ROBODoc GitHub]. * '''Visualization Tools:''' [[BR]] * [http://www.povray.org/ POV-Ray] * [http://qt.nokia.com/ Qt] * '''Source code managment''' * [https://github.com/AlDanial/cloc cloc]: code line counting