lab setup of software: geant4 josé a. ramos méndez, phd. university of california san francisco

10
Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

Upload: nathaniel-arnold

Post on 19-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

Lab setup of software: Geant4

José A. Ramos Méndez, PhD.

University of California San Francisco

Page 2: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

Requirements• The requirements vary from one OS system to others. But essentially one needs (either main package and developer libraries):– C++ and GLIBC– CMAKE– OpenGL– X11 libraries– EXPAT

2

• Debian-based– apt-get install expat-dev

• RedHat-based– yum install expat-devel

• OSX– port install expat

Page 3: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

3

geant4.web.cern.ch

Page 4: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

Installation• Create a directory named Geant4 in your home directory.• Uncompress Geant4 and the DATA files downloaded from the

webpage• Create the directories: Geant4/geant4-build and

Geant4/geant4-install• Inside Geant4/geant4-build do the follow: cmake ../geant4.xxx.xxx -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON -DEXPAT_LIBRARY=/usr/lib/libexpat.so -DGEANT4_INSTALL_DATA=OFF-DCMAKE_INSTALL_PREFIX=../geant4-install• Then: make -jN where N is the number of CPUs in your PC• Finally make install

4

Page 5: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

Installation

• Setup the environment variables:• For example if your Geant4 is at your

$HOME/Geant4, then

export GEANT4=$HOME/Geant4export Geant4_DIR=$GEANT4/geant4-installexport G4LEDATA=$GEANT4/G4EMLOW6.41export G4NEUTRONHPDATA=$GEANT4/G4NDL4.5export G4SAIDXSDATA=$GEANT4/G4SAIDDATA1.1export G4NEUTRONXSDATA=$GEANT4/G4NEUTRONXS1.4export G4LEVELGAMMADATA=$GEANT4/PhotonEvaporation3.1export G4RADIOACTIVEDATA=$GEANT4/RadioactiveDecay4.2

• Add those lines to ~/.bashrc; ~/.bash_profile

5

Page 6: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

Running• user@user$ cd $GEANT4/geant4.xxx.xxx

• user@user$ cd examples/basic/B1• user@user$ mkdir build• user@user$ cd build• user@user$ cmake ../• user@user$ make -jN• user@user$ ./exampleB1 run1.mac• user@user$ ./exampleB1

6

Page 7: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

The command line and parallelism

7

Page 8: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

Running

• Let’s start with the example Geant4/basic/B1

• user@user:$ ./exampleB1• Idle> /run/beamOn 10

8

• Like-Unix commands. Do not use in a macro.• cd, pwd - jump to a command directory and shows the path, respectively• ls - all available commands• history - used commands• ?UICommand - shows the parameter of command UICommand• help UICommand - Provide detailed help, navigate it through keyboard• exit - Finalize simulation

Page 9: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

• In exampleB1.cc addG4cout << “##### “ << G4Threading::GetNumberOfCores()

<< “ ####” << G4endl;

• rebuild and execute. Then you can set

/run/numberOfThreads 4

Or runManger->SetNumberOfThreads( G4Threading::GetNumberOfCores() );

9

Multithreading

Page 10: Lab setup of software: Geant4 José A. Ramos Méndez, PhD. University of California San Francisco

Cluster

• Let’s play with the random generation seed.

• In exampleB1.cc G4int myseed = G4UIcommand::ConvertToInt(argv[2]); G4Random::setTheSeed(mySeed);

• Rebuild and execute for different seeds

./exampleB1 run1.mac 2324

• Everyone pick a ID number, we will use in each simulation.

10