Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III...

12
03 July 2008 www.QinetiQ.com © Copyright QinetiQ limited 200 DPMJET-II.5 and DPMJET- III Implementation in Geant4 Overview & Status Report Pete Truscott QinetiQ Space LoB

Transcript of Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III...

Page 1: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

03 July 2008

www.QinetiQ.com

© Copyright QinetiQ limited 2008

DPMJET-II.5 and DPMJET-III Implementation in Geant4Overview & Status Report

Pete TruscottQinetiQ Space LoB

Page 2: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

2© Copyright QinetiQ limited 2008

Implementation of DPMJET-II.5 model in Geant4 (1)

• Existing FORTRAN code DPMJET-II.5 to act as an event generator:

− 5GeV/nuc to 1E+11 GeV/nuc

− applicable to all projectiles & targets

− Poorly documented code: no explanation of the design / organisation of the code; each subroutine having little (or often no) description; little explanation of internal variables/common blocks

• Geant4 DPMJET-II.5 interface: G4DPMJET2_5Model class now developed and under test

• After prompt nuclear-nuclear collisions, nuclear de-excitation treated using other Geant4 models (precompound, evaporation, Fermi break-up)

− Default is precompound, but user can override and declare her own precompound, G4ExcitationHandler or no de-excitation.

• DPMJET-II.5 FORTRAN code requires Glauber profile data: integral probability function used to sample impact parameter

− For Geant4 implementation, determined as a function of AP and AT rather than (AP, ZP) and (AT, ZT)

− Current version of database of Glauber profile data available applicable to projectiles from AP = 2 to AP = 58 on target nuclei with AT = 2 to AT = 58

− It is hoped that this will be expanded in due course to projectiles up to A=240 and similarly for targets, but time for generating data extensive (it took ~10 CPU months for A=2 to A=58)

Page 3: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

3© Copyright QinetiQ limited 2008

Implementation of DPMJET-II.5 model in Geant4 (2)

Total inelastic cross-sections

• Total inelastic cross-section class G4DPMJET2_5CrossSection created to do this, and also covers projectiles from A=2 to A=58 on targets from A=2 to A=58 (by-product of DPMJET-II.5)

• Some comparisons performed at the low-energy (~5GeV) end of the cross-section curve, but limited available data for total inelastic cross-sections at ultra-relativistic energies – does anyone know of any data?

S/W Compatibility

• Tested with G4 v8.3 (tested at reference tag 0), v9.0 (patch 01), v9.1 (tested at reference tag 3) (so I have been told!) built with compiler versions:

− gcc v3.2.3 with g77 v3.2.3

− gcc v4.0.0 with g77 v3.2.3

− gcc v4.2.0 with gfortran v4.2.0

− gcc v4.2.3 with gfortran v4.2.3

• WARNING: DPMJET-II.5 FORTRAN has problems with gfortran v4.0.0 and gfortran v4.1.0 (see software manual); it’s possible that latter will work with 32-bit machines.

Page 4: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

4© Copyright QinetiQ limited 2008

Implementation of DPMJET-II.5 model in Geant4 (3)Use in physics list G4ExcitationHandler *theExcitationHandler = new G4ExcitationHandler; G4Evaporation * theEvaporation = new G4Evaporation; G4FermiBreakUp * theFermiBreakUp = new G4FermiBreakUp; theExcitationHandler->SetEvaporation(theEvaporation); theExcitationHandler->SetFermiModel(theFermiBreakUp); theExcitationHandler->SetMaxAandZForFermiBreakUp(17, 9); theDPM = new G4DPMJET2_5Model(DEFAULT); theDPM->SetExcitationHandler(theExcitationHandler); theDPM->SetMinEnergy(6*GeV); theDPM->SetMaxEnergy(100*TeV);

Notes/other constraints:

• Interactions of heavy ions on protons currently ignored (G4DPMJET2_5Model doesn’t currently treat protons)

• QinetiQ has not included DPMJET-II.5 FORTRAN with release, but easy to download from Ranft’s web-site (see G4dpmjet2_5 software manual)

• Scripts included with G4dpmjet2_5 to apply patch the DPMJET-II.5 FORTRAN source before compilation

• Instructions in software manual on how to install & build G4dpmjet2_5, and modifications required to user’s GNUmakefile

Page 5: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

5© Copyright QinetiQ limited 2008

Secondary proton energy spectra from A-A collisionsG4dpmjet2_5 & FLUKA (1)

12C on C: Elab = 10 GeV/nuc

1.E+00

1.E+01

1.E+02

1.E+03

0 5 10 15

Energy [GeV]

Cro

ss-s

ecti

on

[m

b/G

eV-s

ter]

DPMJET2.5 FLUKA

G4DPMJET2_5Model v0.A with de-ex.

Updated G4DPMJET2_5Model with de-ex

12C on Fe: Elab = 200 GeV/nuc

1.E-01

1.E+00

1.E+01

1.E+02

0 50 100 150 200 250

Energy [GeV]

Cro

ss-s

ecti

on

[m

b/G

eV-s

ter]

DPMJET2.5 FLUKAG4DPMJET2_5Model v0.A with de-ex.Updated G4DPMJET2_5Model with de-exDPMJET3 FLUKA

12C on Fe: Elab= 10GeV/nuc

1.E+00

1.E+01

1.E+02

1.E+03

0 5 10 15

Energy [GeV]

Cro

ss-s

ecti

on

[m

b/G

eV-s

ter]

DPMJET2.5 FLUKA

Updated G4DPMJET2_5Model with de-ex

DPMJET3 FLUKA

12C + 12C 200GeV/nuc

1.E-02

1.E-01

1.E+00

1.E+01

0 50 100 150 200 250

Energy [GeV]

Cro

ss-s

ecti

on

[m

b/G

eV-s

ter]

DPMJET2.5 FLUKA

G4DPMJET2_5Model v0.A with de-ex.

Updated G4DPMJET2_5Model with de-ex

Page 6: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

6© Copyright QinetiQ limited 2008

Secondary proton energy spectra from A-A collisionsG4dpmjet2_5 & FLUKA (2)

27Al + Fe 200GeV/nuc

1.E-01

1.E+00

1.E+01

1.E+02

0 50 100 150 200 250

Energy [GeV]

Cro

ss-s

ecti

on

[m

b/G

eV-s

ter]

DPMJET2.5 FLUKA

Updated G4DPMJET2_5Model with de-ex

27Al on Fe: Elab = 10GeV/nuc

1.E+00

1.E+01

1.E+02

1.E+03

0 5 10 15

Energy [GeV]

Cro

ss-s

ecti

on

[m

b/G

eV-s

ter]

DPMJET2.5 FLUKA

DPMJET3 FLUKA

G4DPMJET2_5Model with PC

Suggests at low-energy collisions, G4dpmjet2_5 over predicts (at least compared with FLUKA)?

G4dpmjet2_5 following DPMJET-III here?

Page 7: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

7© Copyright QinetiQ limited 2008

Secondary proton & rapidity spectra from A-A collisions G4dpmjet2_5 & experiment

28Si+27Al 13.7GeV/nuc

0

1

2

3

4

5

6

7

8

9

-4 -3 -2 -1 0 1 2 3 4

y-ycm, rapidity

Dif

fere

nti

al

yie

ld,

dN

/dy

G4DPMJET2_5Model results

G4DPMJET2_5Model with tau=105

Abbott et al data 28Si+Cu 13.7GeV/nuc

0

5

10

15

20

25

30

35

-4 -3 -2 -1 0 1 2 3 4

y-ycm, rapidity

Dif

fere

nti

al y

ield

, dN

/dy

G4dpmjet2_5Abbott et al

28Si+Cu 13.7GeV/nuc

0

2

4

6

8

10

12

14

-4 -3 -2 -1 0 1 2 3 4

y-ycm, rapidity

Dif

fere

nti

al y

ield

, dN

/dy

pi+ G4dpmjet2_5pi+ Abbott et alpi- G4dpmjet2_5pi- Abbott et al

Proton

28Si+27Al 13.7GeV/nuc

0

2

4

6

8

10

12

-4 -3 -2 -1 0 1 2 3 4

y-ycm, rapidity

Dif

fere

nti

al

yie

ld,

dN

/dy

pi+ G4dpmjet2_5pi+ Abbot et alpi- G4dpmjet2_5pi- Abbot et al

Shows underprediction

Page 8: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

8© Copyright QinetiQ limited 2008

Status & future work

• G4dpmjet2_5 showing good consistency at high collision energies, but discrepancies at lower energies (~10GeV/nuc)

• No feedback yet on draft code … I’m not sure anyone has tried to use it

• Functional and physics testing performed but more testing should be undertaken – critical to other MarsREM project deliverables

• Need to discuss with, e.g. Gunter, how to implement in G4 release, and once this is sorted, commit source to repository

• Proton-nuclear and nuclear-proton interactions

• Already started DPMJET-III implementation (MarsREM)

• Extend Glauber profile data and Glauber inelastic cross-section data beyond A=58

Page 9: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

9© Copyright QinetiQ limited 2008

Backup Slides

Page 10: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

10© Copyright QinetiQ limited 2008

N

Instantiate GDS for just this proj/target

Y

N

“Miss” declared and no interaction products returned

DPMJET-II.5 Subroutine DPMEVT

Simulate interaction by call to DPMEVT

Transfer information about secondary products to product vector, de-excite nuclear fragments if required and store nuclear de-excitation products

Point to applicable GDS, ready to be used by DPMJET-II.5

Define Glauber Data Sets Retrieve ptr to GDSH Set limits on max #

GDS data to be loaded/generated

Instantiate G4DPMJET2_5Model Initialise C++ variables and DPMJET-II.5 common block data Instantiation G4DPMJET2_5Model

Instantiate Glauber DSH object Initialise Glauber DSH variables & clear map of ptr to GDS objects

DPMJET-II.5 Common blocks accessed through C Struct declarations

ApplyYourself Determine projectile and target

Initialise DPMJET-II.5 common block data for interaction

DPMJET-II.5 Common blocks

GDS already loaded for interaction?

N Does filed GDS exist and can it be loaded?

Can GDS be loaded for just this Proj/Target

Instantiate new GDS objects & load with data and keep for run

Y Y

Glauber data set for AP on AT

Get impact parameter from current Glauber dataset & RND

Note this route should not normally be taken if data already generated f or all AP on all AT

G4dDPMJET2_5Model logical flow

Page 11: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

11© Copyright QinetiQ limited 2008

Summary of G4DPMJET2_5Model classes

G4DPMJET_modb_

G4FullGlaubAADataSet

G4DPMJET2_5Model

G4GlaubAADataSetHandler

G4ParamType1GlaubAADataSet

G4GlaubAADataSet G4VGlauberDataSet

G4Type1GlauberParameterisation

G4HadronicInteraction

Note G4FullGlaubAADataSet is has been created as an intermediate object f or holding Glauber data immediately af ter generation, and prior to parameterisation. Therefore, under normal circumstances, the user need not worry about this class.

Page 12: Www.QinetiQ.com © Copyright QinetiQ limited 2008 03 July 2008 DPMJET-II.5 and DPMJET-III Implementation in Geant4 Overview & Status Report Pete Truscott.

www.QinetiQ.com

12© Copyright QinetiQ limited 2008

G4dDPMJET2_5CrossSection logical flow

Determine cross-section from fit

N

Flag to G4cerr no available data. Return zero

IsApplicable / IsZAApplicable If specified for target G4Element, determine isotopes

Check that projectile & target A and energy are within range

Instantiate G4DPMJET2_5CrossSection Initialise std::map used to cross-reference cross-section parameters to projectile-targets

Instantiation G4DPMJET2_5CrossSectionl

Initialisation Load all cross-section fit parameters for any projectiles incident upon the nuclides defined in the G4 element/isotope tables

GetCrossSection

Calculate CoM energy

Are AP, AT and E within range?

Y Determine AP AT and E per nucleon

N

Note currently the cross-section database is limited to 2AP58 and 2AT58

Determine individual target isotopes based on G4Element. Repeatedly call G4IsoZACrossSection and weight according to isotopic abundance

GetIsoZACrossSection