CORSIKA-IW: a Modified Version Of
Total Page:16
File Type:pdf, Size:1020Kb
CORSIKA-IW: a Modified Version of CORSIKA for Cascade Simulations in Ice or Water Part I : User's Guide & Technical Considerations J. Bolmont December 9, 2008 Abstract This note document a modified version of the air shower simulation program CORSIKA. Modifications were done to allow the simulation of particle interactions in ice or salt water instead of air. The new version is called CORSIKA-IW, IW standing for \Ice & Water". In this first part, after describing the origin of this work, I will give details about how to install and run the software. I will describe in details the modifications I made to the original code and the features of this new version. I will compare some results of CORSIKA-IW with the ones of other simulation packages in the second part. Contents 1 Introduction2 1.1 Origins of the project..........................2 1.2 Why CORSIKA ?............................2 1.3 Limits of Sloan's modified version of CORSIKA............3 1.4 Overview of this note...........................4 2 Running CORSIKA-IW4 2.1 Download and installation........................4 2.2 Running a simple simulation......................7 3 Technical details8 3.1 Principles of CORSIKA configuration.................8 3.2 Changes in the code...........................9 3.2.1 configure.in............................ 10 3.2.2 config.h.in............................. 11 3.2.3 corsika.h.............................. 12 3.2.4 corsika.F............................. 12 3.3 EGS.................................... 18 4 Conclusion and present status of the code 18 1 1 Introduction 1.1 Origins of the project When high energy electrons interact in a dense medium like ice or water, they interact producing an electromagnetic cascade. Below ∼100 PeV, the cross sections of the processes involved in cascades development (mainly bremsstrahlung and pair production) are well represented by Bethe-Heitler equations [3]. At these energies, the length of the cascades grows linearly with the logarithm of the energy. However, at high energies (above ∼100 PeV in ice or water) or for high density materials, bremsstrahlung and pair-production prosseses are supressed by a mech- anism formulated by Landau, Pomeranchuck and Migdal [4,5]. This effect, known as the \LPM effect”, is due to multiple Coulomb scattering by neighbouring atoms and is responsible for a decrease of the bremsstrahlung (BS) and pair production (PP) cross sections. As the cross sections decrease, the particles need more time to lose their energy and the cascades are longer. For example, a 100 EeV cascade can be ∼200 m long. The initial idea leading to the development of CORSIKA-IW was to be able to take into account the LPM elongation of the cascades in the IceCube simulation software, to check if the elongation would lead to a better angular resolution for very high energy νe events. After investigating the possible use of different simulation packages, it turned out that CORSIKA was the best solution to carry out such high energy simulations including the LPM effect. CORSIKA [6] is a tool devoted to the simulation of extensive air showers. It is largely used by the ground based gamma-ray astronomy community. Modifications were necessary to make the code work in ice or water. The two basic requirements were: • Possibility to simulate cascades in the LPM regime (E > ∼100 PeV); • Possibility to simulate cascades at very high energies up to ∼100 EeV. 1.2 Why CORSIKA ? The first question that the reader will have at this point is: \Why using COR- SIKA instead of GEANT ?". It is essential to understand that my first goal was to simulate cascades in the LPM regime. So the answer to the question is simply that GEANT4 does not simulate the LPM effect for pair-production. In addition, CORSIKA is a program which is much simpler than GEANT, thus allowing a faster development process. GEANT4 CORSIKA ZHS EM processes O(TeV) ∼100 EeV ∼100 EeV Had. processes ∼20 TeV ∼100 EeV - LPM effect BS only yes yes Table 1. Comparison of highest energies that can be simulated by GEANT4, CORSIKA and ZHS for electromagnetic (EM) and hadronic (Had.) processes. ZHS does not simulate hadronic processes. 2 corsika.car CMZ option selection: THIN, QGSJET, etc. cmfor.f Sloan’s modifications in the code cors_h2o.f compilation + link corsika Figure 1. Schematic view of the Sloan's version development process. With COR- SIKA 6204, CMZ was used to select the main options, turning the car file into a F77 file. The use of CMZ has been replaced by the use of C preprocessor commands. The file obtained is modified to include changes for salt water and compiled to give the main executable file. Before coming to CORSIKA, I started by looking at different simulation tools as GEANT4, MARS, etc. and I noticed that none of them was able to simulate completly the LPM effect. Another tool called ZHS [7] (after the name of the developpers Zas, Halzen and Stanev) is able to simulate the LPM effect both for pair-production and bremsstrahlung, but it does not simulate hadronic interactions. In addition, the energy range in which the simulations can be done is much wider in CORSIKA (cf. Tab.1). Another important reason to justify the choice of CORSIKA is the work done by the ACoRNE collaboration [8]. One of the member of ACoRNE, T. Slaon, modified the version 6204 of CORSIKA to allow simulations in water or salt water. This modified version is the base for CORSIKA-IW, which brings some important improvements, as described in the next section. 1.3 Limits of Sloan's modified version of CORSIKA One interesting feature of CORSIKA is the possibility to use many different hadronic interaction packages and many different options. The user selects which package he wants to use during the configuration process. As will be explained later, the configuration step turns a master file corsika.F into a regular F77 file corsika.f where different parts of the code are enabled or disabled depending on the choices of the user and the options he selected. The main limitation of Sloan's verision of CORSIKA is that the choice of the options is already done and cannot be changed by the user. For example, the hadronic package QGSJET is selected, and the use of any other hadronic interaction model is simply impossible. A schematic view of the Sloan's version development process is given by Fig.1. 3 Then let us summarise the limits of Sloan's version: • Static code: all the options are set and the user cannot do anything about it; • As a result of the first point, only QGSJET is available; • The version of CORSIKA used for the modifications is quite old (6204); • The simulations are done in salt walter only; • The size of the simulated volume is fixed to 20 m. CORSIKA-IW was developped to overcome these problems starting from a more recent version of CORSIKA (version 6600, released in april 2007). The most im- portant features are: • The options can be selected during the configuration process; • All CORSIKA hadronic packages are available; • The version of CORSIKA used for the modifications is 6600; • The simulations can be done in salt walter, ice or air. The medium is selected in the configuration step; • The size of the simulated volume is set by an entry in the datacard. 1.4 Overview of this note Section x2 of this note has been written for poeple who do not know CORSIKA. In this section, they will learn the basics of how to configure CORSIKA-IW and how to run a simple simulation. As CORSIKA-IW keeps almost all of the features of the original CORSIKA version, this section does not replace the main CORSIKA User's Guide. In section x3, I will give more technical details about how the changes in the code were done. This section will help the user in the case he wants to make other modifications. NB: This note does not replace the CORSIKA User's Guide [1], but comes in addition to it. 2 Running CORSIKA-IW 2.1 Download and installation To use the code, you will only need a F77 compiler, either g77 or the more recent gfortran. Several compilers have been tested under different operating systems. See x3 for more details. CORSIKA-IW can be downloaded on the web [2]. On this web page, the different versions of the code with release notes can be found. Right-click on the version number in the table to download the archive. After downloading the archive and moving it to a work directory, the first thing to do is to un-tar it: [myhost] Downloads> tar xvfz corsika-6600-wi-v0.81.tar.gz corsika-6600-wi-0.81/ corsika-6600-wi-0.81/configure corsika-6600-wi-0.81/NEWS ... Now, move to the directory and look at its content: 4 [myhost] corsika-6600-wi-0.81> ls -F AUTHORS README configure* lib/ CHANGES_WI README_WI configure.in nexus/ COPYING aclocal.m4 corsika-install* run/ ChangeLog autom4te.cache/ doc/ src/ INSTALL bernlohr/ dpmjet/ urqmd/ Makefile.am cDO_NOT_RUN_CONFIGURE epos/ Makefile.in coast/ herwig/ NEWS config/ include/ This directory tree is similar to the original CORSIKA directory. Only two files have been added: CHANGES WI (list of changes) and README WI (some informa- tions about configuration and compilation). Note that the file README WI could be interesting to read at this point. The directory doc/ contains the original CORSIKA documentation. As CORSI- KA-IW only modifies the medium in which the particles propagate and interact, almost all the original CORSIKA documentation is still valid! Later in this note, the changes are described in more details. The final executable file generated by the compilation procedure will be located in run/.