Dresden ENLITE 09

Transcription

Dresden ENLITE 09
Introduction
Flint in general
Using Flint
Verification and applications
Integrating Tracking and Beam-Matter Interaction for
Medical Beam Lines
Dresden ENLITE 09
Lucas Clemente
FZD, Dresden
April 3rd 2009
1/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
The General Particle Tracer (GPT)
GEANT4
Challenges of a beamline modelling software
The General Particle Tracer (GPT)
GPT
”A 3D code for accelerator and
beamline design”
Developed for 12 years (in C)
0.02
Sophisticated tracking algorithm
Big repository of elements
accessible
0.01
0.005
x [m]
Good space-charge and multiple
particle tracing
"traj_e-_gpt.txt" u 3:1
0.015
0
-0.005
-0.01
-0.015
-0.02
0
0.5
1
z [m]
2/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
1.5
2
Introduction
Flint in general
Using Flint
Verification and applications
The General Particle Tracer (GPT)
GEANT4
Challenges of a beamline modelling software
The General Particle Tracer (GPT)
How does it work?
5th order Runge-Kutta algorithm
Stepwise tracking of multiple particles through user-defined fields
User interference possible using ”custom elements”
User may specify field components (E, B)
No random but reproducable trajectories of real particles
A Problem
Little to no particle matter interaction possible
3/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
The General Particle Tracer (GPT)
GEANT4
Challenges of a beamline modelling software
The General Particle Tracer (GPT)
How does it work?
5th order Runge-Kutta algorithm
Stepwise tracking of multiple particles through user-defined fields
User interference possible using ”custom elements”
User may specify field components (E, B)
No random but reproducable trajectories of real particles
A Problem
Little to no particle matter interaction possible
3/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
The General Particle Tracer (GPT)
GEANT4
Challenges of a beamline modelling software
The General Particle Tracer (GPT)
4/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
The General Particle Tracer (GPT)
GEANT4
Challenges of a beamline modelling software
GEANT4
GEometry ANd Tracking 4
Toolkit for the simulation of
particle-matter interactions
Developed for 15 years at CERN
(C++)
Advanced geometry system
Proofed correct in many
experiments
5/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
The General Particle Tracer (GPT)
GEANT4
Challenges of a beamline modelling software
GEANT4
How does it work?
Monte-Carlo algorithm
Stepwise tracking of single particles through user-defined geometries
User can overload nearly any class or supply his own (Open-source)
Random particle trajectories, statistical simulation of Monte-Carlo
particles
Some Problems
Only single-particle simulations possible (no space charge, ...)
Modest electromagnetic fields
6/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
The General Particle Tracer (GPT)
GEANT4
Challenges of a beamline modelling software
GEANT4
How does it work?
Monte-Carlo algorithm
Stepwise tracking of single particles through user-defined geometries
User can overload nearly any class or supply his own (Open-source)
Random particle trajectories, statistical simulation of Monte-Carlo
particles
Some Problems
Only single-particle simulations possible (no space charge, ...)
Modest electromagnetic fields
6/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
The General Particle Tracer (GPT)
GEANT4
Challenges of a beamline modelling software
Challenges of a beamline modelling software
Medical beamlines
Compact proton / ion sources require a compact beamline
Scaling of beamlines not possible
Radiation protection!
State of the art
There is no code combining advanced tracking and particle-matter
interactions!
7/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
The General Particle Tracer (GPT)
GEANT4
Challenges of a beamline modelling software
Challenges of a beamline modelling software
Medical beamlines
Compact proton / ion sources require a compact beamline
Scaling of beamlines not possible
Radiation protection!
State of the art
There is no code combining advanced tracking and particle-matter
interactions!
7/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
What is Flint?
FZD Laser Interactor and Tracker
A simulation software fundamentally combining GPT and GEANT4
Features
Tracking massive amounts of particles through complex geometries
All of GPT’s space charge algorithms
Full GEANT4 capabilities in particle-matter interaction
All geometry elements and fields of GPT and GEANT4
Customizability
High-Speed due to parallelization using OpenMP
8/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
What is Flint?
FZD Laser Interactor and Tracker
A simulation software fundamentally combining GPT and GEANT4
Features
Tracking massive amounts of particles through complex geometries
All of GPT’s space charge algorithms
Full GEANT4 capabilities in particle-matter interaction
All geometry elements and fields of GPT and GEANT4
Customizability
High-Speed due to parallelization using OpenMP
8/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
A simple calculation using GPT...
0.02
"traj_e-_gpt.txt" u 3:1
0.015
0.01
x [m]
0.005
0
-0.005
-0.01
-0.015
-0.02
0
0.5
1
1.5
2
z [m]
Figure: Electron beam (γ = 100) passing through two quadrupoles
T
(G = 3.9, −3.25 m
)
9/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
... and Flint
0.02
"traj_gamma_flint.txt" u 4:2
"traj_e-_flint.txt" u 3:1
0.015
0.01
x [m]
0.005
0
-0.005
-0.01
-0.015
-0.02
0
0.5
1
1.5
2
z [m]
Figure: Electron beam (γ = 100) passing through two quadrupoles
T
(G = 3.9, −3.25 m
) and two pinholes (Cu, dz = 2 cm)
10/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Architecture
How is it built?
Problem: GPT only limited extendable
⇒ Custom field elements
GPT is C, GEANT4 is C++
Solution: Link a GEANT4 based library
Other used libraries:
I
I
I
xerces for XML-configuration
CLHEP
OpenMP (included in gcc4)
What is flint?
Flint consists of a GEANT4 based library to be linked into GPT, a GPT
custom element and a bunch of tools for modelling, run and analysis.
11/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Architecture
How is it built?
Problem: GPT only limited extendable
⇒ Custom field elements
GPT is C, GEANT4 is C++
Solution: Link a GEANT4 based library
Other used libraries:
I
I
I
xerces for XML-configuration
CLHEP
OpenMP (included in gcc4)
What is flint?
Flint consists of a GEANT4 based library to be linked into GPT, a GPT
custom element and a bunch of tools for modelling, run and analysis.
11/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Architecture
The element “G4Virtual”
Include GEANT4 just by typing
G4Virtual("WCS", "I");
Program flow
Calculate normal GPT step
After each succesful step do for each particle:
I
I
I
I
12/34
Check for intersection with a GEANT4 solid (pre and post step point)
Use GEANT4 for recalculation of the step
Inject the results of GEANT4 into GPT
Output the particle’s data (e.g. trajectories, dose)
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Architecture
The element “G4Virtual”
Include GEANT4 just by typing
G4Virtual("WCS", "I");
Program flow
Calculate normal GPT step
After each succesful step do for each particle:
I
I
I
I
12/34
Check for intersection with a GEANT4 solid (pre and post step point)
Use GEANT4 for recalculation of the step
Inject the results of GEANT4 into GPT
Output the particle’s data (e.g. trajectories, dose)
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Combined Stepping
A step in Flint
1
Use GPT to track the step
2
Recalculate the step using GEANT4
I
3
Inject the results of GEANT4 into GPT
I
I
I
13/34
tr
Start at pre-GPT-point
Track in direction of post-GPT point
Stop when time exceeds the GPT time
c al
I
k
ac
T heo
re t i
I
An example
Take the new position and velocities
Calculate the rotation of momentum
between pre-GEANT4 and post-GEANT4
Rotate the post-GPT momentum
accordingly
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
GPT
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Combined Stepping
A step in Flint
1
Use GPT to track the step
2
Recalculate the step using GEANT4
I
3
Inject the results of GEANT4 into GPT
I
I
I
13/34
tr
Start at pre-GPT-point
Track in direction of post-GPT point
Stop when time exceeds the GPT time
c al
I
k
ac
T heo
re t i
I
An example
Take the new position and velocities
Calculate the rotation of momentum
between pre-GEANT4 and post-GEANT4
Rotate the post-GPT momentum
accordingly
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
GPT
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Combined Stepping
A step in Flint
1
Use GPT to track the step
2
Recalculate the step using GEANT4
I
3
Inject the results of GEANT4 into GPT
I
I
I
13/34
tr
Start at pre-GPT-point
Track in direction of post-GPT point
Stop when time exceeds the GPT time
c al
I
k
ac
T heo
re t i
I
An example
Take the new position and velocities
Calculate the rotation of momentum
between pre-GEANT4 and post-GEANT4
Rotate the post-GPT momentum
accordingly
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
GPT
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Combined Stepping
A step in Flint
1
Use GPT to track the step
2
Recalculate the step using GEANT4
I
3
Inject the results of GEANT4 into GPT
I
I
I
13/34
tr
Start at pre-GPT-point
Track in direction of post-GPT point
Stop when time exceeds the GPT time
c al
I
k
ac
T heo
re t i
I
An example
Take the new position and velocities
Calculate the rotation of momentum
between pre-GEANT4 and post-GEANT4
Rotate the post-GPT momentum
accordingly
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
GPT
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Combined Stepping
A step in Flint
1
Use GPT to track the step
2
Recalculate the step using GEANT4
3
Inject the results of GEANT4 into GPT
I
I
I
13/34
tr
4
pa
th
c al
al
Ge
an
t
I
Start at pre-GPT-point
Track in direction of post-GPT point
Stop when time exceeds the GPT time
Re
I
Take the new position and velocities
Calculate the rotation of momentum
between pre-GEANT4 and post-GEANT4
Rotate the post-GPT momentum
accordingly
Lucas Clemente - FZD, Dresden
GPT
k
ac
T heo
re t i
I
An example
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Combined Stepping
A step in Flint
1
Use GPT to track the step
2
Recalculate the step using GEANT4
3
Inject the results of GEANT4 into GPT
I
I
I
13/34
tr
4
pa
th
c al
al
Ge
an
t
I
Start at pre-GPT-point
Track in direction of post-GPT point
Stop when time exceeds the GPT time
Re
I
Take the new position and velocities
Calculate the rotation of momentum
between pre-GEANT4 and post-GEANT4
Rotate the post-GPT momentum
accordingly
Lucas Clemente - FZD, Dresden
GPT
k
ac
T heo
re t i
I
An example
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Combined Stepping
A step in Flint
1
Use GPT to track the step
2
Recalculate the step using GEANT4
3
Inject the results of GEANT4 into GPT
I
I
I
13/34
tr
4
pa
th
c al
Take the new position and velocities
Calculate the rotation of momentum
between pre-GEANT4 and post-GEANT4
Rotate the post-GPT momentum
accordingly
Lucas Clemente - FZD, Dresden
t
an
Ge
al
Ge
an
t
I
Start at pre-GPT-point
Track in direction of post-GPT point
Stop when time exceeds the GPT time
Re
I
GPT
k
ac
T heo
re t i
I
An example
Flint - A tool for beamline design
4
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Combined Stepping
A step in Flint
1
Use GPT to track the step
2
Recalculate the step using GEANT4
3
Inject the results of GEANT4 into GPT
I
I
I
13/34
tr
4
pa
th
c al
Take the new position and velocities
Calculate the rotation of momentum
between pre-GEANT4 and post-GEANT4
Rotate the post-GPT momentum
accordingly
Lucas Clemente - FZD, Dresden
t
an
Ge
al
Ge
an
t
I
Start at pre-GPT-point
Track in direction of post-GPT point
Stop when time exceeds the GPT time
Re
I
GPT
k
ac
T heo
re t i
I
An example
Flint - A tool for beamline design
4
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Combined Stepping
A step in Flint
1
Use GPT to track the step
2
Recalculate the step using GEANT4
3
Inject the results of GEANT4 into GPT
I
I
I
13/34
tr
4
pa
th
c al
Take the new position and velocities
Calculate the rotation of momentum
between pre-GEANT4 and post-GEANT4
Rotate the post-GPT momentum
accordingly
Lucas Clemente - FZD, Dresden
t
an
Ge
al
Ge
an
t
I
Start at pre-GPT-point
Track in direction of post-GPT point
Stop when time exceeds the GPT time
Re
I
GPT
k
ac
T heo
re t i
I
An example
Flint - A tool for beamline design
Res
4
ul t
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Secondaries
Secondary particles
GEANT4 produces all kind of secondaries
GPT can only handle massive particles
The solution
Massive particles are injected into GPT
Massless particles are tracked and outputed solely by GEANT4
Recognition of particles
Secondaries have unknown types, GPT does not know particle types
GEANT4 has to recognize the particle type just by mass and charge
Recognition: |∆m| · |∆q| should be minimal
14/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Secondaries
Secondary particles
GEANT4 produces all kind of secondaries
GPT can only handle massive particles
The solution
Massive particles are injected into GPT
Massless particles are tracked and outputed solely by GEANT4
Recognition of particles
Secondaries have unknown types, GPT does not know particle types
GEANT4 has to recognize the particle type just by mass and charge
Recognition: |∆m| · |∆q| should be minimal
14/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
What is Flint?
Architecture
Combined Stepping
Secondaries
Secondaries
Secondary particles
GEANT4 produces all kind of secondaries
GPT can only handle massive particles
The solution
Massive particles are injected into GPT
Massless particles are tracked and outputed solely by GEANT4
Recognition of particles
Secondaries have unknown types, GPT does not know particle types
GEANT4 has to recognize the particle type just by mass and charge
Recognition: |∆m| · |∆q| should be minimal
14/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Design of beamlines
Output
Optimization
Design of beamlines
Input
Only one input file (XML) consisting of:
GDML part (Geometry Description Markup Language, supported
naturally by GEANT4)
GPT part (In general GPT ini file)
Some additional tags controlling Flint
Example: Configuring particles used in GEANT4
<particles>
<particle name="gamma" />
<particle name="e-" />
<particle name="proton" />
</particles>
15/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Design of beamlines
Output
Optimization
Design of beamlines
Input
Only one input file (XML) consisting of:
GDML part (Geometry Description Markup Language, supported
naturally by GEANT4)
GPT part (In general GPT ini file)
Some additional tags controlling Flint
Example: Configuring particles used in GEANT4
<particles>
<particle name="gamma" />
<particle name="e-" />
<particle name="proton" />
</particles>
15/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Design of beamlines
Output
Optimization
Design of beamlines
Example: A pinhole
<tube name="pinhole" z="20.0" rmin="10.0" rmax="100.0" />
<volume name="pinhole">
<materialref ref="Cu" />
<solidref ref="pinhole" />
</volume>
<position name="ph" z="1400.0" />
<physvol>
<volumeref ref="pinhole" />
<positionref ref="ph" />
</physvol>
16/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Design of beamlines
Output
Optimization
Design of beamlines
Example: Two quadrupoles
<gpt>
radius = 6e-3;
setparticles("beam", 100, me, qe, 0.0);
setrxydist("beam", "u", radius/2, radius);
setphidist("beam", "u", 0, 2*pi);
setGdist("beam", "u", 100, 0);
quadrupole("wcs", "z", 0.2, 0.1, 3.90);
quadrupole("wcs", "z", 0.5, 0.2, -3.25);
G4Virtual("wcs", "i");
tout(0, 4e-9, 0.05e-9);
</gpt>
17/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Design of beamlines
Output
Optimization
Design of beamlines
18/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Design of beamlines
Output
Optimization
Output
Current outputs availible
GPT outputs (e.g. Divergence, Emittance, Standard diviations, ...)
Trajectories (seperated by particle type, massless only here) as ASCII
Dose and energy deposition in the geometry as ASCII
Configuration of outputs
<outputs>
<output name="trajectories" />
<output name="dose" x min="-1e3" x max="1e3"
y min="-1e3" y max="1e3" z min="0" z max="2e3"
nx="1000" ny="1000" nz="2000" />
</outputs>
19/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Design of beamlines
Output
Optimization
Output
Current outputs availible
GPT outputs (e.g. Divergence, Emittance, Standard diviations, ...)
Trajectories (seperated by particle type, massless only here) as ASCII
Dose and energy deposition in the geometry as ASCII
Configuration of outputs
<outputs>
<output name="trajectories" />
<output name="dose" x min="-1e3" x max="1e3"
y min="-1e3" y max="1e3" z min="0" z max="2e3"
nx="1000" ny="1000" nz="2000" />
</outputs>
19/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Design of beamlines
Output
Optimization
Optimization
Parallization of the GEANT4 part
GPT
Single particles are independant
GEANT4 and output distributed over
several threads using OpenMP
(previous versions also MPI)
G4
G4
...
G4
G4
Configurable with environment
variables
Out Out ... Out Out
Other optimizations
There are additional optimizations, e.g. for
output, particle exchange, ...
20/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
GPT
Introduction
Flint in general
Using Flint
Verification and applications
Design of beamlines
Output
Optimization
Optimization
Parallization of the GEANT4 part
GPT
Single particles are independant
GEANT4 and output distributed over
several threads using OpenMP
(previous versions also MPI)
G4
G4
...
G4
G4
Configurable with environment
variables
Out Out ... Out Out
Other optimizations
There are additional optimizations, e.g. for
output, particle exchange, ...
20/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
GPT
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Comparison to pure GPT
The quadrupole example
Basically the same world as in a GPT
example: Two quadrupoles
T
(G = 3.9, −3.25 m
) focus a beam of
electrons (γ = 100)
Empty space filled with weak
interacting gas (H2 ), two pinholes (Cu)
0.02
"traj_gamma_flint.txt" u 4:2
"traj_e-_flint.txt" u 3:1
0.015
Possibility to test the stepping
algorithm
0.01
x [m]
0.005
0
-0.005
-0.01
The result
-0.015
Flint and GPT both focus at z = 1.3 m
21/34
Lucas Clemente - FZD, Dresden
-0.02
0
0.5
Flint - A tool for beamline design
1
z [m]
1.5
2
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Comparison to pure GPT
The quadrupole example
Basically the same world as in a GPT
example: Two quadrupoles
T
(G = 3.9, −3.25 m
) focus a beam of
electrons (γ = 100)
Empty space filled with weak
interacting gas (H2 ), two pinholes (Cu)
0.02
"traj_gamma_flint.txt" u 4:2
"traj_e-_flint.txt" u 3:1
0.015
Possibility to test the stepping
algorithm
0.01
x [m]
0.005
0
-0.005
-0.01
The result
-0.015
Flint and GPT both focus at z = 1.3 m
21/34
Lucas Clemente - FZD, Dresden
-0.02
0
0.5
Flint - A tool for beamline design
1
z [m]
1.5
2
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Comparison to pure GPT
0.02
"traj_e-_gpt.txt" u 3:1
0.015
0.01
x [m]
0.005
0
-0.005
-0.01
-0.015
-0.02
0
0.5
1
1.5
z [m]
22/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
2
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Comparison to pure GPT
0.02
"traj_gamma_flint.txt" u 4:2
"traj_e-_flint.txt" u 3:1
0.015
0.01
x [m]
0.005
0
-0.005
-0.01
-0.015
-0.02
0
0.5
1
1.5
z [m]
23/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
2
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Comparison to pure GPT
3
"traj_gamma_flint.txt" u 4:2
"traj_e-_flint.txt" u 3:1
2
x [m]
1
0
-1
-2
-3
0
5
10
15
20
25
z [m]
24/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
30
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Comparison to pure GEANT4
Emittance calculation
Electron-beam with a Gaussian
space-distribution with σ = 0.3 mm,
ε0 = 1 mm mrad, divergence of
190 µrad, γ = 440
Emittance after a thin
(d = (1, 4, 15) µm) aluminium foil is
compared to GEANT4
The result
Both, Flint and GEANT4, produce the same
change in emittance (for 15 µm Al):
ε0 = 81 mm mrad.
25/34
Lucas Clemente - FZD, Dresden
Figure: Phase space
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Comparison to pure GEANT4
Emittance calculation
Electron-beam with a Gaussian
space-distribution with σ = 0.3 mm,
ε0 = 1 mm mrad, divergence of
190 µrad, γ = 440
Emittance after a thin
(d = (1, 4, 15) µm) aluminium foil is
compared to GEANT4
The result
Both, Flint and GEANT4, produce the same
change in emittance (for 15 µm Al):
ε0 = 81 mm mrad.
25/34
Lucas Clemente - FZD, Dresden
Figure: Phase space
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Design of a sample beamline
Designing a sample beamline
Beam: electrons (γ = 100) and
protons (γ = 5)
A pinhole (Cu)
A separating magnetic field
(B = 2 T )
Protons collide into a beam
dump (Pb)
26/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Design of a sample beamline
27/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Design of a sample beamline
"output_gamma" u 4:3:2
"output_e-" u 3:2:1
"output_proton" u 3:2:1
0.4
0.2
0
y [m]
-0.2
-0.4
0.4
0.2
x [m]
0
-0.2
-0.4
0
0.2
0.4
0.6
0.8
1
z [m]
Figure: Also produced: α, e + , neutrons
28/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Design of a sample beamline
"output_gamma" u 4:3
"output_e-" u 3:2
"output_proton" u 3:2
0.4
0.2
x [m]
0
-0.2
-0.4
-0.6
-0.8
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
z [m]
29/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Design of a sample beamline
"output_gamma" u 4:3
"output_e-" u 3:2
"output_proton" u 3:2
0.03
0.02
0.01
x [m]
0
-0.01
-0.02
-0.03
-0.04
0.17
0.18
0.19
0.2
0.21
0.22
z [m]
30/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
0.23
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Design of a sample beamline
"output_gamma" u 4:3
"output_e-" u 3:2
"output_proton" u 3:2
0
-0.01
x [m]
-0.02
-0.03
-0.04
-0.05
0.3
0.31
0.32
0.33
0.34
0.35
0.36
0.37
z [m]
31/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
0.38
0.39
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Design of a sample beamline
"output_gamma" u 4:3
"output_e-" u 3:2
"output_proton" u 3:2
0.15
0.1
x [m]
0.05
0
-0.05
-0.1
-0.15
1
1.1
1.2
1.3
1.4
1.5
z [m]
32/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
1.6
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Outlook
Software impropvements
Some minor and major optimizations
More configurability through XML (perhaps replace GPT ini file)
Major improvements
Use GEANT4’s proposed step length in GPT
More output options (e.g. detailed interaction information)
Use another format than ASCII for output (speedup)
More testing (e.g. tracking ions, fission processes, complex space
charge effects)
33/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
Outlook
Software impropvements
Some minor and major optimizations
More configurability through XML (perhaps replace GPT ini file)
Major improvements
Use GEANT4’s proposed step length in GPT
More output options (e.g. detailed interaction information)
Use another format than ASCII for output (speedup)
More testing (e.g. tracking ions, fission processes, complex space
charge effects)
33/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design
Introduction
Flint in general
Using Flint
Verification and applications
Comparison to pure GPT
Comparison to pure GEANT4
Design of a sample beamline
Outlook
The End
The End
Thank you for your audience!
34/34
Lucas Clemente - FZD, Dresden
Flint - A tool for beamline design