View
216
Download
1
Category
Tags:
Preview:
Citation preview
© Copyright QinetiQ 2006
G4 C-S Biasing Based onthe G4WrapperProcess
Fan LeiGeant4 Biasing Mini Workshop, SLAC21 March 2007
2
© Copyright QinetiQ Plc 2006
Contents
• Introduction
• G4WarpperProcess
• Two Algorithms
• G4XWrapperProcess classes
• Status & Examples
• Discussions
3
© Copyright QinetiQ Plc 2006
Introduction
• C-S biasing is a technique to artificially enhance/reduce the interaction cross-section of a particular process, in order to improve the statistics of a simulation (variance reduction) .
• Use cases:– Thin layer interactions (enhancement)– Thick layer shielding penetration (reduction)– ...
• Other similar variance reduction techniques: forced collisions; path length stretching
4
© Copyright QinetiQ Plc 2006
C-S biasing in Geant4: Background
• Started the discussion in 2001, at the SLAC mini-workshop
– Identified the wrapper approach as the implementation model
– A virtual class G4WrapperProcess was created by H. Kurahige
• Prototype G4XWrapperProcess class created by F.Lei (2003 Triumf workshop)
– Applicable to all discrete processes
• GHAD Implementation by H-P Wellish (2003 Triumf workshop)
– for photo-nuclear processes only
• Further work done to G4XWrapperProcess in ESA REAT-MS project (2006)
5
© Copyright QinetiQ Plc 2006
G4WrapperProcessDoIT ////////////
– virtual G4VParticleChange* PostStepDoIt
– virtual G4VParticleChange* AlongStepDoIt
– virtual G4VParticleChange* AtRestDoIt
GPIL //////////////
– virtual G4double AlongStepGetPhysicalInteractionLength
– virtual G4double AtRestGetPhysicalInteractionLength
– virtual G4double PostStepGetPhysicalInteractionLength
6
© Copyright QinetiQ Plc 2006
C-S Biasing: Algorithms
• No “standard algorithm”. It depends on the application requirements
• Simple application cases: (right)– True PHS (simple)– True Secondary
Radiation (simple)– Both PHS & Secondary
radiation (complicated)
Dete
ctor/sh
ieldIncident
radiation
Edeposition/PHSSecondary radiation
7
© Copyright QinetiQ Plc 2006
Algorithm-1At each step:If the biased process is being selected, the weights of current track and
the secondaries are changed to
w’’ = (1 – exp(-s/x))/(1-exp(-f*s/x) * w
If the process is not being selected, the weight of the current track is changed to
w’ = exp(-(1-f)*s/x) * w
where w: the original parent particle weight
s: the step length
x: the unbiased current interaction length of the process
f: the enhancement factor
Normal scoring for both PHS and fluence
s
wW’’
W’’
Selecteds
w
Unselected
W’
8
© Copyright QinetiQ Plc 2006
Algorithm-2At step level, if the process is selected:
The primary is not killed, but continues its flight with a reduced weight:
The weight of the secondary is
where w: the original parent particle weight
nl: the number of interaction length traversed
f: the enhancement factor
Special scoring is required for PHS
wff
nl
fw ))
11(exp(
1''
wnl
nlf
nl
w)exp(1
)exp()exp(
W’’
W’’
W’
w
9
© Copyright QinetiQ Plc 2006
New Classes
• G4XWrapperProcess– G4XWrapperProcess(const G4String& aName = "X-",G4ProcessType
aType = fNotDefined )
– void SetEnhanceFactor( G4double )
– void SetBiasMode2(G4bool mode)
• G4XProcessManager– void AddDiscreteProcess(G4VProcess*);
– void AddProcess(G4VProcess*, G4int, G4int, G4int);
• G4XProcessManagerMessenger – /xsbias/setProcess LowEnCompton 10 false
10
© Copyright QinetiQ Plc 2006
G4XWrapperProcess – example (GPIL)
11
© Copyright QinetiQ Plc 2006
G4XWrapperProcess – example (DoIt)
12
© Copyright QinetiQ Plc 2006
Impact to Physics List
The only change required
13
© Copyright QinetiQ Plc 2006
Current Status
• Available from http://reat.space.qinetiq/xsbias
– G4XWrapperProcess, G4XProcessManager & G4XProcessManagerMesseneger
– Biased physics list version of
• Exrdm (extended/radioactivity/exrdm)
• MULASSIS
• GRAS
• Limitations:
– Not working for Std-EM after g4.7.0 ( see VI’s presentation)
– Not yet Region/Volume sensitive
14
© Copyright QinetiQ Plc 2006
1 GeV p + 1mm Si Slab
Emission Neutron Spectrum
1.00E-06
1.00E-05
1.00E-04
1.00E-03
0.00E+00 2.00E+05 4.00E+05 6.00E+05 8.00E+05 1.00E+06 1.20E+06
Energy (keV)
neu
tro
ns/
ch/e
ven
t
Biased x 10
Unbiased
PHS
1.00E-07
1.00E-06
1.00E-05
1.00E-04
1.00E-03
1.00E-02
1.00E-01
1.00E+00
0.00E+00 5.00E+04 1.00E+05 1.50E+05 2.00E+05 2.50E+05
Energy (keV)
Co
un
ts/c
h/e
ven
t
Biased x 10
Unbiased
2hrs CPU time for both biased/unbiased simulationsProton elastic/inelastic cross-section x10
15
© Copyright QinetiQ Plc 2006
100 eV n + 1mm Si Slab
2hrs CPU time for both biased/unbiased simulationsNeutron elastic, inelastic and capture cross-sections x10
Emission Gamma Spectrum
1.E-10
1.E-09
1.E-08
1.E-07
1.E-06
1.E-05
0.E+00 2.E+03 4.E+03 6.E+03 8.E+03 1.E+04 1.E+04
Energy (keV)
gam
mas
/ch
/eve
nt
Biased x 10
Unbiased
PHS
1.E-11
1.E-10
1.E-09
1.E-08
1.E-07
1.E-06
1.E-05
1.E-04
1.E-03
1.E-02
0.E+00 2.E+02 4.E+02 6.E+02 8.E+02 1.E+03 1.E+03
Energy (keV)
Co
un
ts/c
h/e
ven
t
Biased x 10
Unbiased
16
© Copyright QinetiQ Plc 2006
100 keV gamma + 0.1mm Si Slab
2hrs CPU time for both biased/unbiased simulationsBoth photo-e & Compton cross-sections x10
Emission Gamma Spectrum
1.00E-09
1.00E-08
1.00E-07
1.00E-06
1.00E-05
1.00E-04
1.00E-03
1.00E-02
1.00E-01
1.00E+00
0.00E+00 2.00E+01 4.00E+01 6.00E+01 8.00E+01 1.00E+02 1.20E+02
Energy (keV)
gam
mas
/ch Biased x 10
Unbiased
PHS
1.00E-07
1.00E-06
1.00E-05
1.00E-04
1.00E-03
0.00E+00 2.00E+01 4.00E+01 6.00E+01 8.00E+01 1.00E+02 1.20E+02
Energy (keV)
Co
un
ts/c
h
Biased x 10
Unbiased
17
© Copyright QinetiQ Plc 2006
Discussions-1:• Simple implementation based on the wrapper
approach
• No change to existing process required and easy to use
• Minimum impact to existing Physics Lists
• Same approach can be used for Forced Interaction biasing
• No special scoring required for algorithm-1 implementation
18
© Copyright QinetiQ Plc 2006
Discussions-2:• Not working with current version of Standard EM
– See Vladimir’s presentaion
• No activation/deactivation for region
• Process based only
– most hadron physics are model based
– expand the biasing mechanism in G4HadronicProcess
• Possible multiple interactions in the volume of interest
– Optimal enhancement factor
– Move the un-interacted part to the next boundary
Recommended