Hadronic Physics (II) in GEANT4...
Transcript of Hadronic Physics (II) in GEANT4...
Hadronic Physics (II) in GEANT4
v9.3-p01Revised 17 June 2010
Michael H. Kelsey
SLAC National Accelerator Laboratory
GEANT4 Tutorial, BUAF Puebla, Mexico
16 Jun 2010
Had Physics (II)
Topics of Interest
Low energy Neutron Scattering
• High Precision (HP) Neutron Models
• Thermal Scattering Models
• High Energy Data Files
Ion (Nucleus) Physics
• Inelastic Scattering
• Electromagnetic Dissociation
• Radioactive Decay and Fission
Selected Validation Plots
Recommended Physics Lists
Michael H. Kelsey GEANT4 June 2010 2
Had Physics (II)
Low Energy Neutrons
Kinetic energy below about 20 MeV
High Precision Neutron Models (and cross section data)
• G4NDL, ENDF
• Elastic Scattering
• Inelastic Scattering
• Capture
• Induced Fission
G4NeutronHPorLEModels (automatic model selection)
Thermal Scattering Models (cross sections and materials)
JENDL High Energy Files (cross sections below 3 GeV)
Michael H. Kelsey GEANT4 June 2010 3
Had Physics (II)
G4NDL and ENDF
GEANT4 Neutron Data Library
Neutron data files for HP Neutron Models
Both cross-sections and final states
Derived from multiple input data libraries
Brond-2.1, CENDL2.2, EFF-3, ENDF/B-VI.0,1,4,
FENDL/E2.0, JEF2.2, JENDL-FF, JENDL-3.1,2,
MENDL-2
Data format similar to ENDF, but not identical
Michael H. Kelsey GEANT4 June 2010 4
Had Physics (II)
G4NDL and ENDF
Evaluated Nuclear Data File-6
Two different, related meanings
Standard for writing (format) and using Nuclear Data files
With version, specifies particlar library for US nuclear data projects
ENDF/B-VI.8: 313 isotopes, 5 isomers, 15 elements
ENDF/B-VII.0 (Dec 2006): Nearly 400 isotopes
After G4NDL3.8 (currently 3.13)
Translating from ENDF library
No further raw-data evaluation within GEANT4
Comprehensive conversion underway (SLAC/LLNL)
Michael H. Kelsey GEANT4 June 2010 5
Had Physics (II)
G4NeutronHPElastic
Final state described by sampling differential
scattering cross-section
dσ
dΩ(cosθ, E) =
σ(E)
4π
nl∑
l=0
(2l + 1) al(E) Pl(cosθ)
Tabulated in energy bins and Legendre coefficients
Michael H. Kelsey GEANT4 June 2010 6
Had Physics (II)
G4NeutronHPInelastic
Currently supported final states
• n,A
• n,γ [discrete and continuum]
• Fragments with one or more n, p, d, t, 3He, α
np, nd, nt, n3He, nα, nd2α, nt2α, n2p, n2α, np, n3α, 2nα, 2np, 2nd, 2nα, 2n2α,3n,
3np, 3nα, 4n, p, pd, pα, 2pd, dα, d2α, dt, t, t2α, 3He, α, 2α, 3α, nX
Secondary distribution probabilities
• Isotropic emission
• Discrete two-body kinematics
• N-body phase space
• Continuum energy-angle distributions
– Legendre polynomials and energy bins
– Kalbach-Mann compound nucleus (A + a → C → B + b)
– CM, target, and lab frames
Michael H. Kelsey GEANT4 June 2010 7
Had Physics (II)
G4NeutronHPCapture
Final state of radiative capture
• Photon multiplicities
• Photon production cross-sections
• Discrete and continuous contributions to photon spectra
• Angular distributions of emitted photons
Discrete emission from data libraries
Multiplicities and cross-sections
Continuum: neutron En in, photon Eγ out
f(En → Eγ) =∑
i
pi(En) gi(En → Eγ)
pi and gi from data libraries
Michael H. Kelsey GEANT4 June 2010 8
Had Physics (II)
G4NeutronHPFission
Currently only uranium data are available in G4NDL
First, second, third and fourth chance fission are included
Neutron energy distributions implemented with six options
Normalized function of
neutron energies f(E → E′)
Maxwell√
E′ exp(E′/Θ(E))
General evaporation E′ exp(E′/Θ(E))
Evaporation f(E′/Θ(E))
Energy-depended Watt exp(E′/a(E)) sinh√
b(E) E′
Madland-Nix 1
2[g(E′, 〈Kℓ〉) + g(E′, 〈Kh〉)]
Michael H. Kelsey GEANT4 June 2010 9
Had Physics (II)
G4NeutronHPorLEModels
Many elements have no data for High Precision
models
“HPorLE” allows for missing data
If HP data not available for reaction, will fail over to
Low Energy parameterization
Can be used for both for final state generation and for
cross sections
Elastic, Inelastic, Capture and Fission models available
Michael H. Kelsey GEANT4 June 2010 10
Had Physics (II)
Thermal Scattering in Molecules
At thermal neutron energies, bound atoms appear
different than free
Atomic translational motion
Vibration and rotation
Can affect scattering and final-state parameters
Cross sections
Energy and angular distributions
Energy loss or gain of incident neutron
Only individual Maxwellian motion of target nu-
cleus (free gas model) taken into account in
default NeutronHP models
Michael H. Kelsey GEANT4 June 2010 11
Had Physics (II)
Thermal Scattering Materials
Because of these differences, volumes which use
the thermal scattering models must use special
G4Materials
• Element names must begin with “TS ”
• Material names must end with “ TS”
• Separate version of element for each material
Users (application developers) are responsible!
Not done automatically.
Michael H. Kelsey GEANT4 June 2010 12
Had Physics (II)
Thermal Scattering Materials
// Create Hydrogens for Thermal Scattering
G4Element* elTSHW = new G4Element("TS_H_of_Water", "H_WATER", 1.0,
1.0079*g/mole);
G4Element* elTSH = new G4Element("TS_H_of_Polyethylene", "H_POLYETHYLENE",
1.0, 1.0079*g/mole);
// Create Materials from the elements
G4Material* matH2O_TS = new G4Material("Water_TS", dens=1.0*g/cm3, ncomp=2);
matH2O_TS -> AddElement(elTSHW,natoms=2);
matH2O_TS -> AddElement(elO,natoms=1);
G4Material* matCH2_TS = new G4Material("Polyethylene_TS", dens=0.94*g/cm3,
ncomp=2);
matCH2_TS -> AddElement(elTSH,natoms=2);
matCH2_TS -> AddElement(elC,natoms=1);
Michael H. Kelsey GEANT4 June 2010 13
Had Physics (II)
Thermal Scattering in Molecules
ENDF/B-VI (Release 2) files — thermal sub-library
Uses the File 7 format of ENDF/B-VI
Divides the thermal scattering into different parts
• Coherent and incoherent elastic; no energy change
• Inelastic; loss or gain in the outgoing neutron energy
Data files and NJOY are required to prepare the
scattering law S(α, β) and related quantities
Michael H. Kelsey GEANT4 June 2010 14
Had Physics (II)
Thermal Scattering in Molecules
Scattering described by function S(α, β) and related
quantities
σ(E → E ′, µ) =σb
2kT
√
E ′
ES(α, β)
Momentum transfer α =E ′ + E − 2µ
√E ′E
AkT
Energy transfer β =E ′ − E
kT
Michael H. Kelsey GEANT4 June 2010 15
Had Physics (II)
JENDL High Energy Files (2004)
Japanese Evaluated Nuclear Data Library
• Produced by Japan Atomic Energy Agency,
Nuclear Data Evaluation Center
• with assistance of Japanese Nuclear Data
Committee
• Neutron- and proton-induced reaction data up
to 3 GeV for 66 nuclides
Michael H. Kelsey GEANT4 June 2010 16
Had Physics (II)
Ion Physics — Inelastic
Cross Sections
• Tripathi, Shen, Kox, Sihver
• Wrapper factory for selection
Models
• Light-ion Binary Cascade
• Wilson Abrasion and Ablation
• Quantum Molecular Dynamics
• Spontaneous Fission
Michael H. Kelsey GEANT4 June 2010 17
Had Physics (II)
Nucleus-Nucleus Cross Sections
Many formulae included in GEANT4
• Tripathi Formula, NASA Technical Paper TP-3621 (1997)
• Tripathi Light System, NASA Technical Paper TP-209726 (1999)
• Shen, Nuclear Phys. A49 1130 (1989)
• Kox, Phys. Rev. C35 1678 (1987)
• Sihver, Phys. Rev. C47 1225 (1993)
Empirical and parameterized formulae with theo-
retical insights
G4GeneralSpaceNNCrossSection assists users in se-
lecting the appropriate cross section formula
Michael H. Kelsey GEANT4 June 2010 18
Had Physics (II)
Binary Cascade
Nucleons treated as Gaussian wave packets (c.f. QMD)
φ(x, qj , pj , t) =
(
2
Lπ
)3/4
exp
− 2
L [x − qj(t)]2+ i pj(t)x
Total nuclear w.f. assumed to be direct product, no
anti-symmetrization
Same structure as classical Hamilton’s equations: solvable
numerically
Hamiltonian calculated using simple time-independent optical
potential (unlike QMD)
Michael H. Kelsey GEANT4 June 2010 19
Had Physics (II)
Binary Cascade
Three dimensional model of the nucleus con-
structed from A and Z
Nucleon distribution follows
• Light nuclei: harmonic-oscillator shell model
• A > 16: Woods-Saxon model
Nucleon momenta are sampled up to Fermi mo-
mentum and sum of these momenta set to 0
Time-independent scalar optical potential used
Michael H. Kelsey GEANT4 June 2010 20
Had Physics (II)
G4BinaryLightIonReaction
Both nuclei are modelled as HO shell or W-S
Lighter nucleus is always projectile
Nucleons in projectile entered with position and
momenta into initial collision state
Until first collision of each nucleon, Fermi motion
is neglected in tracking
Fermi motion and nuclear field taken into account
in collision probabilities and final states
Michael H. Kelsey GEANT4 June 2010 21
Had Physics (II)
Nuclear Abrasion and Ablation
Michael H. Kelsey GEANT4 June 2010 22
Had Physics (II)
Wilson Models
G4WilsonAbrasionModel
Simplified macroscopic model for nuclear-nuclear interactions
based largely on geometric arguments
Faster than models such as Binary Cascade, but at cost of
accuracy
G4WilsonAblationModel
Nuclear ablation provides better approximation for final
nuclear fragment from an abrasion interaction
Simulates de-excitation of nuclear pre-fragments, using
nuclear de-excitation models within GEANT4 (default)
G4WilsonAblationModel uses NUCFRG2 (NASA TP 3533)
approach for selecting final-state nucleus
Michael H. Kelsey GEANT4 June 2010 23
Had Physics (II)
Quantum Molecular Dynamics
Quantum extension of classical molecular-
dynamics model
Each nucleon is seen as a Gaussian wave
packet
Propagation with scattering term, including
Pauli exclusion
Widely used to analyze various aspects of
heavy ion reactions
Michael H. Kelsey GEANT4 June 2010 24
Had Physics (II)
G4QMD Implementation
Native C++ (not “translated” from FORTRAN)
Ground state nucleus, potential and field parame-
ters based on JQMD
“Development of Jaeri QMD Code,” Niita et al., JAERI-Data/Code
99-042
Uses GEANT4 scattering and decay libraries
Includes Participant-Participant Scattering
After reaction, connects to Evaporation Models
Michael H. Kelsey GEANT4 June 2010 25
Had Physics (II)
Electromagnetic Dissociation
Liberation of nucleons or nuclear fragments by
exchange of virtual photons, rather than strong
nuclear force
Important for relativistic nuclear-nuclear interac-
tions, especially high-Z
G4EMDissociation model and cross-sections im-
plement NUCFRG2 (NASA TP 3533) physics for
electromagnetic dissociation (ED)
Michael H. Kelsey GEANT4 June 2010 26
Had Physics (II)
Radioactive Decays
GEANT4 includes simulations of spontaneous nuclear decays
Empirical, data-driven model
α, β-decay, β+, electron capture (EC)
New in 9.3, Livermore spontaneous fission model
Data derived from ENSDF
Evaluated Nuclear Structure Data Files
• Nuclear half-lives
• Level structure for parent and daughter nuclides
• Decay branching ratios
• Energy of decay process
Excited isomers de-excited using G4PhotonEvapolation
Michael H. Kelsey GEANT4 June 2010 27
Had Physics (II)
Radioactive Decay Sampling
Analog sampling is default
Biased sampling also implemented
• Decays occur more frequently at certain times
• For given decay mode branching ratios may be sampled
with equal probability
• Split parent nuclide into user-defined number of pseudo-
nuclides
Michael H. Kelsey GEANT4 June 2010 28
Had Physics (II)
General Particle Source
Many users who are interested in radioactive decay
also use “general particle source”
Introduced by Makoto (see Tuesday 15:10)
General Particle Source Users Manual
⇒ good place for more detailed information
http://reat.space.qinetiq.com/gps/new gps sum files/gps sum.htm
Michael H. Kelsey GEANT4 June 2010 29
Had Physics (II)
Summary
High Precision Neutron models are data-driven,
using “evaluated data” libraries with tabulated
parameters
Library is not complete because there are no data
for several key elements
Abundant processes for ion (nucleus) interactions:
spontaneous, particle-induced, and scattering in
matter
Without any extra modules, users may simulate ion
transportation in complex and realistic geometries
Michael H. Kelsey GEANT4 June 2010 30
Had Physics (II)
Selected Validation Plots
• Neutron High-Precision
• Thermal Scattering
• JENDL High-Energy Files
• Nucleus-Nucleus Cross-sections
• Binary Cascade
• Wilson Abrasion
• Quantum Molecular Dynamics
• Electromagnetic Dissociation
Michael H. Kelsey GEANT4 June 2010 31
Had Physics (II)
Sample NeutronHP Verification
Channel cross-sections: G4 results derived from thin targets
20 MeV neutron on 157Gd
Michael H. Kelsey GEANT4 June 2010 32
Had Physics (II)
Sample NeutronHP Verification
Secondary energy spectrum
Michael H. Kelsey GEANT4 June 2010 33
Had Physics (II)
Thermal Scattering Distributions
Michael H. Kelsey GEANT4 June 2010 34
Had Physics (II)
JENDL Comparison Plots
Comparison with QGSP BERT HP cross-sections (G4.8.0-p01)
Michael H. Kelsey GEANT4 June 2010 35
Had Physics (II)
Inelastic 12C on 12C
Michael H. Kelsey GEANT4 June 2010 36
Had Physics (II)
Binary Cascade Validation
Neutron angle/energy spectra, 400 MeV/N 20Ne ⇒ C
Michael H. Kelsey GEANT4 June 2010 37
Had Physics (II)
Binary Cascade Validation
Neutron angle/energy spectra, 400 MeV/N 56Fe ⇒ Cu,Pb
Copper thick target Lead thick target
Michael H. Kelsey GEANT4 June 2010 38
Had Physics (II)
Binary Cascade Validation
Nuclear fragment production: G4 vs. experimental data
Michael H. Kelsey GEANT4 June 2010 39
Had Physics (II)
Wilson Model Validation
Michael H. Kelsey GEANT4 June 2010 40
Had Physics (II)
QMD Validation
Neutron angle/energy spectra, 560 MeV/N 40Ar ⇒ Pb
Michael H. Kelsey GEANT4 June 2010 41
Had Physics (II)
QMD Validation
“Energy deposition in intermediate-energy nucleon–nucleus collisions,”
Kwiatkowski et al., Phys. Rev. Lett. 50(21), 1648 (1983)
Michael H. Kelsey GEANT4 June 2010 42
Had Physics (II)
G4EMDissociaton Validation
Emulsion Target: Ag 61.7%, Br 34.2%, CNO 4.0% and H 0.1%
Energy Product G4EMDissoc Experiment
Projectile (GeV/N) from ED (mb) (mb)
24Mg 3.7 23Na + p 124±2 154±31
28Si 3.7 27Al + p 107±1 186±56
28Si 14.5 27Al + p 216±2 165±24†128±33‡
16O 200 15N + p 331±2 293±39†342±22⋆
M A Jilany, Nucl Phys A705, 477-493 (2002)
Michael H. Kelsey GEANT4 June 2010 43
Had Physics (II)
Recommended Physics Lists
• NeutronHP
• NeutronHPorLE
• NeutronHPThermalScattering
• JENDL
• BinaryLightIon
• WilsonAbrasion
• QMD
• EMDissociation
• RadioactiveDecay
Michael H. Kelsey GEANT4 June 2010 44
Had Physics (II)
NeutronHP
// For example Elastic scattering below 20 MeV
G4HadronElasticProcess*
theNeutronElasticProcess = new G4HadronElasticProcess();
// Cross Section Data set
G4NeutronHPElasticData* theHPElasticData = new G4NeutronHPElasticData();
theNeutronElasticProcess->AddDataSet(theHPElasticData);
// Model
G4NeutronHPElastic* theNeutronElasticModel = new G4NeutronHPElastic();
theNeutronElasticProcess->RegisterMe(theNeutronElasticModel)
G4ProcessManager* pmanager = G4Neutron::Neutron()->GetProcessManager();
pmanager->AddDiscreteProcess(theNeutronElasticProcess);
Michael H. Kelsey GEANT4 June 2010 45
Had Physics (II)
NeutronHPorLE
//For example Elastic scattering below 20 MeV
G4HadronElasticProcess*
theNeutronElasticProcess = new G4HadronElasticProcess();
// Model
G4NeutronHPorLElasticModel*
theNeutronElasticModel = new G4NeutronHPorLElasticModel();
theNeutronElasticProcess->RegisterMe(theNeutronElasticModel)
// Cross Section Data set
theNeutronElasticProcess->AddDataSet(theNeutronElasticModel
->GiveHPXSectionDataSet());
G4ProcessManager* pmanager = G4Neutron::Neutron()->GetProcessManager();
pmanager->AddDiscreteProcess(theNeutronElasticProcess);
Michael H. Kelsey GEANT4 June 2010 46
Had Physics (II)
NeutronHPThermalScattering
G4HadronElasticProcess*
theNeutronElasticProcess = new G4HadronElasticProcess();
// Cross Section Data set
G4NeutronHPElasticData* theHPElasticData = new G4NeutronHPElasticData();
theNeutronElasticProcess->AddDataSet(theHPElasticData);
G4NeutronHPThermalScatteringData*
theHPThermalScatteringData = new G4NeutronHPThermalScatteringData();
theNeutronElasticProcess->AddDataSet(theHPThermalScatteringData);
// Models
G4NeutronHPElastic* theNeutronElasticModel = new G4NeutronHPElastic();
theNeutronElasticModel->SetMinEnergy(4.0*eV);
theNeutronElasticProcess->RegisterMe(theNeutronElasticModel);
G4NeutronHPThermalScattering*
theNeutronThermalElasticModel = new G4NeutronHPThermalScattering();
theNeutronThermalElasticModel->SetMaxEnergy(4.0*eV);
theNeutronElasticProcess->RegisterMe(theNeutronThermalElasticModel);
G4ProcessManager* pmanager = G4Neutron::Neutron()-> GetProcessManager();
pmanager->AddDiscreteProcess(theNeutronElasticProcess);
Michael H. Kelsey GEANT4 June 2010 47
Had Physics (II)
JENDL
// For example Elastic scattering below 3 GeV
G4HadronElasticProcess*
theNeutronElasticProcess = new G4HadronElasticProcess();
// Cross Section Data set (HP < 20MeV < JENDL HE)
G4NeutronHPElasticData* theHPElasticData = new G4NeutronHPElasticData();
theNeutronElasticProcess->AddDataSet(theNeutronElasticModel
->GiveHPXSectionDataSet());
theNeutronElasticProcess->AddDataSet(theHPElasticData);
G4NeutronHPJENDLHEData* theJENDLHEElasticData = new G4NeutronHPJENDLHEData();
theNeutronElasticProcess->AddDataSet(theJENDLHEElasticData);
G4ProcessManager* pmanager = G4Neutron::Neutron()->GetProcessManager();
pmanager->AddDiscreteProcess(theNeutronElasticProcess);
Michael H. Kelsey GEANT4 June 2010 48
Had Physics (II)
BinaryLightIon
G4HadronInelasticProcess* theIPGenericIon =
new G4HadronInelasticProcess("IonInelastic", G4GenericIon::GenericIon());
// Cross Section Data Set
G4TripathiCrossSection* TripathiCrossSection = new G4TripathiCrossSection;
G4IonsShenCrossSection* aShen = new G4IonsShenCrossSection;
theIPGenericIon->AddDataSet(aShen);
theIPGenericIon->AddDataSet(TripathiCrossSection);
// Model
G4BinaryLightIonReaction* theGenIonBC= new G4BinaryLightIonReaction;
theIPGenericIon->RegisterMe(theGenIonBC);
G4ProcessManager* pmanager = G4GenericIon::GenericIon()->GetProcessManager();
pmanager->AddDiscreteProcess(theIPGenericIon);
Michael H. Kelsey GEANT4 June 2010 49
Had Physics (II)
WilsonAbrasion
G4HadronInelasticProcess* theIPGenericIon =
new G4HadronInelasticProcess("IonInelastic", G4GenericIon::GenericIon());
// Cross Section Data Set
G4TripathiCrossSection* TripathiCrossSection = new G4TripathiCrossSection;
G4IonsShenCrossSection* aShen = new G4IonsShenCrossSection;
theIPGenericIon->AddDataSet(aShen);
theIPGenericIon->AddDataSet(TripathiCrossSection);
// Model
G4BinaryLightIonReaction* theGenIonBC= new G4BinaryLightIonReaction;
theGenIonBC->SetMinEnergy(0*MeV);
theGenIonBC->SetMaxEnergy(0.07*GeV);
theIPGenericIon->RegisterMe(theGenIonBC);
G4WilsonAbrasionModel* theGenIonAbrasion = new G4WilsonAbrasionModel();
theIPGenericIon->RegisterMe(theGenIonAbrasion);
G4ProcessManager* pmanager = G4GenericIon::GenericIon()->GetProcessManager();
pmanager->AddDiscreteProcess(theIPGenericIon);
Michael H. Kelsey GEANT4 June 2010 50
Had Physics (II)
QMD
G4HadronInelasticProcess* theIPGenericIon =
new G4HadronInelasticProcess("IonInelastic", G4GenericIon::GenericIon());
// Cross Section Data Set
G4TripathiCrossSection* TripathiCrossSection = new G4TripathiCrossSection;
G4IonsShenCrossSection* aShen = new G4IonsShenCrossSection;
theIPGenericIon->AddDataSet(aShen);
theIPGenericIon->AddDataSet(TripathiCrossSection);
// Model
G4QMDReaction* theGenIonQMD = new G4QMDReaction;
theIPGenericIon->RegisterMe(theGenIonQMD);
G4ProcessManager* pmanager = G4GenericIon::GenericIon()->GetProcessManager();
pmanager->AddDiscreteProcess(theIPGenericIon);
Michael H. Kelsey GEANT4 June 2010 51
Had Physics (II)
EMDissociation
G4HadronInelasticProcess* theIPGenericIon =
new G4HadronInelasticProcess("IonInelastic", G4GenericIon::GenericIon());
// Cross Section Data Set
G4EMDissociationCrossSection* theEMDCrossSection =
new G4EMDissociationCrossSection;
theIPGenericIon->AddDataSet(theEMDCrossSection);
// Model
G4EMDissociation* theEMDModel = new G4EMDissociation;
theIPGenericIon->RegisterMe(theEMDModel);
G4ProcessManager* pmanager = G4GenericIon::GenericIon()->GetProcessManager();
pmanager->AddDiscreteProcess(theIPGenericIon);
Michael H. Kelsey GEANT4 June 2010 52
Had Physics (II)
RadioactiveDecay
const G4IonTable *theIonTable =
G4ParticleTable::GetParticleTable()->GetIonTable();
G4RadioactiveDecay *theRadioactiveDecay = new G4RadioactiveDecay();
for (G4int i=0; i<theIonTable->Entries(); i++)
G4String particleName = theIonTable->GetParticle(i)->GetParticleName();
G4String particleType = theIonTable->GetParticle(i)->GetParticleType();
if (particleName == "GenericIon")
G4ProcessManager* pmanager =
theIonTable->GetParticle(i)->GetProcessManager();
pmanager->AddProcess(theRadioactiveDecay);
pmanager->SetProcessOrdering(theRadioactiveDecay, idxPostStep);
pmanager->SetProcessOrdering(theRadioactiveDecay, idxAtRest);
Michael H. Kelsey GEANT4 June 2010 53